我正在尝试使用Puppet创build一个用户,但是我一直在尝试的一切都失败了。 我正在尝试创build一个名为“capistrano”的用户,该用户将被放置在“www-data”组中。 我做了以下configuration。 class capistranoDeps::user { user { "capistrano": ensure => present, comment => "Capistrano user", gid => 33, shell => "/bin/bash", require => Group["capistrano"], } group {"capistrano": ensure => present, } } class capistranoDeps::config { require capistranoDeps::user # Set permissions on webserver directories file {"/var/www/": ensure => directory, owner => "capistrano", group => "www-data", […]
我正在学习傀儡系统,现在需要做下一个任务。 我们有几台服务器与同一个操作系统(Altlinux p6,t6) – 傀儡代理商,并有一个木偶大师。 在代理上有一些软件包安装,例如。 首先200个包,300秒…但我们只需要180个安装。 我们知道必要包裹的名字,但不知道其他(不必要的包裹)的名字。 我的问题是:如何检查或安装(如果尚未安装)必要的软件包并删除其他软件包(我们不知道其他已安装软件包的名称)? 请帮助 WBR Valentin
我正在安装20台服务器。 在每个特定的用户上,我创build了一个dsa密钥。 我做了每个服务器的cat key.pub到第一个服务器的~/.ssh/authorized_keys 我validation了所有的服务器可以login没有密码的第一台服务器。 使用puppet,我将第一台服务器的.ssh/authorized_key复制到所有其他服务器上。 权限是一样的,600 我无法自动login; 它仍然从服务器到第一个 – 但不是任何其他。 我以用户身份login,SSH到其他服务器 – 它要求我input密码。 我重新启动sshd服务,但无济于事。 / etc / ssh / sshd_config在第一台服务器和其他所有服务器上是相同的。 这是RHEL6。 有任何想法吗? 我做错什么了吗? 这是傀儡文件; 它现在工作 – 我有775根 文件{“/ home / user”: 所有者=>用户, 组=>用户, 确保=>目录, 模式=> 755, } file {“/home/user/.ssh”: 所有者=>用户, 组=>用户, 确保=>目录, 模式=> 700, } file {“/home/user/.ssh/authorized_keys”: 所有者=>用户, 组=>用户, 确保=>文件, 模式=> 600, source =>“puppet://puppet/files/user_sshkeys.txt”; […]
这是我使用puppetd –test连接puppettd时所得到的puppetd –test 。 我在我的客户端的/etc/hosts有一个puppet入口: warning: peer certificate won't be verified in this SSL session warning: peer certificate won't be verified in this SSL session warning: peer certificate won't be verified in this SSL session Exiting; no certificate found and waitforcert is disabled 我不知道为什么会发生。 我的autosign.conf里没有autosign.conf。 没有挂起的证书要签名。 事实上,没有证书请求已经存在。
我有一个在modules/sysctl/manifests/init.pp中定义的types,如下所示: define sysctl($ value = undef,$ ensure = undef){ #父清除的目录 包括sysctl :: base 永久的变化 file {“/etc/sysctl.d/${title}.conf”: owner =>'root', group =>'root', mode =>'0644', content =>“$ {title} = $ {value} \ n”, 确保=> $确保, notify => Exec [“sysctl – $ {title}”], } #即时变化 exec {“sysctl – $ {title}”: command =>“/ sbin / sysctl -w $ {title} = […]
是否有可能将puppet资源引用传递给其他资源? 我的用例是用木偶build立一个jenkins构buildpipe道。 要将jenkins的工作链接到pipe道中,我需要将后继工作交给工作。 定义的一个子集是: jobs::build { "Build ${release_name}": release => $release_name, jenkins_jobs_path => $jenkins_jobs_path, successors => 'Deploy', } jobs::deploy { "Deploy ${release_name}": release => $release_name, jenkins_jobs_path => $jenkins_jobs_path, successors => 'Smoke Test', } 在def中,你会看到我定义了继任者的名字,例如'Deploy',以及第二份工作'Smoke Test'。 我想要做的是传递一个资源的引用,并从中提取名称: jobs::build { "Build ${release_name}": release => $release_name, jenkins_jobs_path => $jenkins_jobs_path, successors => Jobs::Deploy["Deploy ${release_name}"], } jobs::deploy { "Deploy ${release_name}": […]
是否可以dynamic访问类中的variables? 例如: class namespace::hello() { $cow = "moo" $dog = "bark" } $dynamic = 'cow' $value = $namespace::hello::[$dynamic] # doesn't work 我这样做是因为我有他们为每个环境定义variables的类,例如: class company::env::production { $dns = "1.2.3.4" } class company::env::office { $dns = "2.3.4.5" }
我想在Linux上使用Puppet安装Alfresco Linux二进制文件,但我不知道如何在安装时提供参数,如下所示: 你想安装java吗?[y / n] 你想安装postgres吗?[y / n] 你想安装共享吗?[y / n] OpenOffice端口[8081]: Tomcat端口[8080]:..等等。 我怎样才能做到这一点?
我正在对我的httpd和nginx虚拟主机confs进行puppetizing。 现在我有5个服务器,每个都有自己的端口,并运行在server1上,而nginx运行在server2上。 很明显,我需要保持对httpd和nginx的清单调用,因为它们可以在不同的服务器上运行。 我试图做的是共享两个清单之间的端口,所以我需要做的就是将我想要的虚拟主机的名称传递给httpd和nginx,它将在中心位置查找端口。 我正在尝试实现一个自定义函数,目前有这样的设置: # /path/to/puppet/modules/global/lib/puppet/parser/functions/app_to_port.rb module Puppet::Parser::Functions newfunction(:app_to_port, :type => :rvalue) do |args| case args[0] when app_1 return 27960 when app_2 return 27961 end end end # /path/to/puppet/modules/httpd/manifests/vhost/conf.pp … $vhost_port = app_to_port($name) … 我一直遇到各种问题,$ name我一直得到undefined local variable or method 'app_1'错误,如果我传入一个int, $vhost_portvariables永远不会得到一个值。 我是新来的ruby和傀儡,这导致我相信我缺less一些语言或应用程序构造。 我运行ruby -rpuppet /path/to/app_to_port.rb时没有任何回应,这让我相信代码在语法上是正确的。 为了logging,我正在阅读http://docs.puppetlabs.com/guides/custom_functions.html和https://stackoverflow.com/questions/948135/how-to-write-a-switch-statement-in – 让我知道这一点。 目前env:ruby1.8.7和木偶2.7.19
是否有一个现有的puppet模块在集群模式下安装RabbitMQ? 我可以基于我的解决scheme的模块也不错。