标签: puppet

简单的木偶脚本来复制文件

嗨,我是木偶的新手,并尝试处理样本,将文件从一个位置复制到另一个位置.有任何示例脚本吗?

例如:我的文件位于d:\ temp\test.txt,我想将此文件复制到E:\ mycopy \文件夹.

puppet puppetlabs-apache

10
推荐指数
1
解决办法
2万
查看次数

pip install -r requirements.txt from puppet?

我有一个pip样式的requirements.txt文件,用于跟踪我的python依赖项,我正在将我的开发环境移动到vagrant + puppet.到目前为止,我一直在使用内置于puppet的pip提供程序来安装这样的单个包:

package {
  ["django", "nose"]:
      ensure => present,
      provider => pip
}
Run Code Online (Sandbox Code Playgroud)

是否有可能传递我的requirements.txt并让puppet在文件发生变化时保持包更新?

python pip puppet

10
推荐指数
1
解决办法
3534
查看次数

在Ubuntu 11.04上安装Nginx 1.0.5时如何使用Puppet依赖项

我是Puppet的新手,对使用依赖项有疑问.

我正在使用Puppet在Ubuntu 11.04上安装Nginx 1.0.5.它需要添加一个新的apt存储库,因为natty通常带有Nginx 0.8.在命令行,安装如下:

# apt-get install python-software-properties
# add-apt-repository ppa:nginx/stable
# apt-get update
# apt-get install nginx
Run Code Online (Sandbox Code Playgroud)

所以我写了这个Puppet脚本:

class nginx::install {
  package { "nginx":
    ensure => present,
    require => Exec["nginx_repository"],
  }

  exec { "add-apt-repository ppa:nginx/stable && apt-get update":
    alias => "nginx_repository",
    require => Package["python-software-properties"],
  }

  package { "python-software-properties":
    ensure => installed,
  }
}
Run Code Online (Sandbox Code Playgroud)

该脚本有效,但exec {}指令每次都运行,而不是仅在实际安装nginx时运行.理想情况下,我希望"apt"命令只能在实际的nginx安装之前运行,而不是在简单地检查nginx安装时.

我对通知/订阅模型有基本的了解,但我不确定如何让nginx指令仅在实际安装nginx时发送"通知"信号.

ubuntu nginx puppet ubuntu-11.04

9
推荐指数
1
解决办法
7561
查看次数

安装tarball的木偶食谱

我想通过使用木偶配方来安装apache maven,但我找不到任何关于如何执行此操作的示例.有人可以帮忙吗?Apache maven打包为tar.gz文件.我正在为木偶使用一个独立的设置.

installation recipe tar puppet

9
推荐指数
1
解决办法
6630
查看次数

Puppet重复声明:类[Mongodb]已经声明; 不能重新宣誓

可能在这里做了一些非常愚蠢的事情,但我找不到任何可能导致这种情况的文档.

使用Puppet设置Vagrant VM,我试图覆盖mongodb模块中的特定设置.

据我所知,该repo中的README.md语法不正确(虽然我也尝试过).

我的清单:

include mongodb

class { 'mongodb' :
port => '1111';
}
Run Code Online (Sandbox Code Playgroud)

运行时vagrant up我得到以下错误:

Duplicate declaration: Class[Mongodb] is already declared; cannot redeclare at /tmp/vagrant-puppet/manifests/mongodb.pp:5 on node www
Run Code Online (Sandbox Code Playgroud)

如果我删除配置覆盖它完美的工作,但没有理由不这样做.

puppet vagrant

9
推荐指数
1
解决办法
9205
查看次数

为什么不应该使用Chef/Puppet逐行更改配置文件?

为什么配置文件中的更改行被认为是Chef或Puppet中的反模式?正如我所理解的那样,这就像坏习惯.我假设这个文件编辑是以一些幂等方式和高级工具(例如augeas)完成的.

为什么使用ERB模板部署整个文件被认为是首选方法?

