我安装
ubuntu 12.04
与工头规定。安装完成后,出现错误:
无法运行预置命令
执行预置命令
"wget http://foreman.example.com:80/unattened/finish?token=bae86996-5230-433b-84e7-896a5280df75 -O /target/tmp/finish.sh && in-target chmod +x /tmp/finish.sh && in-target/tmp/finish.sh"
失败,退出代码为8
记录阿帕奇:
GET /unattended/finish?token=bae86996-5230-433b-84e7-896a5280df75 HTTP/1.1" 200 1003 "-" "Wget"
GET /unattended/built?token=bae86996-5230-433b-84e7-896a5280df75 HTTP/1.1" 409 1 "-" "Wget/1.13.4 (linux-gnu)"
如何修复此错误?请指导我实现目标的正确方法。
如果主机已处于“构建模式”,则通常会发生这种情况。最简单的解决方案应该是删除 Foreman 中的裸机主机并创建一个新主机。
如果您在预置片段中包含您所属组织无法使用的片段,也可能会发生这种情况。您可以检查组织设置以进一步挖掘。
我在 Foreman 3.7 和 Debian 11.8 上遇到了这个问题。我遇到了失败(退出状态 8),并且在主机的 Foreman UI 中也有两个条目。
在我的例子中,我发现在“管理”->“设置”->“常规”下,我已将“将域名附加到主机”设置为“否”。将其设置回“是”解决了上述行为。
看起来确实应该可以让新主机在工头 UI 中不显示 FQDN 名称,但仍然不会使主机条目增加一倍。但这种方法(在 foreman UI 中显示 FQDN 而不是短名称)对于我的安装来说是可以接受的,所以我没有进一步挖掘。
不过,我要提到的是,我的预置完成脚本正在使用“certname”行填充 puppet.conf,这也可能与此问题有关。 (也就是说,可以通过将“将域名附加到主机”设置保留为“是”但删除“certname”行的显式填充来解决该问题,但我没有测试这种方法.)
我在 Foreman 社区论坛中提供了有关此问题的更多详细信息(https://community.theforeman.org/t/double-entries-for-new-hosts-in-foreman/35432),但这个答案是独立的.