我正在尝试使用puppet将vlc安装到150台窗口电脑的实验室中。 我遵循这个指南 ,并build立我的清单: node 'node.domain.tld' { package { "VLC media player 2.1.3": ensure => "2.1.3", source => "\\\\server\\puppet$\\vlc-2.1.3.exe", install_options => ['/L=1033 /S'] } 运行puppet agent -t –debug显示这个命令正在运行: cmd.exe /c start "puppet-install" /w \\server\puppet$\vlc-2.1.3.exe "/L=1033 /S" 当puppet agent运行时,这会启动VLC的Windows安装程序(但不会默默安装)。 当我以这种方式运行命令(不带引号)时,它按照预期安静地安装。 cmd.exe /c start "puppet-install" /w \\server\puppet$\vlc-2.1.3.exe /L=1033 /S 我遇到了这个错误 ,似乎在版本3.3.0解决。 我的环境中的木偶大师和代理人都是版本3.4.3 。 我是否会错误地安装VLC?
试图获取一个模块,我有以下输出 注意:准备安装到/ usr / local / etc / puppet / modules … 注意:从https://forgeapi.puppetlabs.com下载… 错误:无法通过HTTPS连接到https://forgeapi.puppetlabs.com 无法validationSSL证书 证书不能由有效的CA签名 OpenSSL附带的CA软件包可能无效或最新 但是我的/etc/ssl/cert.pem链接正确,并且包ca_root_nss-3.16.3是最新的。 我能从Puppet得到关于如何进行诊断的信息吗? 也许它在错误的位置看?
我傀儡环境中发生的事情我找不到任何答案,所以我希望有人在这里向我解释。 ENV:工头(Puppet CA),木偶大师,木偶代理 我有一个oracle虚拟机“server01.domain.xx”与它的Puppet代理,它的服务必须迁移到具有相同的FQDN的另一台主机。 我试图这样做: [Foreman] puppet cert clean server01.domain.xx [Foreman]取消关联主机(从esx中取消关联) [工头]删除主机 [new vm]傀儡代理-t(CSR) [Foreman] puppet证书签名server01.domain.xx [new vm] puppet agent -t 我没有做的是禁用旧主机上的木偶代理和删除ssl目录(以防万一),因为我认为即使fqdn是相同的(以及certnames)“puppet证书清理”应该是足够的。 接下来发生了什么? 旧的虚拟主机运行木偶代理和应用的configuration,这已经为新的VM准备。 希望没有什么坏事发生。 那么,我错过了一些关于它是如何工作的知识吗? 我认为私钥 – 公钥创build(4-5)使得这个通信是唯一的,同一个certname不能破坏它。 提前Thx任何合理的解释!
我安装了puppet 4.3和centos7来使用Puppet Device来pipe理Cisco路由器。 服务器主机名是“puppetmaster”(通过运行hostnamectl puppetmaster )centos服务器正在运行puppet master和agent。 设置好所有东西后,configurationdevice.conf当我运行sudo木偶设备–debug我看到这些错误: Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local issuer certificate for /CN=puppetmaster] Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local […]
我们目前使用puppet 3.8.7来configuration大量的AWS EC2实例。 由于这些机器的根卷体积很小,所以我们将某些目录从/ var链接到/ mnt。 这导致像这样的部分显示谜语: group { 'postgres': ensure => present, system => true, } user { 'postgres': ensure => present, comment => 'PostgreSQL administrator', gid => 'postgres', home => '/var/lib/postgresql', require => Group['postgres'], } file { '/mnt/postgresql': ensure => directory, owner => 'postgres', group => 'postgres', mode => '0755', require => User['postgres'], […]
我们有一个使用nagiostypes的木偶。 大多数情况下,它工作正常,但有时我发现生成的puppet-hosts.cfg文件不断增长 – 主机只是添加和重新添加广告。 删除文件并运行puppetd -t很好地重新生成它。 我们在puppet nagios模块中的nagios主机位是: # set up alias $real_nagios_alias = $nagios_alias ? { '' => $hostname, default => $nagios_alias } $real_nagios_contact_groups = $nagios_contact_groups ? { '' => 'admins', default => $nagios_contact_groups } $real_nagios_parents = $nagios_parents ? { '' => '', default => $nagios_parents } $default_nagios_hostgroups = 'all-servers' $real_nagios_hostgroups = $nagios_hostgroups ? […]
我按照这个代码在puppet中configurationsudo模块 class sudo { package { sudo: ensure => present, } if $operatingsystem == "Ubuntu" { package { "sudo-ldap": ensure => present, require => Package["sudo"], } } file { "/etc/sudoers": owner => "root", group => "root", mode => 0440, source => "puppet://$puppetserver/modules/sudo/etc/sudoers", replace => true, require => Package["sudo"], } } 并得到以下错误: 如果您已经安排了其他方式来访问root帐户,并且您确定这是您想要的,您可以通过设置环境variables(导出SUDO_FORCE_REMOVE = yes)来绕过此检查。 什么参数,我应该把它放到代码中,以使sudo命令只需要ssh-key而不需要询问密码。 […]
在CentOS发行版中,有一个/etc/security/limits.d/90-noproc.conf为所有用户设置了一个进程限制: # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 1024 我想保持这个限制,但允许一个用户有超过1024个进程。 由于服务器如何木偶化,我无法使用内置的bash ulimit命令。
我有这个class,运行时应该让用户改变他们的密码。 然而,当我用puppet agent –test运行它 – testing时,它会在第9行给出一个语法错误,在那里它设置密码,但我不知道那一行有什么问题。 这是我到目前为止的代码。 “$ 6”是因为它是SHA-512散列,而MD5是$ 1,这是默认值。 class pwdchange ($newpwd = '', $targetuser = $::id) { $hash = inline_template("<% require 'digest' Digest::SHA1.hexdigest(newpwd) %>") $encryptedpwd = '$6'+template($hash) user {"$targetuser": ensure => present password => $encryptedpwd } } 谁能告诉我我做错了什么?
我正在试图确定在什么是木偶和什么是“应用程序”的一部分之间画线。 我有点困惑的地方是nginx conf.d文件。 在Apache中,我将这些文件标记为.htaccess,因此是应用程序的一部分。 但是,在nginx中没有.htaccess文件; 他们必须进入conf.d目录并且服务器退回。 不够公平,但是在打包应用程序和用puppet部署服务器configuration时,我发现服务器configuration和应用程序之间的界线比较模糊。 如果我把文件放在应用程序包(我们使用RPM),那么我在应用程序中有服务器configuration。 但是,如果我把这些文件放在puppet中,应用程序作者希望做一个修改(添加另一个位置,或者重写等),那么我必须更新puppet,现在下一个版本的应用程序依赖于puppet release 。 看起来像鸡和鸡蛋问题给我。 最适合放置这些conf.d文件的地方是puppet还是应用程序RPM?