用stream浪汉testing一个木偶大师

我是新来的傀儡 我读了一堆,设法写一个简单的(可能笨拙的)清单来configuration一个主机和一个类似的简单的结构脚本来处理pre-puppet设置。 太好了,时间更加严肃。 我在apache2下configuration了一个puppet master。 (我在ubuntu 14.04上安装了3.8版的包,感谢来自puppet实验室的deb …)

到目前为止,这么好,但是现在我仍然陷入了一些困境,尽pipe他们正在进行很多的search和比赛。 最终,这归结于如何设置回归testing,以便我相信我总是可以重新创build我的基础。

  1. 木偶大师正在apache2下运行。 我认为这是健康的,尽pipe它不抱怨,我在8140服务。但是我想要一个更好的方式来确认,而不是没有错误。 有没有方法来询问主人的健康?

  2. 我希望能够做自动化testing。 对于代理人(我的(小)舰队中的个别主机),我可以提出stream浪汉的虚拟名称,告诉他们他们的名字是X,然后做一个傀儡申请。 那么我可以看到主机是否按照我期望的主机X的方式出现。然后我可以在虚拟机上运行一个脚本来检查主机应该做的事情。 但我想自动化,但我奇怪的是没有find常见的食谱这样做。 我敢打赌,这不是我需要发明的东西。 任何指针?

  3. 同样的,我也想为主人做自动化testing。 所以这是(1)和(2)在一起,因为我不知道如何testing主。

感谢任何指针。

  1. puppetmaster本身并没有提供太多的信息。 如果您将以下内容添加到/etc/puppet/auth.conf

     path ~ ^/status/no_key$ auth off allow * 

    你应该能够在不提供证书的情况下查询puppetmaster状态(使用allow_ip白名单特定的IP可能是个好主意)

     curl -ksS -H "Accept: pson" https://puppet.example.com:8140/production/status/no_key 

    哪个应该用HTTP 200响应:

     {"is_alive":true,"version":"3.8.1"} 

    除此之外, puppetmaster在YAML中存储大量信息,通常在/var/lib/puppet/reports/ 。 但这些报道并不真正对人类友善。 所以,你可能正在寻找像puppet-dashboard这样的东西,它曾经是官方Puppet发行版的一部分,现在开发成为一个开源项目。

傀儡仪表板

  1. 木偶模块通常使用rspec-puppet进行testing,这是普通Rubytesting框架的扩展。 您可能正在寻找烧杯 ,它结合了stream浪者箱子和rspec-puppettesting。 看看这个教程 。

  2. 当然,你可能不想在生产中debugging你的代码。 错误传播

    有几个select如何解决这个问题。 其中之一是使用r10k或angular色/configuration文件的方法 工作stream程 。 或者,你可以旋转一组stream浪者箱,在本地testing,然后部署。 pipe理使用木偶模块的版本,例如使用puppet-librarian或r10k,这绝对是个好主意。 木偶正在发展,所以首选工具的列表可能会随着时间而改变。