Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple providers error when defining custom params for consume with BOSH 266 #1990

Closed
bandesz opened this issue Jun 26, 2018 · 2 comments
Closed

Comments

@bandesz
Copy link

bandesz commented Jun 26, 2018

Environment

BOSH 266.4.0
Cloud Foundry: cf-deployment v1.38.0
Using BOSH DNS: no
Using Consul DNS: yes

What is the issue

We started to use log-cache (https://github.com/cloudfoundry/log-cache-release) which depends on BOSH links and consumes two jobs: reverse_log_proxy and cloud_controller.

As we don't use BOSH DNS yet we had to override the addresses and the ports for these services.

- type: replace
  path: /instance_groups/name=doppler/jobs/name=log-cache-nozzle/consumes/reverse_log_proxy
  value:
    address: reverse-log-proxy.service.cf.internal
    instances: []
    properties:
      reverse_log_proxy:
        egress:
          port: 8082

- type: replace
  path: /instance_groups/name=doppler/jobs/name=log-cache-cf-auth-proxy/consumes?/cloud_controller?
  value:
    address: cloud-controller-ng.service.cf.internal
    instances: []

This all worked fine while using BOSH 265.2.0, but started to throw the following error with 266.4.0:

- Multiple providers of type 'reverse_log_proxy' found for consumer link 'reverse_log_proxy' in job 'adapter' in instance group 'adapter'. All of these match:
   Deployment: foo, instance group: log-api, job: reverse_log_proxy, link name/alias: reverse_log_proxy
   Deployment: foo, instance group: doppler, job: log-cache-nozzle, link name/alias: reverse_log_proxy
  - Multiple providers of type 'cloud_controller' found for consumer link 'cloud_controller' in job 'scheduler' in instance group 'scheduler'. All of these match:
   Deployment: foo, instance group: doppler, job: log-cache-cf-auth-proxy, link name/alias: cloud_controller
   Deployment: foo, instance group: api, job: cloud_controller_ng, link name/alias: cloud_controller

Is this a bug or are we doing the address override wrong?

Even if we don't use BOSH DNS the addresses for the links still follow a BOSH DNS pattern, e.g. q-s0.api.cf.foo.bosh - how can we configure BOSH to emit the Consul domain names?

@pivotal-jamil-shamy
Copy link
Contributor

@bandesz thanks for reporting this issue. Looks like the manual links introduced under name=log-cache-nozzle/consumes/reverse_log_proxy and name=log-cache-cf-auth-proxy/consumes?/cloud_controller? are also registering themselves as providers that cause this issue.

We will investigate more and submit a fix (if needed). Tracker Story for the issue.

@pivotal-jamil-shamy
Copy link
Contributor

@bandesz The issue should is fixed in 266.6.0 release.
Let us know if that works for you.

alext added a commit to alphagov/paas-bootstrap that referenced this issue Jul 3, 2018
It may have fixed cloudfoundry/bosh#1990

The precompiled release for this doesn't currently exist, so this is
using the non-precomipled version.
henrytk added a commit to alphagov/paas-bootstrap that referenced this issue Jul 12, 2018
We have encountered an issue [1] of a process putting a VM under load that causes
monit to drop the connections. This is fixed in the 266.x series, therefore we
should upgrade to that.

Version 266.6.0 may have fixed another issue as well[2].

[1] cloudfoundry/bosh#1754
[2] cloudfoundry/bosh#1990

For reference, the Precompiled releases are available in the public bucket:
https://s3.amazonaws.com/bosh-compiled-release-tarballs

Version IDs can be extracted using something like:

```bash
aws s3api list-object-versions --bucket bosh-compiled-release-tarballs --prefix bosh-266.6
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants