标签: puppet

检查是否存在类

如果给定的类存在,是否有办法检入清单文件?

我想做这样的事情:

class foo {
    if exists( Class["foo::${lsbdistcodename}"] ) {
        include foo::${lsbdistcodename}
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我可以轻松添加distrubution/version特定类,然后自动包含这些类.

puppet

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

如何使用puppet删除所有/etc/*.txt文件

/etc/file.txt如果文件存在,这个木偶清单将删除该文件:

  file { "/etc/file.txt":
    ensure  => absent,
  }
Run Code Online (Sandbox Code Playgroud)

如何告诉木偶删除所有文件/etc/*.txt

根据参考资料,似乎puppet file不允许使用通配符. http://docs.puppetlabs.com/references/latest/type.html#file

ps:我知道我可以从puppet执行一个脚本,但我更喜欢另一种更优雅的方式.

puppet

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

自动设置和部署Django项目的好工具

我最初是一名独立的网络开发人员,最近我通过给一个相当简单的网站报价来吓跑客户,这个网站比他们预期的要高很多.基本上是宣传册,他们可以在像Wordpress.com或Google网站这样的托管解决方案中完成自己的工作.除了一个关键特性之外,这让我认为Django非常合适,并且可以激发一些适当的Web开发.

在查看我在粗略估计中列出的任务时,对我来说很明显,那里的大部分时间都不是特定于此客户网站的内容.这让我觉得我应该有一个脚本来自动化设置和部署新的Django项目的过程.

还有一些事情需要手动完成,如:

  • 设置新的VPS(或者在大多数情况下,只使用现有VPS上的虚拟主机).

  • 编辑DNS设置以将clientsdomain.com和test.clientsdomain.com指向新的VPS.

  • 设置SSH密钥

  • 编辑配置文件.

然后脚本会执行以下操作:

  • 在新VPS上安装一些必需的软件包

  • 在新VPS上安装默认的iptables防火墙

  • 为clientsdomain.com和test.clientsdomain.com添加nginx/apache配置

  • 设置新的数据库,用于生产和测试VPS以及在本地计算机上进行开发.

  • 创建一个新的Django项目并将其放在Bitbucket上.

  • 设置settings.py和local_settings.py进行生产,测试和开发

  • 为生产数据库和上传的文件目录设置异地备份例程.

  • 启用一些默认应用:flatpages,admin

  • 添加一些样板模板,几个样板平板和导航栏.

  • 添加960.gs CSS框架

  • 添加jQuery

  • 为搜索设置djapian或Haystack(包括用于自动更新的cron作业).

  • 设置新的Google分析个人资料.

  • 包括在生产,测试和开发之间复制数据库的可能性

  • 设置Pingdom监控

我过去曾经使用RakeFabric来做类似(但不那么雄心勃勃)的东西,我认为Fabric也可能非常适合这个任务,但我仍然喜欢你的输入.还有其他工具我应该研究一下吗?我听说过有关Puppet的好东西,但只是看着他们的网站(它包含了企业这个词)让我觉得这对于一个人操作可能有点过分.

deployment django installation puppet fabric

13
推荐指数
2
解决办法
5588
查看次数

木偶 - 用绑定装载

我有一个500个linux盒子的集群,现在需要使用带有bind选项的mount资源(参见man 8 mount)来支持chroot jail.引导后需要强制执行和维护挂载点.我不确定如何用木偶描述这种状态.是这样的吗?

mount { "/gpfs20/home":
  ensure  => mounted,
  name    => "/chroot/centos5/home",
  fstype  => "none",
  options => "(rw,bind)",
}
Run Code Online (Sandbox Code Playgroud)

TIA - 查尔斯

puppet

13
推荐指数
1
解决办法
3317
查看次数

puppet apt-get只更新一次吗?

我知道在puppet中排序的基本知识是在特定包之前运行apt-get update但是想指定只运行apt-get update一次然后执行其余的puppet文件.那可能吗?

所有上市的方式在这里需要可以运行每个包或使用箭头前apt-get或者需要指定每个包.

puppet apt-get vagrant

13
推荐指数
1
解决办法
6542
查看次数

如何在Puppet 2.7中将数组转换为逗号分隔的字符串

我正在使用Puppet 2.7,我需要将数组转换为逗号分隔列表.

$hosts_fqdn= ['host1','host2','host3']
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为所需的结果: 'host1,host2,host3'

我猜Puppet 3.2提供lambda表达式 - reduce.但不幸的是2.7不可能.

puppet

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

如何使用Puppet在php.ini中设置config = value?

我在Puppet中做了我的第一步并遇到了问题.我已经在Linux服务器上安装了PHP,我想对php.ini文件稍作修改.我不想ini用存储库中的一个覆盖整个文件,只需更改/创建一个简单的配置值.

我想确保,属性upload_max_filesize中的属性php.ini值为10M.

我怎样才能做到这一点?

configuration ini puppet augeas

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

puppet重写bind-address mysql变量

我使用https://github.com/puphpet/puppetlabs-mysql来设置mysql配置,我需要将bind-address变量更改为0.0.0.0.

我试图这样做

mysql::config::override_options {
    'mysqld' : 'bind-address' => '0.0.0.0'
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

你能帮我建议怎么做吗?

先感谢您!

mysql puppet

12
推荐指数
2
解决办法
3586
查看次数

Hiera命令行:如何查看给定节点的层次结构中的所有数据?

只测试hiera,我希望能够查看给定节点的层次结构中的所有可用数据(变量=值对).

我的Hiera层次结构配置为:

---
:backends:
  - yaml
  - json
:yaml:
  :datadir: C:\Puppet\hieradata
:hierarchy: 
  - "Env/%{::env}"
  - common
Run Code Online (Sandbox Code Playgroud)

我可以运行以下命令来返回'some-common'变量的node1值:

>hiera some-common ::env=node1
data
Run Code Online (Sandbox Code Playgroud)

我希望能够看到的是层次结构中node1可用的所有变量=值对,这可能吗?谢谢

puppet hiera

12
推荐指数
1
解决办法
7028
查看次数

Puppetserver服务无法启动

我有一个运行ps.memory = 2048RAM分配的Vagrant CentOS VM .

当我尝试启动puppetserver服务时:

$ puppet --version
4.4.0
$ sudo puppet resource service puppetserver ensure=running
Error: Could not start Service[puppetserver]: Execution of '/bin/systemctl start puppetserver' returned 1: Job for puppetserver.service failed. See 'systemctl status puppetserver.service' and 'journalctl -xn' for details.
Error: /Service[puppetserver]/ensure: change from stopped to running failed: Could not start Service[puppetserver]: Execution of '/bin/systemctl start puppetserver' returned 1: Job for puppetserver.service failed. See 'systemctl status puppetserver.service' and 'journalctl -xn' for details.
service …
Run Code Online (Sandbox Code Playgroud)

java puppet vagrant

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