Comment 4 for bug 1188126

Revision history for this message
Andreas Hasenack (ahasenack) wrote : Re: Juju unable to interact consistently with OpenStack/Quantum deployment where tenant has multiple networks configured

This just hit us as well, and we were not using quantum for networking. It just so happens that the instance was launched with network interfaces on two networks:

+--------------------------------------+-----------------------------+--------+--------------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-----------------------------+--------+--------------------------------------------+
| 6f4d6b79-51bb-4455-8b3c-ebbff9fafd2e | juju-canonistack2-machine-0 | ACTIVE | canonistack=10.55.63.119; lcy02=10.55.32.3 |
+--------------------------------------+-----------------------------+--------+--------------------------------------------+

Then juju tried to connect to 10.55.32.3 one, but nothing was listening there. The instance doesn't even have a second interface to grab that ip.

Seems to be this code here in state/api/apiclient.go:
func Open(info *Info, opts DialOpts) (*State, error) {
    // TODO Select a random address from info.Addrs
    // and only fail when we've tried all the addresses.
    // TODO what does "origin" really mean, and is localhost always ok?
    cfg, err := websocket.NewConfig("wss://"+info.Addrs[0]+"/", "http://localhost/")

It always grabs the first address, whatever it is.