您可以找到很多示例,其中dev-ops建议使用模板而不是文件编辑.例如这里,这里,这里,等.

configuration puppet chef-infra

9
推荐指数
2
解决办法
3526
查看次数

如何通过Vagrantfile更改文件

我不确定我是否应该使用Puppet.我通过provision.sh更新并安装.

我的Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu32"
  config.vm.provision :shell, path: './provision.sh'  
  config.vm.network "public_network"
end
Run Code Online (Sandbox Code Playgroud)

provision.sh

apt-get update
apt-get -y install build-essential git-core python-software-properties nodejs
apt-get -y install vim
apt-get -y install curl
curl https://raw.github.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash
Run Code Online (Sandbox Code Playgroud)

现在我需要在顶部的〜/ .bashrc中添加以下内容.或者我可以准备一个文件.bashrc并用〜/ .bashrc替换它

export RBENV_ROOT="${HOME}/.rbenv"

if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi
Run Code Online (Sandbox Code Playgroud)

然后运行source .bashrc

然后运行以下命令.

rbenv install 2.0.0-p247
rbenv rehash
gem install bundler
bundle
sudo apt-get install libpq-dev 
gem install pg -v '0.15.0'
Run Code Online (Sandbox Code Playgroud)

puppet vagrant

9
推荐指数
1
解决办法
4577
查看次数

pip使用哪些端口?

希望这是一个快速回答的问题,我正在尝试使用puppet在AWS上配置一个框,其中一个步骤涉及从需求文件中进行pip安装.像这样: -

/usr/local/venv/ostcms/bin/pip install -r /vagrant/requirements.txt
Run Code Online (Sandbox Code Playgroud)

该步骤基本上失败,因为它无法找到需求文件中的任何软件包,但是当我打开AWS框的安全组以允许"所有流量"时,pip步骤有效.

我正在尝试找到pip使用的端口,所以我基本上可以拥有该端口,http和ssh在盒子上打开,从此过上幸福的生活.

python pip puppet amazon-web-services vagrant

9
推荐指数
1
解决办法
1万
查看次数

如何动态创建环境变量?

我使用PowerShell脚本来设置一些环境变量 -

$env:FACTER_Variable_Name = $Variable_Value
Run Code Online (Sandbox Code Playgroud)

FACTER用于在puppet脚本中使用它们.

我的问题是 - 变量名和变量值都是动态的,并从文本文件中读取.

我正在尝试使用

$env:FACTER_$Variable_Name = $Variable_Value
Run Code Online (Sandbox Code Playgroud)

但是$是不可接受的语法.当我用双引号括起来时,变量值不会被传递.任何建议如何动态使用它.

提前致谢

powershell puppet

9
推荐指数
3
解决办法
3595
查看次数

Puppet Dashboard - 禁止使用目录索引

我也有关于启动Puppet Dashboard UI的问题,下面是我的配置文件.请有人帮我解决这个问题.

我得到的错误:

[Thu Aug 20 05:25:09 2015] [error] [client 192.168.XXX.XXX] Directory index forbidden by Options directive: /usr/share/puppet-dashboard/public/

下面是我的VirtualHost文件.

# UPDATE THESE PATHS TO SUIT YOUR ENVIRONMENT
#LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-5.0.15
PassengerRuby /usr/bin/ruby

# you may want to tune these settings
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
# PassengerMaxRequests 1000
PassengerStatThrottleRate 120
#RailsAutoDetect On
Listen 3000

<VirtualHost *:3000>
        ServerName puppetma.domain.net
        ServerAlias puppetma
        DocumentRoot /usr/share/puppet-dashboard/public/
<Directory /usr/share/puppet-dashboard/public/>
                Options None
                Order allow,deny
                allow from all
        </Directory>
  ErrorLog /var/log/httpd/puppet-dashboard_error.log
  LogLevel warn …
Run Code Online (Sandbox Code Playgroud)

ruby apache user-interface dashboard puppet

9
推荐指数
1
解决办法
170
查看次数