Foreman v1.7环境空白/ null

时间:2015-09-09 16:13:16

标签: puppet theforeman

问题

在Foreman中,我看到环境列为空(以及我尝试添加的任何其他客户端)为空。

环境

我有一个Foreman 1.7服务器,另外还有2个Puppet母版(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个服务器(foreman服务器+ 2个外部木偶大师)的puppet.conf的[master]部分中指定,因此目录环境应该在播放中。

environmentpath  = /etc/puppet/environments
basemodulepath   = /etc/puppet/modules

我在Foreman:Configure-> Environments中添加了'destruct'环境,之后我从所有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中,我看到环境列为空(以及任何其他客户端)我尝试添加。木偶代理没有错误,表明它找不到那个环境。

我可以在服务器进入Foreman并成功运行模块后手动将服务器分配给环境,但这远非理想状态。

为什么客户端系统没有被自动分配到正确的环境的任何想法?

1 个答案:

答案 0 :(得分:0)

预计会出现此行为。如果您仅将Foreman用作木偶ENC,那么当通过木偶代理添加新服务器时,它不会根据puppet.conf环境中的内容自动填充Foreman中的Puppet Environment。变量,正如我所料。

看起来最好的方法是在Foreman中创建主机(通过API或WebUI),然后正确应用Foreman中的木偶环境。