The mega-watcher for machines does not include containers addresses
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
High
|
Ian Booth | ||
juju-core (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
juju-quickstart (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This bug has two aspects:
- The mega-watcher for units does not include public/private addresses when using the local provider. IIUC those addresses are deprecated in UnitInfo, but using the 1.18 branch I see that PublicAddress and PrivateAddress are still populated when using ec2, while they are are just empty strings on local envs.
- The mega-watcher for machines only includes the addresses retrieved by asking the provider. I guess this is the reason why MachineInfo does not return containers' addresses.
Given the above, there is no way (in 1.18) for API clients to retrieve the addresses of a container (e.g. when the local provider is used).
This means the GUI would not be able to show units' addresses and/or link to the exposed ports.
This also means quickstart is broken when using local environments.
Related branches
- Francesco Banconi (community): Approve
-
Diff: 154 lines (+79/-19)3 files modifiedstate/machine.go (+16/-11)
state/megawatcher.go (+25/-8)
state/megawatcher_internal_test.go (+38/-0)
- Juju Engineering: Pending requested
-
Diff: 164 lines (+82/-19)3 files modifiedstate/machine.go (+19/-11)
state/megawatcher.go (+25/-8)
state/megawatcher_internal_test.go (+38/-0)
- Juju Engineering: Pending requested
-
Diff: 152 lines (+77/-19)3 files modifiedstate/machine.go (+16/-11)
state/megawatcher.go (+25/-8)
state/megawatcher_internal_test.go (+36/-0)
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → High |
tags: | added: addressability api juju-gui |
Changed in juju-core (Ubuntu): | |
status: | New → Triaged |
Changed in juju-quickstart (Ubuntu): | |
status: | New → Triaged |
Changed in juju-core: | |
assignee: | nobody → Ian Booth (wallyworld) |
status: | Triaged → In Progress |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
Changed in juju-quickstart (Ubuntu): | |
status: | Triaged → Fix Committed |
Changed in juju-quickstart (Ubuntu): | |
status: | Fix Committed → Confirmed |
Changed in juju-quickstart (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |
I attached a prototype for a possible fix.
u'NetworkSco pe': u'',
u'Type' : u'ipv4',
u'Value' : u'10.0.3.133'},
{u'NetworkNam e': u'',
u'NetworkSco pe': u'',
u'Type' : u'ipv6',
u'Value' : u'fe80: :216:3eff: fece:7fdd' }],
It seems to work, containers addresses are now included in the mega-watcher for machines.
The only issue, even after applying that patch, is that the NetworkScope for LXC addresses is an empty string, while I expected it to be "public", e.g.:
{u'Addresses': [{u'NetworkName': u'',