Foreman:无法运行预置命令退出代码 8

问题描述 投票:0回答:3

我安装

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)"

如何修复此错误?请指导我实现目标的正确方法。

ubuntu-12.04 theforeman
3个回答
0
投票

如果主机已处于“构建模式”,则通常会发生这种情况。最简单的解决方案应该是删除 Foreman 中的裸机主机并创建一个新主机。


0
投票

如果您在预置片段中包含您所属组织无法使用的片段,也可能会发生这种情况。您可以检查组织设置以进一步挖掘。


0
投票

我在 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),但这个答案是独立的.

© www.soinside.com 2019 - 2024. All rights reserved.