我正在尝试在我的 Juju 管理的 MAAS 环境中部署 charmed Openstack(按照 Openstack 网站上的部署指南),但有一件事我无法处理。我在为 Vault charm 部署 mysql-router 时遇到了问题。执行循环前的最后一条消息是:
挂钩失败:“安装”
除此之外,当我执行“juju debug-log”时,我收到如下的 python 错误:
unit-vault-mysql-router-2: 12:24:07 ERROR unit.vault-mysql-router/2.juju-log Hook error:
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charms/reactive/__init__.py", line 74, in main
bus.dispatch(restricted=restricted_mode)
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 390, in dispatch
_invoke(other_handlers)
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 359, in _invoke
handler.invoke()
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 181, in invoke
self._action(*args)
File "/var/lib/juju/agents/unit-vault-mysql-router-2/charm/reactive/layer_openstack.py", line 26, in default_install
instance.install()
File "lib/charm/openstack/mysql_router.py", line 224, in install
super().install()
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charms_openstack/charm/core.py", line 638, in install
fetch.apt_install(packages, fatal=True)
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charmhelpers/fetch/ubuntu.py", line 284, in apt_install
_run_apt_command(cmd, fatal)
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charmhelpers/fetch/ubuntu.py", line 778, in _run_apt_command
retry_message="Couldn't acquire DPKG lock")
File "/var/lib/juju/agents/unit-vault-mysql-router-2/.venv/lib/python3.6/site-packages/charmhelpers/fetch/ubuntu.py", line 756, in _run_with_retries
result = subprocess.check_call(cmd, env=env)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['apt-get', '--assume-yes', '--option=Dpkg::Options::=--force-confold', 'install', 'mysql-router']' returned non-zero exit status 100.
unit-vault-mysql-router-2: 12:24:07 ERROR juju.worker.uniter.operation hook "install" (via explicit, bespoke hook script) failed: exit status 1
由于我对 Juju 的东西还不太熟悉,我不知道我还能做些什么来解决这个问题。我的 MAAS 云中的所有主机都是 Ubuntu 18.04,除了 LXD 容器,它们以某种方式部署为 Focal(20.04)。
答案1
我今天偶然发现了同样的问题。 我正在遵循本教程:https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/install-openstack.html。当我查看 vault-mysql-router/0 机器 (juju ssh vault-mysql-router/0) 上的 /var/log/juju 目录中的日志时,我发现存储库中没有软件包候选。我猜想 juju 默认部署 bionic ubuntu,因为 chich mysql-router 不可用(https://jaas.ai/mysql-router显示了一些其他系列,但不是仿生的)。
我通过销毁控制器并使用 --bootstrap-series focal 开关对其进行引导来重新启动整个安装。后来,对于每次部署,我都添加了 --series focal,它使用最新的 Ubuntu LTS 部署了所有魅力。为此,mysql-router 安装正确。这也解决了一些 LXD 容器有焦点系列而其余有 bionic(根据文档,这不好)的问题。
但是我不知道整个安装是否可行。到目前为止,我处于中间阶段(在 RabbitMQ 步骤之后),到目前为止看起来还不错。我必须按照https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/app-certificate-management.html生成自签名 CA 证书并重新颁发,因为 ovn 不想获得该证书,即使保险库已解锁并且 keystone 获得了其证书。