标签: puppet

EC2 Ubuntu 11.10 Puppet主机名名称错误匹配错误

我正在尝试使用Ubuntu 11.10 EC2实例(ami-a562a9cc)配置puppetmaster和puppet客户端.我已启用自动证书签名.但每当我从puppet客户端发出命令:

#puppet agent --server puppet --waitforcert 60 --test

证书已签名但它会引发错误并且不会运行目录文件.

错误信息 :

错误:无法从远程服务器检索目录:hostname与服务器证书警告不匹配:未在失败的目录上使用缓存错误:无法检索目录; 跳过运行错误:无法发送报告:主机名与服务器证书不匹配

在PuppetMaster上应用Manifest文件可以正常工作但不适用于puppetclients.

我已经在亚马逊Linux和Centos上设置了puppet环境,并且它在它们上运行得很好.但我正面临Ubuntu 11.10的这些问题

谢谢Sanket Dangi

certificate hostname puppet amazon-ec2 ubuntu-11.10

0
推荐指数
1
解决办法
1914
查看次数

Puppet代理守护程序没有读取事实(EC2,cloud-init)

我正在使用puppet从facter中读取一个事实,并基于此我将不同的配置应用于我的模块.

问题:

傀儡代理人没有看到这个事实.以puppet agent --test交互方式运行按预期工作.即使从脚本非交互式运行它似乎工作正常.只有代理商本身搞砸了.

处理:

我正在EC2上部署基于Ubuntu的应用程序堆栈.使用userdata(#cloud-config),我在/ etc/environment中设置了一个环境变量:

export FACTER_tl_role=development
Run Code Online (Sandbox Code Playgroud)

然后立即在#cloud-config,i source/etc/environment中.只有那时我才得到安装木偶(我放弃了使用包:木偶来消除#cloud-config步骤序列中的歧义)

一旦实例启动,我确认事实是可用的:运行facter tl_role返回"开发".然后检查/ var/log/syslog,显然木偶代理没有看到这个事实 - 我知道这是因为它无法编译目录,并且没有什么(空白)我应该看到它的价值变量集取决于这个事实.

但是,以puppet agent --test交互方式运行编译并运行目录就好了.甚至从#cloud-config脚本(安装puppet后立即运行)也可以正常运行.

如何向傀儡代理人提供此事实?重新启动代理服务没有任何区别,它仍然没有意识到自定义事实.重新启动实例也没有任何区别.

这是一些代码:

EC2用户数据:

#cloud-config

puppet:
  conf:
    agent:
      server: "puppet.foo.bar"
      certname: "%i.%f"
      report: "true"

runcmd:
- sleep 20
- echo 'export FACTER_tl_role=development' >> /etc/environment
- . /etc/environment
- apt-get install puppet
- puppet agent --test
Run Code Online (Sandbox Code Playgroud)

主要木偶清单:

# /etc/puppet/manifests/site.pp
node default {
case $tl_role {
    'development':  { $sitedomain = "dev.foo.bar"}
    'production':   { $sitedomain = "new.foo.bar"}
} …
Run Code Online (Sandbox Code Playgroud)

environment-variables puppet amazon-ec2 cloud-init facter

0
推荐指数
1
解决办法
1848
查看次数

create_resources - 无法将字符串转换为哈希

我正在使用 elasticsearch-logstash 模块

https://forge.puppetlabs.com/elasticsearch/logstash

这就是我的 hiera 的样子...

---
classes:
  - 'profile::logstash'


profile::logstash::conf:
  package_url: "https://download.elasticsearch.org/logstash/logstash/packages/centos/logstash-contrib-1.4.2-1_efd53ef.noarch.rpm"
Run Code Online (Sandbox Code Playgroud)

这是配置文件中的 logstash.pp

class profile::logstash {

  $conf   = hiera('profile::logstash::conf',{})


  validate_hash($conf)


  create_resources('logstash',$conf)

}
Run Code Online (Sandbox Code Playgroud)

我收到这个错误...

Error: can't convert String into Hash at /tmp/vagrant-puppet-2/modules-0/profile/manifests/logstash.pp:10 on node pw-idx-11.local
Wrapped exception:
can't convert String into Hash
Error: can't convert String into Hash at /tmp/vagrant-puppet-2/modules-0/profile/manifests/logstash.pp:10 on node pw-idx-11.local
Run Code Online (Sandbox Code Playgroud)

更新:

使用这个固定....

class profile::elasticsearch {

  class { '::elasticsearch':
    version => '1.1.1-1'
  }

  $elasticsearch_configs   = hiera_hash('profile::elasticsearch::instance',{})

  validate_hash($elasticsearch_configs)

  create_resources(elasticsearch::instance,$elasticsearch_configs)

  package { 'java-1.7.0-openjdk.x86_64':
    ensure => 'installed'
  }

}
Run Code Online (Sandbox Code Playgroud)

puppet logstash

0
推荐指数
1
解决办法
5555
查看次数

Puppet Nginx安装CentOs

有人可以告诉我为什么这不起作用?这段代码在Ubuntu服务器上工作正常,但在CentOS上崩溃了.我正在运行Puppet版本3.7.2.

node default {
  package { 'httpd':
    ensure => 'absent'
  }

  package { 'nginx':
    ensure => 'installed',
    require => Package['httpd'],
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Error: Execution of '/bin/yum -d 0 -e 0 -y list nginx' returned 1: Error: No matching Packages to list
Error: /Stage[main]/Main/Node[default]/Package[nginx]/ensure: change from absent to present failed: Execution of '/bin/yum -d 0 -e 0 -y list nginx' returned 1: Error: No matching Packages to list
Run Code Online (Sandbox Code Playgroud)

puppet

0
推荐指数
1
解决办法
828
查看次数

如何修复此ruby模板以修复生成的文件的格式?

我正在尝试使用puppet在我的系统上写一个文件,这是声明:

file { '/etc/salt/grains':
  ensure  => present,
  content => template('pp_salt_manager/grains.erb'),
}
Run Code Online (Sandbox Code Playgroud)

这是我真正的短.erb文件:

<% @machine_info.each do |key, value| %>
  <%= "#{key}: #{value}" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

作为参考,这是machine_info:

$machine_info = {'deployment' => 'c7', 'local' => 'US', 'env' => 'stable'}
Run Code Online (Sandbox Code Playgroud)

我的问题是,这是输出文件:

_ # Empty line
  deployment: c7
_ # Another empty line
  local: US
_ # Once again, an empty line
  env: stable
Run Code Online (Sandbox Code Playgroud)

我如何使它看起来像这样:

deployment: c7
local: US
env: stable
Run Code Online (Sandbox Code Playgroud)

提前致谢!

ruby puppet

0
推荐指数
1
解决办法
96
查看次数

如何在自定义因子中读取hiera值

我想从hiera读取我的自定义因子的值.可能吗 ?

我将根据我的hiera值填充一个因子.请查看以下代码供您参考.

require 'facter'

# Default for non-Linux nodes
Facter.add(:jboss_base_algorithm) do
    setcode do
        nil
    end
end

# Linux
#
Facter.add(:jboss_base_algorithm) do
    confine :kernel  => :linux
    setcode do
        Facter::Util::Resolution.exec("/usr/bin/echo '{hiera_value}' | /usr/bin/base64")
    end
end
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢.

puppet facter puppet-enterprise librarian-puppet

0
推荐指数
1
解决办法
644
查看次数

由文件中的更改触发的链接执行程序

我的要求是这样的:

  1. 查找文件 /tmp/file 中的更改
  2. 如果有更改,请按以下顺序执行:
    • 运行命令3
    • 运行命令2
    • 运行命令1
  3. 如果文件 /tmp/file 中没有任何更改,则不执行任何操作。

我的代码是这样的:

exec { 'exec3':
  command => 'command3',
  require => File['file'],
}

exec { 'exec2':
  command => 'command2',
  require => Exec['exec3'],
}

exec { 'exec1':
  command     => 'command1',
  require     => Exec['exec2'],
  subscribe   => File['file'],
  refreshonly => true,
}
Run Code Online (Sandbox Code Playgroud)

但是,无论 /tmp/file 是否发生更改,command3 和 command2 始终会运行。我该如何预防?当 /tmp/file 没有更改时,我不希望在 exec1 中运行“require”。

puppet

0
推荐指数
1
解决办法
1477
查看次数

在 Centos 7 上调用 Puppet 时“找不到命令”

我在 Centos 7 上安装了 puppet,但无法正常拨打电话。

puppet --help
-bash: puppet: command not found
Run Code Online (Sandbox Code Playgroud)

但是当试图从路径调用时,我得到了一个响应:

/opt/puppetlabs/bin/puppet --help

Usage: puppet <subcommand> [options] <action> [options]
Available subcommands:

  agent             The puppet agent daemon
  apply             Apply Puppet manifests locally
Run Code Online (Sandbox Code Playgroud)

可能是路径问题?

puppet centos7

-1
推荐指数
1
解决办法
1035
查看次数

人偶文件 .pp 扩展名

有人可以告诉我什么是木偶文件.pp 扩展名吗?

据我所知,Puppet 不是全名。

如果我错了,请纠正我。

puppet puppet-enterprise

-3
推荐指数
1
解决办法
2404
查看次数