问题标签 [puppet-enterprise]

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 投票
1 回答
275 浏览

windows - 如何使用 Puppet 基于 32/64 位操作系统动态选择系统文件夹的路径

我正在使用 Puppet 在 Windows 2008 服务器 R2 上自动部署我的 Web 应用程序。

有几个步骤可以访问系统文件夹(System32 或 SysWOW64,具体取决于 32/64 位操作系统)。

让我采取以下步骤之一:我将访问“appcmd.exe”来启动/停止网站。当脚本在 32 位机器上运行时,我需要访问文件,'C:/Windows/System32/inetsrv/appcmd.exe'当脚本在 64 位机器上运行时,我需要访问文件'C:/Windows/SysWOW64/inetsrv/appcmd.exe'

这是我编写的脚本的一部分。我不想硬编码路径。根据操作系统,我希望选择“appcmd.exe”的路径。我怎样才能做到这一点?

exec {"StopWebsite": command=> 'C:/Windows/System32/inetsrv/appcmd.exe stop site /site.name:"Default Web Site"' }

0 投票
0 回答
75 浏览

puppet - 如何在 puppet 中创建层次结构

很抱歉给您带来麻烦,但我理解用例错误,新用例如下:

想象一下,所有这些都是清单文件,包括 common、program .....E、F

现在,如果我有一个服务于 A、Java 程序的服务器,那么我们运行 A 清单,但是如果它是类型为“z”的 Java 程序,那么它将运行 Java 清单文件作为“z”的 mainfest 文件Java 类型不存在。

因此,它将寻找最具体的文件,并使其向上延伸,直到找到可以运行的文件。如果没有匹配项,它将运行通用清单文件。

我正在考虑将 if、else if 和 else 语句与一个清单文件一起用于所有指令。

有没有其他方法可以实现这一目标?

0 投票
1 回答
1030 浏览

ruby - Puppet 指向已安装的旧版本 ruby

我在 CentOS 上使用 RVM 安装 ruby​​ 最新版本(2.2.1)。并将其设置为默认版本。按照这个链接: -

http://tecadmin.net/install-ruby-1-9-3-or-multiple-ruby-verson-on-centos-6-3-using-rvm/

在这里我的假设是我有最新的 ruby​​ 版本并默认设置为。

Ruby 1.8 默认随 CentOS 一起提供。

现在,当我运行 puppet 服务器来安装一些默认模块时,它仍然指向 Ruby 1.8。使用以下链接:https ://forge.puppetlabs.com/puppetlabs/aws#installing-the-aws-module

在此处输入图像描述

我想要实现的只是安装最新的 ruby​​ 或者可能是 Ruby 1.9.3 版本并使用相同的 ruby​​ 版本配置 puppet。

0 投票
1 回答
349 浏览

windows - 运行 puppet 脚本时无法自动加载 puppet/type/dism 错误

Puppet 代理 - 64 位 v4.0.0 操作系统 - Windows Server R2 64 位

