问题:
在 Foreman 中,我看到我尝试添加的这个(以及任何其他客户端)的 Environment 列是空的。
环境:
我有一个 Foreman 1.7 服务器和 2 个额外的 Puppet master (3.8.2),它们在 Smart-Proxies 中可以看到并且看起来很健康。我创建了一个名为“destruct”的新环境,它在所有 3 台服务器上的 /etc/puppet/environments 中以“puppet”为所有者进行了定义。
/etc/puppet/environments/destruct/
├── manifests
└── modules
└── linux_ntp
├── manifests
│ ├── config.pp
│ ├── init.pp
│ ├── install.pp
│ ├── params.pp
│ └── service.pp
├── metadata.json
├── Modulefile
├── Rakefile
├── README.markdown
├── spec
│ ├── spec_helper.rb
│ └── spec.opts
├── templates
│ └── ntp.conf.erb
└── tests
└── init.pp
环境路径在所有 3 个服务器(工头服务器 + 2 个外部 puppet 主机)的 puppet.conf 的 [master] 部分中指定,因此目录环境应该起作用。
environmentpath = /etc/puppet/environments
basemodulepath = /etc/puppet/modules
我在 Foreman 中添加了“破坏”环境:Configure->Environments,之后我从所有 3 台服务器运行导入,它没有尝试删除它,而是导入了单个 ntp 模块。
当我尝试添加新的 puppet 代理时,我在 puppet.conf 中将环境指定为“destruct”:
report = true
pluginsync = true
masterport = 8140
certname = clientname.domain
server = puppetserver1.domain
listen = true
environment = destruct
ca_server = foremanserver1.domain
但是在 Foreman 中,我看到我尝试添加的这个(以及任何其他客户端)的 Environment 列是空的。puppet 代理上没有错误,表明它找不到该环境。
在 Foreman 中并成功运行模块后,我可以手动将服务器分配给环境,但这远非理想。
任何想法为什么客户端系统没有被自动分配到正确的环境?