BOSH links usage


Casey Hadden <me@...>
 

Hi all,

I have a BOSH release that contains a single controller node and multiple
worker nodes. During job start, the worker nodes need to connect back to
the controller node in order to add themselves as available to receive
work. It seemed like links were a reasonable choice for providing the
address of the controller to the workers.

I've gotten the links to work, but only with a manual network definition.
When I use a dynamic or vip network, the controller address is not provided
to the workers. For dynamic and vip networks, 'bosh task --debug' contains
the link, but address is null:

"links":{"controller":{"networks":["dynamic","vip"],"properties":null,"instances":[{"name":"controller","index":0,"bootstrap":true,"id":"abd8be34-c41d-4a22-bfb2-cf386032c43a","az":null,"address":null}]}}

For a manual network, the address field is populated:

"links":{"controller":{"networks":["manual","vip"],"properties":null,"instances":[{"name":"controller","index":0,"bootstrap":true,"id":"dace9629-606c-4372-98bb-5f8987d612a5","az":null,"address":"192.168.15.4"}]}}

Should this feature work with non-manual networks?

The infrastructure is OpenStack.
bosh status reports - Version 1.3262.3.0 (00000000)
bosh version reports - BOSH 1.3262.4.0

Thanks.
Casey


Dmitriy Kalinin
 

Hey Casey,

- On manual network we currently provide an IP because it's decided by the
Director hence it's very easy to propagate that information to all link
consumers.
- On dynamic networks we provide a DNS address if DNS is enabled (we should
probably make it clear in docs). We are also working on an updated DNS
system that would work with BOSH but be more reliable than PowerDNS.
- On vip networks we probably provide DNS address as well (dont exactly
recall right now).

Longer term plan is to use DNS addresses on all types of networks and have
DNS be enabled by default.

On Tue, Nov 8, 2016 at 11:36 AM, Casey Hadden <me(a)caseyhadden.com> wrote:

Hi all,

I have a BOSH release that contains a single controller node and multiple
worker nodes. During job start, the worker nodes need to connect back to
the controller node in order to add themselves as available to receive
work. It seemed like links were a reasonable choice for providing the
address of the controller to the workers.

I've gotten the links to work, but only with a manual network definition.
When I use a dynamic or vip network, the controller address is not provided
to the workers. For dynamic and vip networks, 'bosh task --debug' contains
the link, but address is null:

"links":{"controller":{"networks":["dynamic","vip"],"
properties":null,"instances":[{"name":"controller","index":
0,"bootstrap":true,"id":"abd8be34-c41d-4a22-bfb2-cf386032c43a","az":null,"
address":null}]}}

For a manual network, the address field is populated:

"links":{"controller":{"networks":["manual","vip"],"
properties":null,"instances":[{"name":"controller","index":
0,"bootstrap":true,"id":"dace9629-606c-4372-98bb-5f8987d612a5","az":null,"
address":"192.168.15.4"}]}}

Should this feature work with non-manual networks?

The infrastructure is OpenStack.
bosh status reports - Version 1.3262.3.0 (00000000)
bosh version reports - BOSH 1.3262.4.0

Thanks.
Casey


Casey Hadden <me@...>
 

Hi Dmitriy,

As you deduced, DNS was disabled on the Director. Once enabled, we're able
to use links with dynamic networks as well.

Thanks for the quick answer.
Casey

On Tue, Nov 8, 2016 at 9:00 PM, Dmitriy Kalinin <dkalinin(a)pivotal.io> wrote:

Hey Casey,

- On manual network we currently provide an IP because it's decided by the
Director hence it's very easy to propagate that information to all link
consumers.
- On dynamic networks we provide a DNS address if DNS is enabled (we
should probably make it clear in docs). We are also working on an updated
DNS system that would work with BOSH but be more reliable than PowerDNS.
- On vip networks we probably provide DNS address as well (dont exactly
recall right now).

Longer term plan is to use DNS addresses on all types of networks and have
DNS be enabled by default.

On Tue, Nov 8, 2016 at 11:36 AM, Casey Hadden <me(a)caseyhadden.com> wrote:

Hi all,

I have a BOSH release that contains a single controller node and multiple
worker nodes. During job start, the worker nodes need to connect back to
the controller node in order to add themselves as available to receive
work. It seemed like links were a reasonable choice for providing the
address of the controller to the workers.

I've gotten the links to work, but only with a manual network definition.
When I use a dynamic or vip network, the controller address is not provided
to the workers. For dynamic and vip networks, 'bosh task --debug' contains
the link, but address is null:

"links":{"controller":{"networks":["dynamic","vip"],"propert
ies":null,"instances":[{"name":"controller","index":0,"
bootstrap":true,"id":"abd8be34-c41d-4a22-bfb2-cf386032c43a",
"az":null,"address":null}]}}

For a manual network, the address field is populated:

"links":{"controller":{"networks":["manual","vip"],"properti
es":null,"instances":[{"name":"controller","index":0,"
bootstrap":true,"id":"dace9629-606c-4372-98bb-5f8987d612a5",
"az":null,"address":"192.168.15.4"}]}}

Should this feature work with non-manual networks?

The infrastructure is OpenStack.
bosh status reports - Version 1.3262.3.0 (00000000)
bosh version reports - BOSH 1.3262.4.0

Thanks.
Casey