Articles of 木偶

在Puppet中从hiera hash获得价值

我在我的hiera文件中有这样的结构,它在我的smb.conf中创build了一些规​​则。 samba::shares: PDF: – comment = "PDF" – path = /home/smb/pdf – browseable = yes – hide dot files = yes – read only = no – public = yes – writable = yes – create mode = 0775 – printable = no Partage: – comment= "Partage" – path = /home/smb/Partage – browseable = yes […]

木偶大师:具有相同主机名的多个代理

我想使用Puppet master来configuration多个Vagrant开发虚拟机:例如:vagrant会创build一个新的方框,并使用Puppet代理来提供它。 但是,一些testing似乎表明,Puppet主机为每个主机名分配证书,因此如果两个客户机具有相同的主机名,Puppet拒绝下载该目录。 在Puppet代理/服务器上有没有办法允许重复的主机名? 没有任何机密数据正在使用Puppet进行部署,它只是设置存储库并安装所需的软件,所以安全性并不是真正的问题。

一台主机上有多个代理

是否有可能在一个主机上运行两个拥有不同用户权限的多个puppet代理? 我有一个服务器,应该由两个非相关的用户通过木偶pipe理。 (一个开发者用户帐户和一个服务器团队的root帐户)

如何执行/运行木偶类

我是傀儡新手。 我想知道如何执行/运行一个简单的木偶类。 以下是我正在尝试使用的类 puppet apply classExample.pp classExample.pp是写入类的文件。 这段代码只是编译类,没有任何反应。 如何执行这个类? # A class with no parameters class exampleClass { #create a directory file {"create directory": path => '/root/rahil/puppet/puppetDemo/tmp', ensure => "directory", } }

使用Hiera设置全局variables

我想设置Hiera的几个类和资源重复使用的值。 换句话说,通过Hiera设置一个全局参数。 所以,在适当的yaml文件中,我有: myvarr: 'foo' 然后,在清单中,我试着: if $myvar == 'foo' 以及 if $::myvar == 'foo' 无济于事。 这是怎么做的? 看着Puppet文档没有什么帮助,我只看到了基于类的例子。

Puppet – 自定义函数 – 语句 – 错误 – “必须是语句的值…”

看起来很简单… # /path/to/puppet/modules/custom/lib/puppet/parser/functions module Puppet::Parser::Functions newfunction(:release_check) do |args| raise(Puppet::ParseError, "Testing!") end end # /path/to/puppet/modules/mysql/manifests/install.pp class mysql::install { # Doesn't work release_check(1) # Does work, but I don't want anything returned making the assignment superfluous $whocares = release_check(1) } 但是我一直得到这个错误: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Function 'release_check' must be […]

试图运行木偶产量“错误:找不到类”

首先,老实说,我对傀儡世界很新。 我正在尝试为我的服务器构build一个puppet脚本。 这里我的木偶结构是怎么样的 . |– environments | `– example_env | |– manifests | |– modules | `– README.environment |– manifests | |– node.pp | `– site.pp |– modules | |– nginx | | `– manifests | | `– nginx.pp | |– sudoers | | |– files | | | `– sudoers | | `– manifests […]

如何在puppet上隐藏“失败的依赖关系”日志

我想避免(或至less隐藏)木偶上的“失败的依赖关系”日志。 我只想在exec要求为真时才部署文件。 它正在工作,但木偶显示了很多错误/警告日志: Error: /usr/bin/test -e /home/USER returned 1 instead of one of [0] Error: /Stage[main]/Users::Config/Exec[/usr/bin/test -e /home/USER]/returns: change from notrun to 0 failed: /usr/bin/test -e /home/USER returned 1 instead of one of [0] Notice: /Stage[main]/Users::Config/Exec[check_ssh_dir]: Dependency Exec[/usr/bin/test -e /home/USER] has failures: true Warning: /Stage[main]/Users::Config/Exec[check_ssh_dir]: Skipping because of failed dependencies Notice: /Stage[main]/Users::Config/File[/home/USER/.ssh]: Dependency Exec[/usr/bin/test -e […]

自定义木偶事实上的空白值

我知道下面的自定义事实匹配我想要的string,就好像我在$ 1之前添加了“puts”或“print”,它将打印正确的string。 但是,如显示事实没有任何回报。 空白。 Facter.add(:myhost) do confine :kernel => "Linux" setcode do fh = File.open('/etc/enc_params.conf') fh.each_line do |line| if line =~ /\Amyhost.*\s(\w+)\Z/ $1 end end end end

使用Foreman在Puppet中创build新环境不起作用

我是木偶和工头的新手。 我已经在Ubuntu LTS 14.04服务器上安装了带有Foreman的Puppet。 我连接一些客户端并更改主机组。 这工作都很好。 但现在我想在Foreman中创造一个新的环境。 工头向我展示了新的环境,把我的客户放进去之后,他们向我展示了configuration失败。 用agent –test他们说,/ etc / puppet / environments中没有path。 事实上,福尔曼并没有在这里创build一个文件夹或任何环境名称。 所以看起来福尔曼根本不创造环境。 有没有人有一个想法,我该如何解决这个问题? 为什么Foreman不能创造新的环境?