使用 juju-core 1.20.x 重启后 Landscape 无法运行

使用 juju-core 1.20.x 重启后 Landscape 无法运行

我使用 Ubuntu 的 Autopilot (openstack-install) 安装了 Openstack。第一个环境的引导程序称为“maas”,是一台虚拟机,我从 openstack-installer 包中的工具文件夹中获取。

该 VM 中有六个容器,每个容器都有一个服务(apache2、haproxy、landscape、landscape-msg、postgresql 和 rabbitmq-server)。从 Landscape 容器“启动”另一个环境(在我的例子中称为“8”),其中有所有的 OpenStack 服务。

在我第一次重启之前,一切都运行正常。Landscape 无法访问,原因是对于 juju 来说,landscape 的 IP 为 10.0.3.1,这是桥 (lxcbr0) 的 IP 地址,而不是它的 eth0 IP 地址(在我的情况下是 10.222.221.140)。结果如何?当它尝试连接到 Landscape 时,它​​转到了 10.0.3.1,因此它转到了 VM,而不是运行 Landscape 的容器。

我发现这是一个 juju-core 错误,根据https://bugs.launchpad.net/juju-core/+bug/1416928,所以我将 juju-core 从 1.20.x 更新到了 1.21.3。重新启动后,它获取了正确的 IP,如下所示:

    $ 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

问题是现在该服务没有运行:

景观/0:代理状态:错误代理状态信息:'挂钩失败:“配置已更改”'代理版本:1.21.3.3机器:0/lxc/2公共地址:10.222.221.140

我尝试过juju resolved --retry landscape/0,但没有效果。有什么线索可以解释为什么会发生这种情况吗?

答案1

很高兴您能够使用较新版本的 Juju。

您粘贴的日志似乎是machine-0.log,我们实际上需要查看/var/log/juju/unit-landscape-0.log。如果有人再次看到此内容,请尝试以下操作:

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

这将在您的控制台上向您显示有关为什么无法启动的更多详细信息。

相关内容