问题标签 [theforeman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1101 浏览

ruby - 无法列出 puppet 环境:无法查询 Puppet 查找环境 API (400):环境必须是纯字母数字,而不是“v2.0”

我收到以下错误:

错误——:无法列出木偶环境:无法查询木偶查找环境 API(400):环境必须是纯字母数字,而不是“v2.0”

错误原因描述在: http ://projects.theforeman.org/projects/foreman/wiki/ERF12-2749

建议的解决方法:确保在使用 Puppet 3.6+ 和目录环境(“environmentpath”设置)时拥有 foreman-proxy 1.5.2 或更高版本。

我的环境拓扑

--- IP1 上带工头的傀儡大师

--- 在连接到 IP1 的 IP2 上带有 Foreman 代理的 Puppet Master

两个 puppet master 都配置为具有相同的目录环境路径。我可以从工头所在的 IP1 导入类。但不是来自仅安装了工头代理的 IP2。

我可以看到 IP2 注册到 IP1。

尝试从 IP1 上的工头导入来自 IP2 的 puppet 类会引发上述错误。

尝试从 IP1 列出 IP2 的 puppet 环境的命令:(这是为了复制我在 CLI 的工头中遇到的错误)

ip2 代理日志中报告的错误:

在工头中导入类时出错:

如果您认为这是 Foreman 本身的错误,请使用 Foreman 票务系统打开一个新问题,您可能需要附加完整跟踪和相关日志条目。

0 投票
1 回答
1202 浏览

theforeman - 运行自己的 shell 脚本并与 Foreman 一起编排它们

有什么方法可以在 Foreman 中运行我自己的脚本吗?例如采取一些特定的行动或在一些更新后检查一切是否正确。

0 投票
1 回答
1492 浏览

puppet - 工头与 Puppet 节点 Net::HTTPNotFound 错误

根据官方文档,我已经在 RHEL 7.1 VM 上安装了工头(v1.9.0)。

我当前的环境包括:

  • 1 x 木偶大师/工头
  • 2 个代理(RHEL 6.5 和 7)

Foreman 被配置为 ENC,它将为 9 个环境(包括生产环境)提供服务。已在工头中为工头/puppetmaster 配置了智能代理。

代理在生成 CSR 并让 puppet master 签名方面没有问题。

当我使用命令在远程机器上运行 puppet 代理时

我收到以下错误

警告:无法获取我的节点定义,但代理将继续:

警告:服务器上的错误 400:无法通过 exec 找到 <代理 FQDN>:执行“/etc/puppet/node.rb <代理 FQDN>”返回 1:

在 puppet master 上运行引用的命令

返回错误:

检索节点 <代理 FQDN> Net::HTTPNotFound 时出错

查看 Foreman 的 /var/log/foreman/production.log 了解更多信息。

在网络上研究此错误“ Foreman with puppet node.rb error 404 Not Found ”提供了 puppet master 不知道代理的标准响应(DNS、/etc/hosts)。在我的情况下,这不是问题,因为对 puppetmaster 运行相同的 node.rb 命令会返回相同的错误。一个简单的 ping 测试确认 DNS 设置正确。

虽然 /var/log/httpd/foreman-ssl_access_ssl.log 中生成了 http 404 错误,但当此操作失败时,/var/log/foreman/production.log(inc 调试)中不会生成日志

<IP> - - [30/Sep/2015:15:13:29 +1000] GET /node/<代理 FQDN>?format=yml HTTP/1.1" 404 48 "-" "Ruby"

node.rb 引用 foreman.yaml 与列出的条目相关,我可以确认如下:

  • :网址:
  • :ssl_ca:
  • :ssl_cert:
  • :ssl_key:
  • ETC

它也是安装过程生成的默认文件,没有任何更改。

代理在工头中,但是为了实现这一点,一旦我配置了 puppet.conf 并生成/签署了代理证书,我运行了命令

在我手动运行命令之前,代理没有导入工头

在工头中调用其中一个主机,然后单击“YAML”会显示每个代理的正确信息。

我什至使用 openssl 从证书中提取信息以确认它们是正确的。

更新:

我已经运行了命令

curl -k https://< Puppet Master FQDN>/foreman

这将返回输出

这会在 ~/foreman/production.log 中生成日志条目

2015-10-01 10:04:57 [应用] [我] | | 在 2015-10-01 10:04:57 +1000 2015-10-01 10:04:57 [app] [I] DashboardController#index as / 2015处理 < PUPPET MASTER IP> -10-01 10:04:57 [app] [I] 重定向到 https://< PUPPET MASTER>/foreman/users/login 2015-10-01 10:04:57 [app] [I] 过滤器链停止as :require_login 呈现或重定向 2015-10-01 10:04:57 [app] [I]Completed 302 Found in 7ms (Active Record: 0.6ms)

在 ~/httpd/foreman-ssl_access_ssl.log 我明白了

< PUPPET MASTER IP> - - [01/Oct/2015:10:05:26 +1000] "GET /foreman/ HTTP/1.1" 302 129 "-" "curl/7.29.0"

同一日志中的其他相关日志条目将是

< PUPPET MASTER IP> - - [01/Oct/2015:09:53:28 +1000] "POST /api/hosts/facts /HTTP/1.1" 404 27 "-" "Ruby"

< PUPPET MASTER IP> - - [01/Oct/2015:09:53:28 +1000] "GET /node/< PUPPET MASTER>?format=yml HTTP/1.1" 404 52 "-" "Ruby"

所以要问的问题是我可以对 Puppet/Foreman HTTP 配置做些什么来解决 404 错误

0 投票
0 回答
898 浏览

linux - 工头/木偶:无法看到“所有主机”中的节点或代理

我已经配置了工头主节点和工头节点。我可以在“智能代理选项卡”中看到已签名的证书,但在“所有主机”中看不到我无法监控我的客户(我只能看到工头大师和他们的报告)

puppet agent --test 成功。请帮我解决一下这个。

0 投票
1 回答
449 浏览

ubuntu - 如何将两个虚拟机主机添加到工头木偶大师

我最近在 ubuntu 14.04 LTS 中安装了工头木偶,我在虚拟盒中运行。我已将其 FQDN 配置为127.0.1.1 ubuntu.localhost.com ubuntu.

我成功地在里面安装了工头木偶。所以我们在这里运行 puppet master,对于 puppet agent,我们使用命令运行一次puppet agent --test,所以基本上 puppet agent 和 puppet master 在同一台机器上。puppet master 在本地连接到工头,工头在https://ubuntu.localhost.com本地运行。

我基本上在运行windows7,并在其中安装了virtual box,然后我正在访问ubuntu。所以,现在我想向我的 puppet master 添加一个新主机,并且我还想通过 foreman 访问它。

为此,我使用 ubuntu 14.04 LTS 创建了新的虚拟机。如何将此新 VM 添加到我的 puppet master 并使其充当 puppet 代理?我已将此新 VM 的 FQDN 设置为127.0.1.2 ubuntuLight.localhost.com ubuntuLight.

0 投票
1 回答
1206 浏览

ruby - 在工头智能类参数中使用木偶/事实事实?

如何在工头智能类参数中使用像 ${$::hostname} 这样的 puppet/facter 事实?

我已经尝试过 $hostname 和 $::hostname 以及我能想到的几乎所有变体!我什至浏览过 Google 和 Foreman 的文档和错误报告。肯定有一个简单的答案吗?

0 投票
1 回答
332 浏览

puppet - Create parameters from an array?

I'm new to ruby and I'm writing a puppet module to be accessed via Foreman.

I writing it to be used by Foreman's Smart Class Parameter so it can be configured from the Foreman web console.

I was trying to see how I could create a parameter for 48 possible ports a device might have. Instead of manually entering the ports I was wondering if it is possible to do this dynamically.

For example instead of this:

I want to do this:

Following a commenter's suggestion I tried this, but it doesn't not work:

0 投票
1 回答
367 浏览

puppet - 更改工头 UI 以忽略 Puppet 资源“通知”消息

我们使用 Puppet + Foreman 通过检查自定义事实来监控环境变化。例如,只要自定义事实等于“真”,puppet 就会调用 Notify 资源,并向代理日志发送一条消息。Puppet 在代理报告中包含此消息,Foreman 在 UI 中显示此消息。

问题在于,每当抛出消息时,Foreman 都会将此操作视为“已应用”,并且节点状态会更改为“活动”(蓝色图标)。我们希望将节点保持在“无更改”(绿色)并显示通知消息。

这在某种程度上可能吗?也许定义一个新的自定义资源类型?

这是木偶代码:

在此处查看 Foreman 的屏幕截图

更新:我会细化这个问题:有没有办法在不导致 puppet 报告节点已更改的情况下使用 Notify 资源?意思只是将消息打印到客户端日志(因此消息将在报告中可见)但没有 puppet 将事件分类为应用配置?

原因是当 puppet 触发 Notify 资源时,Foreman 将节点标记为活动(已更改)

更新#2 我正在考虑更改工头报告文件,以便 UI 将忽略通知事件,以便节点的状态将保持不变,但仍会在报告中显示消息。有人可以指出我正确的方向吗?谢谢!

更新 #3 从“通知”资源类型切换到由 Puppet Forge 中的某个家伙创建的自定义类型“回声”后修复了问题。谢谢!

0 投票
1 回答
6473 浏览

puppet - 将现有 VM 添加到 TheForeman

我最近在服务器上安装了工头,我想在工头中添加一个现有的虚拟机作为主机,但似乎我无法通过 GUI 实现这一点。我发现的唯一选择是添加新主机,而不是现有主机。我的虚拟机也没有向 puppet master 注册。我是否需要在我的 VM 上安装 puppet 并将其手动添加到工头包含的 puppet master 中?有没有更简单的方法可以用工头的 GUI 来做到这一点?

0 投票
1 回答
2737 浏览

puppet - Puppet 4 的仪表板

不幸的是,The Foreman仍然不支持 Puppet 4,而且在可预见的未来似乎也不会支持。我们非常喜欢我们自己和使用我们 Puppet 平台的许多开发人员的监控功能(尤其是查看 Puppet 过去运行的结果)。

有人对 Puppet 4 的仪表板替代方案有任何经验吗?在考虑不同团队拥有的大约 200 台不同机器时,是否有其他方法可以轻松跟踪 Puppet 运行的结果?