[vagrant@puppetserver ~]$ ls /usr/libexec/mcollective/mcollective/agent/ filemgr.ddl nettest.ddl package.ddl puppet.ddl service.ddl filemgr.rb nettest.rb package.rb puppet.rb service.rb [vagrant@puppetserver ~]$ mco rpc puppet runonce -v The rpc application failed to run: Can't find DDL for agent plugin 'puppet' Can't find DDL for agent plugin 'puppet' (RuntimeError) from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/mcollective/ddl/base.rb:83:in `loadddlfile' <—- 所有需要的软件包都安装好了,我猜。 Package mcollective-puppet-agent-1.11.1-1.el7.noarch already installed and latest version Package […]
希望有人能帮我解决我的问题) 所以,我有几个由puppetpipe理的VHost,包括DNS(unbound)。 一个虚拟主机被删除前一段时间,并最近重新创build新的IP地址(我不能使用旧IP :()。但是,当在puppet运行在DNS服务器上,我得到了下一个错误: Nov 17 15:30:19 dns puppet-agent[39154]: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate declaration: Unbound::Record[host.example.com] is already declared in file puppetdb_entry.pp:13; cannot redeclare at puppetdb_entry.pp:13 on node dns.example.com 这里是puppetdb_entry.pp的内容: define component::unbound::puppetdb_entry ( $hostname, $ipaddress_eth0, $fqdn = $name ) { $desired_fqdn = "${hostname}.${component::unbound::puppetdb_hosts::mock_domain}" unbound::record { $desired_fqdn: type => […]
我想玩傀儡,所以我build立了一个小的testing环境,由4个虚拟机组成 pfSense:路由器 Windows Server 2012 R2:DNS,DHCP Ubuntu服务器16.04:Puppetmaster Ubuntu服务器16.04:傀儡代理 DNS设置正确,它正确回答所有正向和反向查找。 这里是我在两个ubuntu vms上执行的命令(基本configuration) sudo dpkg-reconfigure keyboard-configuration sudo apt-get install -y vim openssh-server ntp sudo dpkg-reconfigure tzdata vi /etc/hostname (set to puppet / puppetclient) sudo reboot now wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb sudo dpkg -i puppetlabs-release-pc1-xenial.deb sudo apt-get update 然后在主人: sudo apt-get -y install puppetserver sudo /opt/puppetlabs/bin/puppet resource service puppetserver ensure=running […]
我想检查“如果目录存在”条件与木偶如何做到这里如何做一个文件/目录存在条件在Puppet? 但是,如果我写 exec { 'check_presence': command => "true", path => ["/usr/bin","/usr/sbin", "/bin"], onlyif => "test -d /test" } file { '/test/123': ensure => directory, mode => '0644', require => Exec['check_presence'] } 从exec我得到alwyas true ,傀儡总是试图创build/testing/ 123 Debug: Exec[check_presence](provider=posix): Executing check 'test -e /test' Debug: Executing 'test -e /test' Error: Cannot create /test/123; parent directory /test does […]
我有一个puppet安装程序,其中每个节点清单被命名为类似 /^web-\d+\.example\.com$/ 我们这样做,所以我们可以启动新服务器以获得更多容量,并使用启动时间戳为每个服务器提供一个唯一的certname 。 这是由于我们无法做到的,所以我们的Puppet安装程序的Hiera部分出现问题 :hierarchy: – "nodes/%{::trusted.certname}" – common 因为我们无法预测所有的certname是什么。 现在我们只是在层次结构中指定每个节点types,但是我们希望能够添加新的节点types,而无需每次都编辑hiera.yaml 。 是否有可能在我们的层次结构中进行某种dynamic查找,使我们能够在不指定每个节点types的情况下dynamic生成certnames?
下面是我的common.yaml文件 — classes: – home_setup::falcon_logical_name home_setup::falcon_logical_name::user: 'falcuat' home_setup::falcon_logical_name::group: 'falcgrp' home_setup::falcon_logical_name::env: falcon_env home_setup::falcon_logical_name::falcon_machine_number: '11' 我想在我的清单中使用这些variables说abc.pp class home_setup::falcon_logical_name($user, $group, $env){ notify {"falcon environment is : ${env}":} } 现在我的问题是,我想分配值env这是common.yaml使用hiera yaml文件中的dynamicvariables falcon_env在pqr.yaml文件中定义如下。 — falcon_env: "uat2" 但在执行上述设置后,“env”值变为“falcon_env”,而不是“uat2”。 我想要common.yaml中的类值从其他hiera文件(例如pqr.yaml)获取值。 请帮助你的例子和语法。
我们所有的〜/ .ssh / authorized_keys都是使用0400模式(用户,只读)创build的。 我们想用Puppetpipe理这些文件,所以我创build了以下内容: class users { user { 'julia': home => '/home/julia', ensure => present, purge_ssh_keys => true, } } ssh_authorized_key { 'julia@dirty': ensure => present, user => 'julia', type => 'ssh-ed25519', key => 'AAAAC3NzaC1lvvvvvvxxxxxO1mXiiyj3Af17MviiiiiiiifffffzU5e//e/ffff/y', } 但是,当我在节点上运行'puppet agent –test'时,出现以下错误: Error: Puppet::Util::FileType::FileTypeFlat could not write /home/julia/.ssh/authorized_keys: Permission denied – /home/julia/.ssh/authorized_keys Error: /Stage[main]/Profile::Base/Ssh_authorized_key[julia@dirty]: Could not […]
我在所有的客户端,debian和CentOS上都得到了这个错误,这个行号取决于为操作系统select了哪种情况。 err:无法运行Puppetconfiguration客户端:/etc/puppet/manifests/nodes.pp:32无效的参数阶段 服务器是CentOS 5.4,包含epel-puppet回购软件包; # rpm -qa | grep puppet puppet-dashboard-1.0.3-3 puppet-2.6.1-0.3.rc3.el5 puppet-server-2.6.1-0.3.rc3.el5 客户是; # rpm -qa | grep puppet puppet-0.25.5-1.el5 和我的代码引导puppet安装在nodes.pp看起来像这样; node default { include puppet if versioncmp($puppetversion, '2.6.0') < 0 { case $operatingsystem { CentOS: { notice('In the centos cases') file { "/etc/puppet/puppet.conf": owner => root, group => root, mode => 644, source […]
我从源代码安装了ruby,并且所有与ruby有关的东西似乎都能正常工作。 我不能安装任何依赖于使用apt的ruby,因为我不想要安装2个ruby版本。 在使用–ignore-depends从dpkg安装mcollective之后,apt-get完全停止工作。 root@puppet:~# apt-get install ganglia-monitor Reading package lists… Done Building dependency tree Reading state information… Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: ganglia-monitor : Depends: libconfuse0 (>= 2.5) but it is not going to be installed Depends: libganglia1 (= 3.1.7-1+b1) but it […]
我刚刚在Ubuntu 10.04 LTS上使用puppet-enterprise-2.0-ubuntu-10.04-amd64.tar.gz(从http://puppetlabs.com/misc/pe-files/下载)安装PE,现在也一样机器正在运行主控,控制台和代理angular色。 我似乎有一个MCollective服务器的问题,即使它似乎开始罚款,不会打开端口61613,因为它应该。 守护从头开始 $ sudo /etc/init.d/pe-mcollective start * Starting mcollective daemon [ OK ] 显示是PS $ ps aux | grep mcol | grep -v grep root 25636 0.0 0.5 64680 12056 ? S 07:21 0:00 /opt/puppet/bin/ruby /opt/puppet/sbin/mcollectived –pid /var/run/pe-mcollective.pid Pid文件包含正确的值 $ sudo cat /var/run/pe-mcollective.pid 25636 但是我没有看到任何进程侦听端口61613 $ sudo netstat -lntp Active Internet connections […]