调试裸机 (ironic) inspector 服务¶
Ironic Python Agent 调试日志¶
如果 IPA 失败,日志文件将被写入到负责 Ironic 节点部署的 conductor 节点上的 /var/log/ironic。
收集了大量有用的信息,包括从主机获取的 journal 日志副本。
部署期间暂停¶
为了暂停部署,可能需要登录正在运行 IPA 的 Ironic 节点进行诊断工作,可以通过 OpenStack CLI 或 Horizon Web 界面在节点上启用 maintainance (维护模式)。
Ironic 状态机在维护模式关闭之前不会再次改变状态,由 IPA 的心跳触发。请注意,在关闭维护模式后,您可能需要等待最多一个心跳周期才能恢复部署。
登录 IPA¶
在部署或清理 ironic 节点期间,为了执行诊断步骤,能够从控制器登录到部署镜像启动后的节点可能会很有帮助。
要构建启用 dynamic-login 元素的部署镜像版本,在这种情况下,在 Rocky Linux 主机上构建
dnf install python3-virtualenv git qemu-img
virtualenv venv
source ./venv/bin/activate
pip install ironic-python-agent-builder
export DIB_REPOREF_ironic_python_agent=origin/stable/zed
export DIB_REPOREF_requirements=origin/stable/zed
ironic-python-agent-builder -e dynamic-login -o my-login-ipa --extra-args=--no-tmpfs --release 8-stream centos
一旦 IPA 内核和 initramfs 构建完成,就将它们上传到 glance,并将其设置为 Ironic 节点在部署期间登录的部署内核/initramfs。
创建一个用于登录 Ironic 节点的密码
openssl passwd -1 -stdin <<< YOUR_PASSWORD | sed 's/\$/\$\$/g'
在 /etc/openstack_deploy/user_variables.yml 中设置 IPA 内核参数上的调试选项,将刚刚生成的加密密码替换到 rootpwd 字段中。确保加密密码用双引号括起来。
ironic_ironic_conf_overrides:
# Set a password on the root user in IPA for debug purposes
pxe:
kernel_append_params: 'ipa-debug=1 systemd.journald.forward_to_console=yes rootpwd="<password-string>"'
注意
您必须将此覆盖与任何现有的 ironic_ironic_conf_overrides 定义结合起来。
将配置文件更改部署到 Ironic 控制平面。
现在可以清理或配置节点,可能通过在节点上启用维护模式来暂停部署,然后使用先前加密的密码作为 root 用户通过 SSH 登录到节点。