Manually provisioned machines with multiple networks cannot connect to API server after reboot

Bug #1414710 reported by Kyle Fazzari
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Won't Fix
Medium
Unassigned

Bug Description

I have two machines with two NICs each. Each NIC is hooked up to a different network:

Network A (eth0): Internet access only. Machines cannot communicate with each other.
Network B (eth1): Local network (no internet access). Machines _can_ communicate with each other.

Both machines were manually provisioned, so I setup my Juju environment:

    $ juju generate-config
    $ juju switch manual

I then updated the config to point to one of my machines via the

    manual:
            type: manual
            bootstrap-host: 192.168.56.100
            bootstrap-user: my-user
            storage-listen-ip: 192.168.56.100

Then I bootstrapped:

    $ juju bootstrap

It ran fine, and became Machine 0. I then added the second computer to Juju:

    $ juju add-machine ssh:my-user@192.168.56.101

That also ran fine, becoming Machine 1. Juju status showed that both machines were up, and Machine 1's log had several lines like this:

    2015-01-26 14:32:38 INFO juju.state.api apiclient.go:242 dialing "wss://192.168.56.100:17070/"
    2015-01-26 14:32:38 INFO juju.state.api apiclient.go:176 connection established to "wss://192.168.56.100:17070/"

All good!

Then I rebooted both machines. Then juju status showed this:

    $ juju status
    environment: manual
    machines:
      "0":
        agent-state: started
        agent-version: 1.20.14
        dns-name: 192.168.56.100
        instance-id: 'manual:'
        series: trusty
        hardware: arch=amd64 cpu-cores=1 mem=994M
        state-server-member-status: has-vote
      "1":
        agent-state: down
        agent-state-info: (started)
        agent-version: 1.20.14
        dns-name: 192.168.56.101
        instance-id: manual:192.168.56.101
        series: trusty
       hardware: arch=amd64 cpu-cores=1 mem=994M
services: {}

Machine 1 was down. So I checked its log, and it was filled with lines like this:

    2015-01-26 14:51:12 INFO juju.state.api apiclient.go:242 dialing "wss://10.0.2.15:17070/"
    2015-01-26 14:51:12 ERROR juju.worker runner.go:218 exited "api": unable to connect to "wss://10.0.2.15:17070/"

Note that 10.0.2.15 is the bootstrap server's eth0 address into Network A, where the machines cannot communicate.

Also note:

    $ juju api-endpoints --refresh
    192.168.56.100:17070

Why does the API server address change after a reboot? How can I set which network to use for Juju?

Revision history for this message
Curtis Hovey (sinzui) wrote :

This bug is probably a duplicate of bug 1303204, but this issue clearly describes the problem, where as the other bug prescribes a solution. I believe fixing this bug implicitly addresses the request for the feature in bug 1303204

tags: added: manual-provider network
Changed in juju-core:
status: New → Triaged
importance: Undecided → Medium
Curtis Hovey (sinzui)
tags: added: manual-story
Changed in juju-core:
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.