我在Ubuntu上使用puppet。 有没有办法在传输文件之前validation代理上是否有足够的磁盘空间? file { "/etc/hosts1": mode => 440, owner => root, group => root, onlyif => 'grep -c old_account /etc/passwd', source => "puppet:///modules/mymodule/testfile" } 谢谢。
没有突然改变任何puppetconfiguration,当创build导出的SSH密钥时,我们的某些主机以“Could not evaluate:Field”键为“必需”错误开始,但有趣的是并非所有主机上的所有SSH密钥都失败,这里的一个例子是密钥都成功和失败创build: Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Info: Caching catalog for srvadx-green-7zhg.c.ligatus-prod-bidder-server.internal Info: Applying configuration version '1511609586' Notice: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-w5ld]/ensure: created Info: Computing checksum on file /etc/ssh/ssh_known_hosts Info: FileBucket got a duplicate file {md5}17787ff909a06cf0243c18cf33f1c384 Error: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-w5ld]: Could not evaluate: Field 'key' is required Notice: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-88kp]/ensure: created Error: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-88kp]: Could not evaluate: […]
我试图用傀儡来pipe理一个樱桃的服务。 但是,应用configuration时,樱桃最终没有PID文件,虽然进程已启动并正在运行。 由于PID文件丢失,我不能再使用/etc/init.d/mycherryd stop停止进程(除非我修改手工init脚本来查找带ps的PID)。 $ /etc/init.d/mycherryd status cherryd dead but subsys locked 问题似乎是puppet正在尝试刷新/重新启动cherry(由configuration文件中的更改触发)立即确保它正在运行(如清单中指定),并且cherrypy无法停止并启动(重新启动)本身,同时仍然执行启动过程。 这个问题是否有明确的解决scheme? 这是一个樱桃方面的错误,或者我可以写一个木偶清单,所以刷新只有在服务启动和运行后才被调用? 任何build议表示欢迎。 樱桃日志 看到cherrypy在启动过程中如何捕获到SIGTERM,并且仍然开始收听。 :cherrypy.error[18666] 2010-02-12 13:10:23,551 INFO: ENGINE Listening for SIGHUP. :cherrypy.error[18666] 2010-02-12 13:10:23,552 INFO: ENGINE Listening for SIGTERM. :cherrypy.error[18666] 2010-02-12 13:10:23,552 INFO: ENGINE Listening for SIGUSR1. :cherrypy.error[18666] 2010-02-12 13:10:23,552 INFO: ENGINE Bus STARTING :cherrypy.error[18671] 2010-02-12 13:10:23,554 INFO: ENGINE Daemonized […]
考虑这两个Puppet模块文件: # File modules/a/manifests/b/c.pp class a::b::c { include b::c } # File modules/b/manifests/c.pp class b::c { notify { "In b::c": } } 看来,当Puppet在类a::b::c碰到include b::c指令时,它通过从当前类向后查找来search对应的* .pp文件,并且决定它find位于的正确的文件../../b/c.pp 。 换句话说,它将b::cparsing为相同的* .pp文件,使得include b::c语句出现在: modules/a/manifests/b/c.pp 我期望它(并希望它),而不是find并加载文件modules/b/manifests/c.pp 有没有办法让木偶做到这一点? 如果没有,在我看来,模块名称中可能不包含任何其他模块名称,这是一个相当令人惊讶的限制。
我忘了在site.pp中放置节点命令,如下所示: class emacs { package { emacs: ensure => installed } } node default { include emacs } 原始问题 : 我在我的工作站上安装了puppetd和puppetmaster。 我正在运行Fedora14,木偶,傀儡版本0.25.5。 当我运行木偶大师和木偶时,我在/ var / log / messages中得到这个: Apr 20 08:51:31 localhost puppetmasterd[4734]: Reopening log files Apr 20 08:51:31 localhost puppetmasterd[4734]: Starting Puppet server version 0.25.5 Apr 20 08:51:43 localhost puppetd[4768]: Reopening log files Apr […]
我正在查看几个pipe理ec2实例的工具: 需求: 1)我应该能够剥离一个新的实例,新的实例获得所有需要的configuration。 2)我应该能够对所有机器进行一次更改,其中包括:在所有实例上运行命令并返回结果。在所有机器上推送代码更改或安装新软件,并返回结果。 3)检查所有机器的健康状况。 我正在看的工具是维权,傀儡和纳吉奥斯。 正如我开始一个新的公司预算是相当紧张,所以寻找一些开源解决scheme,并有较less的学习曲线。 请指教我使用这些工具。 提前致谢..
由于某种原因,不能够启动木偶客户端…已经删除/ var / lib / puppet和/ etc / puppet / ssl …辞职的证书,同样的问题…. puppetd –no-daemonize –debug –server puppet debug: Failed to load library 'shadow' for feature 'libshadow' debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist debug: Puppet::Type::User::ProviderLdap: true value when expecting false debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist debug: Puppet::Type::User::ProviderPw: file pw does not exist debug: […]
所以情况就是这样。 我在CentOS 5.7 64位上运行Puppet,在puppet master上我也有puppet-dashboard,但是当我尝试启动它时,我看到以下内容: [root@puptest-master puppet-dashboard]# script/server -e production NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from ./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21. NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01. Gem::SourceIndex#initialize called from ./script/../config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will […]
我有一个独特的情况。 我们的系统团队负责pipe理我们的主要木偶大师,开发团队对于所有事情都很好,但是他们正在考虑使用它来控制台式机上的某些元素,同时还要连接到我们的中央木偶大师。 因为我们不想让他们进入我们的木偶大师的变化..有没有一种傀儡从节点直接导入清单的方式? 正如在开发者机器上,他们把一个文件“/root/development.pp”或者什么,然后在我们的木偶大师,我们把类似的东西 node { "developermachine": # Do the majority of normal things # import "/root/development.pp" } 我们有几个不同的select,我们可以采取安全的写入访问傀儡清单,但如果傀儡支持这样的事情,它可能是最干净的我们。 任何帮助表示赞赏:)
为了这个问题的目的,我需要区分我的制作木偶大师和我的发展木偶大师。 无论哪种情况,我的/etc/puppet/puppet.conf是: [main] ssldir=$vardir/ssl [master] certname=puppet 开发木偶大师正在运行: # puppetmasterd –debug –no-daemonize 生产木偶大师是一个瘦/ nginx的事情。 相关的nginxconfiguration文件: # /etc/nginx/sites-enabled/default upstream puppet-production { server unix:/var/run/puppet/master.00.sock; server unix:/var/run/puppet/master.01.sock; server unix:/var/run/puppet/master.02.sock; } server { listen puppet:8140; include conf.d/puppet_ssl.conf; include conf.d/puppet_proxy_set_header.conf; default_type application/x-raw; location /production/file_content/ { rewrite ^/production/file_content/([^/]+)/(.*) /$1/files/$2; break; root /etc/puppet/modules/; } location / { proxy_pass http://puppet-production; } } 和 # […]