Articles of 木偶

木偶包括/需要木偶实验室的模块

你如何创build一个“使用”傀儡伪造模块之一的傀儡清单? class foo { include puppetlabs-git (<- this doesn't work) #https://forge.puppetlabs.com/puppetlabs/git package {'openssl-devel': ensure => latest, } #package {'git': (<- commented out because it seems like there is a better way using puppet forge) # ensure => installed, #} } class {'foo': } http://docs.puppetlabs.com/learning/modules1.html 包含和要求在傀儡之间有什么区别

使用Puppet来安装initdb并启动Postgres数据库

我们正在尝试编写一个Puppet来configuration虚拟机。 其中一个任务是安装和填充Postgres数据库。 我们可以把这个任务分解成几个更小的任务: 安装 在initdb 开始 用数据填充数据库(来自生产数据库的pg_dump) 看来Puppet将负责第1步:安装。 我们是否应该使用Puppet来执行第2,3,4步?

如何使用saz-sudo木偶模块来部署我自己的sudoers文件与hiera?

我已经安装了saz-sudo,并且已经创build了一个基于(我希望)的site_sudo模块。 这是我在我的site_sudo / manifest / init.pp文件中有什么: class { 'site_sudo': } sudo::conf { 'web': source => 'puppet:///files/etc/sudoers', } sudo::conf { 'syseng': priority => 10, content => "%sysadm ALL=(ALL) NOPASSWD: ALL", } include sudo 不pipe我做什么,目标上的sudoers文件总是被saz-sudo模块的sudoers.rhel6文件覆盖。 我也使用common.yaml: classes: – site_sudo

什么是out_of_sync傀儡资源?

在puppet_run_summary.yaml报告中,其中一个资源类别是out_of_sync。 这是什么意思?

Puppet在Centos中没有识别软件包(它存在于yum中)

我正在尝试在Centos上使用puppet安装一个软件包。 软件包可以使用yum install来安装(sudo yum install bash-completion),但木偶说它不存在! (当我试图安装其他几个软件包时,我也遇到了这个问题)。 这是我正在使用的: file { '/etc/bash_completion.d/symfony2-autocomplete.bash': ensure => present, owner => 'vagrant', group => 'vagrant', mode => '0777', require => Package['bash-completion'], content => template('extras/symfony2-autocomplete.bash'), } 有没有可用的木偶包列表? (或者我可能忘了把某个地方包括在内?) 谢谢!

了解Puppet中的导出资源

为了理解Puppet中的导出资源,阅读了以下文档 。 在阅读文档后,理解是出口资源包括声明和收集。 尝试 基于对Puppet中导出资源的文档和理解,创build了以下代码: class test { @@file { "/tmp/$hostname": } File <<| |>> } 预期 期望是一个文件/ tmp / vm-one将被创build 当前 没有文件被创build [vagrant@vm-one modules]$ sudo puppet agent -t Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Info: Caching catalog for vm-one.domain Info: Applying configuration version '1421499164' Notice: Finished catalog run in 0.10 seconds

木偶:如何解决“无效的资源typesfile_line”?

我有一个新configuration的Puppet服务器,只configuration了一个模块和一个受pipe客户端。 这是一个MOTD模块,看起来像这样: class motd { file { "/etc/custom_motd.sh": path => '/etc/custom_motd.sh', ensure => present, owner => "root", group => "root", mode => "775", content => template('motd/custom_motd.sh.erb'), #require => Class['nagios_client'], } # file_line { 'enable motd': # ensure => present, # line => '/etc/custom_motd.sh', # path => '/etc/profile', # require => File['/etc/custom_motd.sh'] # } } 当我在客户端运行puppet […]

木偶可以这样configuration吗?

这整个设置在INTRANET。 我正在研究SuSe Linux平台(SLES / SLED)。 最近有一些软件包因为一些问题而不得不更新。 所以这次我们可以手动进入桌面并逐一更新软件包。 由于在这个时候台式机的数量不是那么有可能,但是在接下来的时间里,台式机的数量将会达到1000甚至更大。 所以我被要求find一些东西,我可以无缝地将更新推送到所有连接的桌面。 我遇到了对我来说听起来不错的Puppet ,看来它可以做这个工作。 因为这是一个INTRANET设置,所以我打算有一个集中的服务器,将有一定的位置(例如:/ var / www / updates)更新(例如.apache新版本),我会做puppet相同的服务器。 而所有其他桌面将连接到这个中央服务器来获取任何更新。 现在,我有一个在我的中央服务器authentication的更新,我应该如何确保更新的软件包(任何rpm / etc)被推送/安装到所有其他桌面? 我该写什么课? 我可以编写任何从某个位置(/ var / www / updates)获取rpm的类并在其他桌面上执行rpm -UVH xxxxx.rpm吗? 如果是朝着错误的方向走,请做一些其他的解决scheme。 任何帮助深表感谢。 谢谢,

什么决定了客户端上的Puppet pluginsync目录结构?

我正在使用木偶2.6.8。 我在主控和客户端上都有pluginsync=true 。 我已经创build了一个模块和一个types的生活在木偶: /etc/puppet/modules/mymodule/lib/puppet/type/mytype.rb 同步在客户端上工作,但types在客户端上结束: /var/lib/puppet/lib/puppet/type/mytype.rb 但我希望它住在这里: /var/lib/puppet/mymodule/lib/puppet/type/mytype.rb 所以它不会与其他模块的types相冲突。 我一定错了什么东西,但是我不知道是什么。

木偶yum回购 – 拉下2.7.x与3.0.x

所以几个星期前我开始使用puppet来自动化所有的configuration/服务。 当时我正在使用EPEL回购,其中安装版本2.6.x. 经过一番阅读之后,我试图通过puppet stdlib访问flatten方法,并认为它在新的2.7.x版本中是默认可用的。 所以我用下面的设置添加了一个puppet回购: [puppetlabs] name=Puppet Labs Packages baseurl=http://yum.puppetlabs.com/el/$releasever/products/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs 与此问题,它是安装v3.0.x而不是2.7.x. 显然,3.0.x是几个星期前才发布的主要升级版本。 很明显,我宁愿在接下来的几个月里使用2.7.x,而PuppetLabs修复主要版本之后不可避免会出现的任何缺陷。 所以我的问题是,我可以添加到puppet repoconfiguration只下拉2.7.x分支而不是3.0.x分支的设置?