Foreman v1.7 环境 blank/null
Foreman v1.7 Environment blank/null
问题:
在 Foreman 中,我看到我尝试添加的此(以及任何其他客户端)的环境列为空。
环境:
我有一个 Foreman 1.7 服务器和 2 个额外的 Puppet masters (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.conf 中的 [master] 部分指定了环境路径,因此目录环境应该在起作用。
environmentpath = /etc/puppet/environments
basemodulepath = /etc/puppet/modules
我在 Foreman 中添加了 'destruct' 环境:Configure->Environments,之后我 运行 从所有 3 个服务器导入,它没有尝试删除它,它确实导入了单个 ntp 模块。
当我尝试添加新的人偶代理时,我在 puppet.conf 中将环境指定为 'destruct':
report = true
pluginsync = true
masterport = 8140
certname = clientname.domain
server = puppetserver1.domain
listen = true
environment = destruct
ca_server = foremanserver1.domain
但是在 Foreman 中,我看到我尝试添加的这个(以及任何其他客户端)的环境列是空的。 Puppet 代理上没有错误表明它找不到该环境。
在 Foreman 中并成功 运行 模块后,我可以手动将服务器分配给环境,但这远非理想。
知道为什么客户端系统没有自动分配到正确的环境吗?
看来这种行为是意料之中的。如果您仅将 Foreman 用作人偶 ENC,那么当通过人偶代理添加新服务器时,它不会根据 puppet.conf 'environment' 变量中的内容自动填充 Foreman 中的人偶环境,如我预料到了。
看起来最好的方法是在 Foreman 中创建主机(通过 API 或 WebUI)然后您在 Foreman 中的人偶环境将被正确应用。
问题:
在 Foreman 中,我看到我尝试添加的此(以及任何其他客户端)的环境列为空。
环境:
我有一个 Foreman 1.7 服务器和 2 个额外的 Puppet masters (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.conf 中的 [master] 部分指定了环境路径,因此目录环境应该在起作用。
environmentpath = /etc/puppet/environments
basemodulepath = /etc/puppet/modules
我在 Foreman 中添加了 'destruct' 环境:Configure->Environments,之后我 运行 从所有 3 个服务器导入,它没有尝试删除它,它确实导入了单个 ntp 模块。
当我尝试添加新的人偶代理时,我在 puppet.conf 中将环境指定为 'destruct':
report = true
pluginsync = true
masterport = 8140
certname = clientname.domain
server = puppetserver1.domain
listen = true
environment = destruct
ca_server = foremanserver1.domain
但是在 Foreman 中,我看到我尝试添加的这个(以及任何其他客户端)的环境列是空的。 Puppet 代理上没有错误表明它找不到该环境。
在 Foreman 中并成功 运行 模块后,我可以手动将服务器分配给环境,但这远非理想。
知道为什么客户端系统没有自动分配到正确的环境吗?
看来这种行为是意料之中的。如果您仅将 Foreman 用作人偶 ENC,那么当通过人偶代理添加新服务器时,它不会根据 puppet.conf 'environment' 变量中的内容自动填充 Foreman 中的人偶环境,如我预料到了。
看起来最好的方法是在 Foreman 中创建主机(通过 API 或 WebUI)然后您在 Foreman 中的人偶环境将被正确应用。