问题标签 [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.
puppet - 从模块外部采购 Puppet 文件
我正在从一个模块(Nginx
在这种特定情况下)安装一个包,并希望包含一个来自模块外部的配置文件,即来自与顶级files
目录平行的顶级manifests
目录。尽管没有将其包含在模块中或在我当前的 Vagrant 环境中引用绝对本地路径,但我看不到任何获取文件的方法。
Puppet 是否允许从文档中描述的模块外部获取文件?
puppet - Puppet 执行流程
我有这个 node.pp,我想知道 puppet 将如何执行它。
在代理节点上,当我运行它时:
puppet 没有按顺序执行它的意思,它没有先执行 ssh,然后执行 postfix,...
有人知道为什么是这样吗?是因为它被称为“声明性语言”,执行顺序并不重要吗?
如果是这种情况,那么我可以以某种方式,声明我想要的东西,puppet 会弄清楚如何执行它?
puppet - Puppet 用户 ID 值和包
我正在尝试在 Ubuntu 10.04 上使用 Puppet 执行以下操作:
- 将我必须的文件复制到特定目录,该目录将由特定用户/组拥有,由于尚未安装软件包,该用户/组尚不存在
- 将软件包安装在不会删除我创建的目录和文件的位置
为了完成第 1 项,我基本上告诉 Puppet 在复制文件之前先创建一个用户和组。但问题是,如果我没有为 Puppet 提供特定的 uid,它会随机选择一个数字,比如用户的数字,而不是系统包的数字。
那么,我如何告诉 Puppet 选择大于 1000 的 uid 呢?
如果这不可能,我如何告诉 Puppet 在安装包时不要启动它。所以我只会让 Puppet 安装包,但不启动服务,然后复制我的文件,然后我将启动服务。
activeresource - 使用 ActiveResource 操作另一个应用程序的数据库
我来寻求你的集体智慧。
我的目标是一个概述:为了更好地管理各种客户的计算机,我正在尝试扩展 Puppet 的Dashboard。这是一个 Rails 2 应用程序,我正在尝试使用我正在编写的 Rails 3 应用程序来扩展它。有一些问题使 Dashboard 无法满足我的需求,但解决方案很简单。我将专注于一个,因为我觉得这个问题的答案将帮助我弄清楚其余的问题。我一直在寻找根本不改变仪表板代码的解决方案,因为我不是维护者,也不想让未来变得一团糟。
我想了很多关于如何做到最好。我曾想过直接插入数据库,但在谷歌上搜索了一下后我就冷落了。似乎建立第二个数据库连接并不难,我不喜欢的是在另一个应用程序运行时更改它的数据库。如果我基于迷信放弃了一个完全合理的选择,请说些什么。
还有一些其他的想法,但我最终开始并取得了一定成功的想法是通过 REST 访问 Dashboard 的数据库。它是内置的,为什么不使用它?好吧,我能够操纵几张桌子,但不是我想要的那张。所以在这种情况下需要注意三个表。
- 节点(基本上是计算机)
- node_groups(您可以将计算机放入的组)
- node_group_memberships(将 1 和 2 相互关联的连接表)
我可以添加和删除两个节点和 node_groups,但我也希望能够在两者之间创建连接。为了创建一个新用户,我设置了一个如下所示的 ActiveResource 模型:
然后我可以自由地创建新节点,或者通过控制台从节点表中获取信息。它可能看起来像这样:
node_groups 也是如此,我什至可以创建一个不适合 node_group_memberships 的 Rails 3 模型,但我无法在该表中创建任何内容。如果我查看 Rails 2 node_group_membership 控制器(由 Puppet Labs 的好人提供),我可以看到有一个 create 方法
但无论出于何种原因,每次我尝试与这样的东西建立关联时,它都会窒息
任何建议都将不胜感激,我已经花了 8 个痛苦的小时来试图弄清楚。谢谢!
puppet - 应该如何配置 Puppet 插件?
如果我通过添加 modulepath / manifestdir 设置将我的 Puppet 模块配置外部化到 Puppet 之外的目录:
代理记录以下错误:
“无法评估:无法从来源 puppet://my-dns-name/plugins 检索信息”
所以看起来他们似乎不再能够找到我在 $modulepath//lib/facter 中安装的 Facter 事实?
如果我注释掉 modulepath / manifestdir 设置并将配置复制回 /etc/puppet 安装目录,则代理工作正常。
我是否可能还需要设置 pluginsource 设置,如果需要,在哪里?任何指针不胜感激!
amazon-web-services - Amazon VPC 中的 Puppet 行为不一致
我正在 Amazon VPC 中测试 puppet,发现它的行为并不一致。在 Amazon EC2 中,puppet 运行良好。但是在 Amazon VPC 中运行 puppet manifests 时,有时它运行正常……有时不正常。
我觉得这是因为在 Amazon VPC 中没有正确定义 fqdn。
发出“主机名 -f”会引发错误:主机名:名称或服务未知。dnsdomainname 也是如此。
有谁知道如何解决这个问题?
puppet - 如何在 puppet 中挂载然后卸载文件系统?
我知道在同一个清单中,资源类型具有唯一的名称。
对于“mount”资源,名称是设备将被安装的路径。
我想用 puppet 做以下事情:
- 挂载 NFS 分区
- 从这个挂载点执行脚本
- 卸载这个分区
所以我声明:
那么,如何卸载 '/mnt/tina' 资源呢?
ruby - 如何在 ruby 模板中输出排序的哈希
我正在为我们的一个内联应用程序构建一个配置文件。它本质上是一个 json 文件。我在让 puppet/ruby 1.8 每次都以相同的方式输出 hash/json 时遇到了很多麻烦。
我目前正在使用
但是在输出人类可读的内容时,它并不能保证每次都具有相同的顺序。这意味着 puppet 会经常针对相同的数据发送更改通知。
我也试过
每次都会生成相同的数据/订单。当数据具有嵌套数组时,问题就出现了。
变成
代替
我已经断断续续地为此奋斗了几天,所以需要一些帮助
ruby - 将人偶路径映射到绝对路径
我正在尝试为 puppet 编写一个新函数,该函数将 puppet 源路径作为参数,例如:
然后函数需要分析这个目录,所以我需要弄清楚目录的绝对路径,这取决于环境,例如:
我可以使用什么功能来实现这一点?