我做到了这一点: $worker_name = { "app-fr" => { host => [ "app01/10.2.0.1/8009", "app02/10.2.0.2/8009" ] }, "app-uk" => { host => [ "app09/10.2.0.5/8009", "app10/10.2.0.6/8009" ] } } 我想要“app01 / 10.2.0.1 / 8009”和“app02 / 10.2.0.2 / 8009”。 目标是为mod_jk构build一个workers.properties文件。 我试试这个: <% keys = worker_name.keys %> <% for key in 0…keys.length %> Key :<%= keys[key] %> Host : <%= worker_name[keys[key]]['host'][key] […]
我有一个像这样的定义: define user::sys_user($fullname, $uid, $groups, $shell='/bin/bash', $authkey, $authkey_type=rsa) { $username = "sys_${name}" group { $username: gid => $uid, } user { $username: require => Group[$username], ensure => present, uid => $uid, gid => $uid, groups => $groups, comment => $fullname, shell => $shell, managehome => true, allowdupe => false, } ssh_authorized_key { "${username}_authkey": user => […]
我想用augeas改变php.ini中的session.save_path 默认: session.save_path="/var/lib/php5" 目标价值 session.save_path="3;/var/lib/php5sessions" augeas返回相当有趣的结果 不工作命令(保存失败) set /files/etc/php5/apache2/php.ini/Session/session.save_path '"3;/tmp"' set /files/etc/php5/apache2/php.ini/Session/session.save_path '"3\;/tmp"' set /files/etc/php5/apache2/php.ini/Session/session.save_path \"3;/tmp\" 部分工作命令(保存工作,但不是所需的结果) set /files/etc/php5/apache2/php.ini/Session/session.save_path '"/tmp/test"' 有没有办法强制augeas只是设置给定的string的值,不要试图吐出来 编辑:错误报告链接: https : //fedorahosted.org/augeas/ticket/243
我已经写了一个自定义的puppet函数,它工作正常,取决于cloudservers gem(一个Rackspace客户端库)。 如果我在运行puppet之前在服务器上预先安装了gem,但是如果我没有安装gem,就好像在“编译”扫描过程中似乎正在运行的function完全中断,而且在我的包定义已经实现之前就完成了。 这是我的.pp的样子,get_hosts是需要cloudservers gem的函数。 package { "rubygems": ensure => installed, provider => "gem"; } package { "cloudservers": ensure => installed, provider => "gem", require => Package["rubygems"]; } class hosts::us { $hosts = get_hosts("us") hostentry { $hosts: } } define hostentry() { $parts = split($name, ',') $address = $parts[0] $ip = $parts[1] $aliases = $parts[2] […]
我试图删除生产RHEL / CentOS机器上使用Puppet(我不能安装操作系统)的XWindows和Gnome等不必要的服务。 从我所能告诉的,“groupremove”不被支持/推荐,因为它不完全是“groupinstall”的“反面”。 然后有一个像rpm -q –group "User Interface/X"这样的命令,我相信它应该使用exec {},但是必须有一个更好的方法来完成它,因为我确信它一定是做了什么相当有规律。 任何人? 非常感谢!
我有一个傀儡客户端“我的客户端”,证书名称是“my-clients-certname”,而不是与主机名相同。 傀儡客户端和傀儡服务器一直在这样的工作很好。 但是,现在我想开始在客户端使用puppetrun,这是一个意想不到的错误。 从服务器,如果我尝试运行puppetrun,这就是我所看到的: [root@puppetmaster ~]$ puppetrun –debug –host my-client Triggering my-client Host my-client failed: Server hostname 'my-client' did not match server certificate; expected my-clients-certname my-client finished with exit code 2 Failed: my-client 我想如果我添加–certname = my-clients-certname参数,应该工作,但我得到相同的'不匹配的服务器证书输出。 [root@puppetmaster ~]$ puppetrun –debug –certname=my-clients-certname my-client Triggering my-client Host my-client failed: Server hostname 'my-client' did not match server certificate; […]
具体来说,如果我在升级,我想要目录A,并在QA目录B: file{'/etc/appenv': ensure => file, owner => 'root', group => 'root', mode => 0644, source => "file:///puppet/modules/myapp/appenv-${env}", } 我现在只有一台机器需要这个特定的环境。 我读过木偶:可变的压倒一切的最佳实践 ,但我认为阶段应该用于这个目的。
我们在运行不同代码的客户端networking中有几套应用服务器。 每套都有Dev,UAT和Prod,我们正在networking之外开发。 目前,我正在通过citrix手动将各种代码更新从我的开发盒(默认主设备)推送到每个设备的开发服务器上的共享目录,基于date的变化,并从那里到其他每个服务器随着代码循环的进行而转变。 这对一套是好的,但现在变得痛苦和容易出错。 我想知道人们认为什么是可行的select。 我们对应用服务器的外部访问是有限的,或者没有外部访问(所以像Chef托pipe的东西将是困难的),并且在networking中没有任何描述的nix盒子,不幸的是我可以用作厨师或Puppet的主人。 别人在用什么? 有什么build议么? 彼得。
我试图确保一个目录存在一个安装,然后也更新该安装发生后,该目录的权限。 我收到以下错误: err: Failed to apply catalog: Cannot alias File[pre_eos_mount] to ["/var/tmp/eos"] at /etc/puppet/modules/mymodule/manifests/eos.pp:29; resource ["File", "/var/tmp/eos"] already declared at /etc/puppet/modules/mymodule/manifests/eos.pp:47 我想要做这样的事情: 文件{$ eos_mount: 确保=>'目录', mode =>'1777', owner =>'root', group =>'root', } mount {$ eos_mount: 确保=>“挂载”, 设备=> $ lv_device, fstype => $ fstype, options =>'defaults,noatime,nodiratime', require => File [$ eos_mount], 通知=>文件['post_eos'], } 文件{'post_eos': path=> $ […]
我有一个关于Puppet 3.0.1configuration的非常基本的问题。 我用2个代理(CentOS和Windows 7)设置了一个木偶主服务器(CentOS),所有3个都可以ping通和访问对方。 根本没有错误。 我已经复制/etc/puppet/files/test2.txt文件 我的/etc/puppet/manifests/site.pp包含这些行: node default { file { "/tmp/testmaster.txt": owner => root, group => root, mode => 644, source => "puppet:///files/test2.txt" } } 但是一旦运行puppet agent –test ,就不会在/tmp/代理服务器上创build文件 这里是输出: [root@agent1 ~]# puppet agent –test Info: Retrieving plugin Info: Caching catalog for agent1.mydomain.com Info: Applying configuration version '1354267916' Finished catalog run in 0.02 […]