我正在尝试使用Puppet 站点的 DISM 模块( https://forge.puppetlabs.com/puppetlabs/dism )安装 IIS。

我正在尝试运行以下脚本。我确定这是正确的。

该模块已正确安装,我已尝试重新安装几次,但我反复收到下面提到的错误。我该如何解决这个问题?

我正在使用木偶

C:\Program Files\Puppet Labs\Puppet\bin>puppet apply IIS_Install.pp Error: Could not autoload puppet/type/dism: Attempt to redefine method set_present with block Error: Evaluation Error: Error while evaluating a Resource Statement, Could not autoload puppet/type/dism: Attempt to redefine method set_pesent with block at C:/Program Files/Puppet Labs/Puppet/bin/IIS_Install.pp:2:3 on node win-i73ju1hai2q.localdomain Error: Evaluation Error: Error while evaluating a Resource Statement, Could not autoload puppet/type/dism: Attempt to redefine method set_pesent with block at C:/Program Files/Puppet Labs/Puppet/bin/IIS_Install.pp:2:3 on node win-i73ju1hai2q.localdomain

0 投票
1 回答
64 浏览

elasticsearch - Puppet Enterprise Hiera 配置上的重复类错误

运行时出现以下错误puppet agent -t

我使用 heira 作为我的方法。在 mynode.mydomain.com.yaml 我有以下

0 投票
1 回答
264 浏览

windows - Puppet 以错误的顺序执行类

下面提到的四个模块是我的 site.pp 文件中的内容。这四个模块是我写的,它们又使用了 Forge 模块。例如,iis::install使用puppetlabs/windowsfeature模块安装 IIS 并site::install用于puppetlabs/iis创建我需要的网站和 appPool。

我遇到的问题是 - Puppet 正确地开始执行,iis::install但它没有完全执行这个类。它保持在后台,然后开始执行tools::install。由于执行顺序错误,完全失败

我也面临与其他两个班级完全相同的问题。它只是开始执行site::install,然后继续执行include site::install。最后,其余类执行完毕后,后台的类继续执行

如何在 Site.pp 文件中通知 Puppet 完成第一类的执行,然后再进行下一个

0 投票
1 回答
689 浏览

puppet - 如何计算 puppet erb 文件中的值

我是 puppet 的新手,真的需要一些帮助:

我的应用程序 my_app.pp 值具有以下值:

现在在我的 erb 文件中,min-nr-of-members值应该通过将akka_application_cluster_seed_nodes数组的大小除以 2 加 1来计算

例如:

你能帮忙吗?

0 投票
1 回答
1038 浏览

git - Puppet 代理无法从 Git 下载代码

我在 ubuntu 14.4 VM 上设置了 puppet master。Puppet 代理作为 Windows 8。

这是我的 site.pp 文件。

它只会从url下载代码并将其放入C:\GitCode。我已经在master上安装git和包了。vcsrepo

在 Windows 上运行代理时出现以下错误:

0 投票
2 回答
2042 浏览

puppet - puppet 中存在文件时失败

我正在尝试编写一个 puppet 脚本,它将通过 un-tar 安装一个模块。如果 puppet 已经解压,我希望 puppet 失败。我尝试执行以下代码,但即使目录不存在,它也总是失败。

我正在检查 /opt/sk 是否存在然后失败,否则继续安装。

谢谢

0 投票
1 回答
514 浏览

hiera - How come data is not coming from my hiera yaml file?

I am using Puppet Enterprise 3.7.2 and on one of my nodes I create the file:

Then I rebooted that node and logged back in and verified that the FACTER_pod_prefix gets set and facter pod_prefix outputs the expected value.

On my PE 3.7 Puppet master I created the file /var/lib/hiera/vii-osc4.yaml. I created the /var/lib/hiera/vii-osc4.yaml from the /var/lib/hiera/defaults.yaml file that I had been using like so:

This file has a bunch of class parameter values. For example there is this line in the file:

Then I changed my hiera.yaml file to look like this:

Then I restarted my pe-httpd service like so (RHEL7):

Then I make a small change to the /var/lib/hiera/vii-osc4.yaml for example I change the line ...

... to ...

But when I run puppet agent -t --noop on my node, vii-osc4-mgmt-001, I do not see the change that I expected to see. If I make the change in the /var/lib/hiera/defaults.yaml and then run puppet agent -t --noop on my node I do see the expected changes. What am I doing wrong here?

UPDATE: using /etc/facter/facts.d method of setting custom facts.

I looked into using /etc/facter/facts.d for what I am trying to do. What I am trying to do is set a custom fact "pod_prefix". I want to use this fact in my hiera.yaml like so ...

... so that nodes that have pod_prefix set to vii-osc4 will obtain their class parameters from the file /var/lib/hiera/vii-osc4/yaml and host that pod_prefix set to ix-xyz will get their class params from /var/lib/hiera/ix-xyz.yaml. I do not see how creating the file /etc/facter/facts.d/pod_prefix.txt on my puppet master that contains something like this ...

... could possibly be a solution to my problem. I guess I must be misunderstanding something here. Can someone help?

UPDATE 2.

The /etc/facter/facts.d/pod_prefix.txt file goes on my nodes. I think my biggest problem is that just execute systemctl restart pe-httpd was not sufficient and things didn't start working until I did a full reboot of my puppet master. I need to go look at the docs and figure out what is the correct way to restart the "puppet master".