问题标签 [puppet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8551 浏览

puppet - 从模块外部采购 Puppet 文件

我正在从一个模块(Nginx在这种特定情况下)安装一个包,并希望包含一个来自模块外部的配置文件,即来自与顶级files目录平行的顶级manifests目录。尽管没有将其包含在模块中或在我当前的 Vagrant 环境中引用绝对本地路径,但我看不到任何获取文件的方法。

Puppet 是否允许从文档中描述的模块外部获取文件?

0 投票
2 回答
7215 浏览

puppet - Puppet 执行流程

我有这个 node.pp,我想知道 puppet 将如何执行它。

在代理节点上,当我运行它时:

puppet 没有按顺序执行它的意思,它没有先执行 ssh,然后执行 postfix,...

有人知道为什么是这样吗?是因为它被称为“声明性语言”,执行顺序并不重要吗?

如果是这种情况,那么我可以以某种方式,声明我想要的东西,puppet 会弄清楚如何执行它?

0 投票
1 回答
722 浏览

puppet - Puppet 用户 ID 值和包

我正在尝试在 Ubuntu 10.04 上使用 Puppet 执行以下操作:

  1. 将我必须的文件复制到特定目录,该目录将由特定用户/组拥有,由于尚未安装软件包,该用户/组尚不存在
  2. 将软件包安装在不会删除我创建的目录和文件的位置

为了完成第 1 项,我基本上告诉 Puppet 在复制文件之前先创建一个用户和组。但问题是,如果我没有为 Puppet 提供特定的 uid,它会随机选择一个数字,比如用户的数字,而不是系统包的数字。

那么,我如何告诉 Puppet 选择大于 1000 的 uid 呢?

如果这不可能,我如何告诉 Puppet 在安装包时不要启动它。所以我只会让 Puppet 安装包,但不启动服务,然后复制我的文件,然后我将启动服务。

0 投票
1 回答
172 浏览

activeresource - 使用 ActiveResource 操作另一个应用程序的数据库

我来寻求你的集体智慧。

我的目标是一个概述:为了更好地管理各种客户的计算机,我正在尝试扩展 Puppet 的Dashboard。这是一个 Rails 2 应用程序,我正在尝试使用我正在编写的 Rails 3 应用程序来扩展它。有一些问题使 Dashboard 无法满足我的需求,但解决方案很简单。我将专注于一个,因为我觉得这个问题的答案将帮助我弄清楚其余的问题。我一直在寻找根本不改变仪表板代码的解决方案,因为我不是维护者,也不想让未来变得一团糟。

我想了很多关于如何做到最好。我曾想过直接插入数据库,但在谷歌上搜索了一下后我就冷落了。似乎建立第二个数据库连接并不难,我不喜欢的是在另一个应用程序运行时更改它的数据库。如果我基于迷信放弃了一个完全合理的选择,请说些什么。

还有一些其他的想法,但我最终开始并取得了一定成功的想法是通过 REST 访问 Dashboard 的数据库。它是内置的,为什么不使用它?好吧,我能够操纵几张桌子,但不是我想要的那张。所以在这种情况下需要注意三个表。

  1. 节点(基本上是计算机)
  2. node_groups(您可以将计算机放入的组)
  3. node_group_memberships(将 1 和 2 相互关联的连接表)

我可以添加和删除两个节点和 node_groups,但我也希望能够在两者之间创建连接。为了创建一个新用户,我设置了一个如下所示的 ActiveResource 模型:

然后我可以自由地创建新节点,或者通过控制台从节点表中获取信息。它可能看起来像这样:

node_groups 也是如此,我什至可以创建一个不适合 node_group_memberships 的 Rails 3 模型,但我无法在该表中创建任何内容。如果我查看 Rails 2 node_group_membership 控制器(由 Puppet Labs 的好人提供),我可以看到有一个 create 方法

但无论出于何种原因,每次我尝试与这样的东西建立关联时,它都会窒息

任何建议都将不胜感激,我已经花了 8 个痛苦的小时来试图弄清楚。谢谢!

0 投票
1 回答
1768 浏览

puppet - 应该如何配置 Puppet 插件?

如果我通过添加 modulepath / manifestdir 设置将我的 Puppet 模块配置外部化到 Puppet 之外的目录:

代理记录以下错误:

“无法评估:无法从来源 puppet://my-dns-name/plugins 检索信息”

所以看起来他们似乎不再能够找到我在 $modulepath//lib/facter 中安装的 Facter 事实?

如果我注释掉 modulepath / manifestdir 设置并将配置复制回 /etc/puppet 安装目录,则代理工作正常。

我是否可能还需要设置 pluginsource 设置,如果需要,在哪里?任何指针不胜感激!

0 投票
2 回答
631 浏览

rdf - 任何使用 RDF 的配置管理软件?

是否有任何配置管理软件(如PuppetChefPalletSmartFrog等),开源或闭源,使用 RDF 数据模型来描述和配置在其上运行的基础设施和软件?

或者,是否有 RDF 词汇表或 OWL 本体可用于此类领域?

0 投票
1 回答
2214 浏览

amazon-web-services - Amazon VPC 中的 Puppet 行为不一致

我正在 Amazon VPC 中测试 puppet,发现它的行为并不一致。在 Amazon EC2 中,puppet 运行良好。但是在 Amazon VPC 中运行 puppet manifests 时,有时它运行正常……有时不正常。

我觉得这是因为在 Amazon VPC 中没有正确定义 fqdn。

发出“主机名 -f”会引发错误:主机名:名称或服务未知。dnsdomainname 也是如此。

有谁知道如何解决这个问题?

0 投票
1 回答
10072 浏览

puppet - 如何在 puppet 中挂载然后卸载文件系统?

我知道在同一个清单中,资源类型具有唯一的名称。

对于“mount”资源,名称是设备将被安装的路径。

我想用 puppet 做以下事情:

  1. 挂载 NFS 分区
  2. 从这个挂载点执行脚本
  3. 卸载这个分区

所以我声明:

那么,如何卸载 '/mnt/tina' 资源呢?

0 投票
2 回答
5837 浏览

ruby - 如何在 ruby​​ 模板中输出排序的哈希

我正在为我们的一个内联应用程序构建一个配置文件。它本质上是一个 json 文件。我在让 puppet/ruby 1.8 每次都以相同的方式输出 hash/json 时遇到了很多麻烦。

我目前正在使用

但是在输出人类可读的内容时,它并不能保证每次都具有相同的顺序。这意味着 puppet 会经常针对相同的数据发送更改通知。

我也试过

每次都会生成相同的数据/订单。当数据具有嵌套数组时,问题就出现了。

变成

代替

我已经断断续续地为此奋斗了几天,所以需要一些帮助

0 投票
2 回答
1128 浏览

ruby - 将人偶路径映射到绝对路径

我正在尝试为 puppet 编写一个新函数,该函数将 puppet 源路径作为参数,例如:

然后函数需要分析这个目录,所以我需要弄清楚目录的绝对路径,这取决于环境,例如:

我可以使用什么功能来实现这一点?