Ubuntu – Landscape is not running after a reboot with juju-core 1.20.x

jujulandscapemaasopenstack-autopilot

I installed Openstack with Ubuntu's Autopilot (openstack-install). The bootstrap from the first environment, called "maas" is a VM, that I took from the tools folder insdide the openstack-installer package.

inside that VM are six containers and every one of each has a service (apache2, haproxy, landscape, landscape-msg, postgresql and rabbitmq-server). From the landscape container is "launched" another environment (called "8" in my case), where are all the openstack services.

Everything worked fine until my first reboot. Landscape was unreacheable and the reason was that for juju, landscape has the IP 10.0.3.1, which is the bridge (lxcbr0) IP adress instead of it's eth0 IP address (10.222.221.140 in my case). What was the result? when it tried to connect to landscape, it went to 10.0.3.1, so it went to the VM instead of the container where landscape is running.

I figured out that was a juju-core bug, according to https://bugs.launchpad.net/juju-core/+bug/1416928, so I updated from juju-core 1.20.x to 1.21.3. Reboot and it took the correct IP, as you can see here:

    $ JUJU_HOME=~/.cloud-install/ juju status landscape/0
    environment: maas
    machines:
      "0":
        agent-state: started
        agent-version: 1.21.3.3
[...]
        containers:
          0/lxc/2:
            agent-state: started
            agent-version: 1.21.3.3
            dns-name: 10.222.221.140
[...]
    services:
      landscape:
[...]
        units:
          landscape/0:
[...]
            public-address: 10.222.221.140

The problem is that now the service is not running:

landscape/0:
agent-state: error
agent-state-info: 'hook failed: "config-changed"'
agent-version: 1.21.3.3
machine: 0/lxc/2
public-address: 10.222.221.140

I've tried with juju resolved --retry landscape/0, but is not working.
Any clues why this is happening?

Best Answer

Glad you got it working with a more recent version of Juju.

The log you pasted appears to be machine-0.log, we actually needed to see /var/log/juju/unit-landscape-0.log. If someone sees this again, something to try is:

juju run --service landscape,landscape-msg 'sudo lsctl restart'

Which should show you more details on your console on why things are failing to start.