0

我对 puppetdb 和我的结构化事实(哈希)有疑问。

哈希将通过我的 puppetdb 进行字符串化。

Ubuntu 14.04
puppetserver     = 3.8.7
facter           = 2.4.4
puppetdb         = 2.3.8-1

在客户端和服务器上的 puppet.conf 中,我包括:

stringify_facts  = false

在我的 site.pp 我有以下条目:

  if is_hash($::os) {
    notify {'hash':}
    notify {$os['family']:}
    }

    if is_string($::os) {
    notify {'string':}
    notify {$os['family']:}
    }

如果在服务器上的我的 puppet.conf 中:

storeconfigs          = true
storeconfigs_backend  = puppetdb

puppetdb 正在运行。

我在客户端 puppetrun 上收到以下消息:

os is not a hash or Array when accesssing it with family.

如果我将我的 site.pp 更改为仅:

  if is_string($::os) {
    notify {'os is a string':}
  }

然后我收到消息->'os 是一个字符串'

如果我将服务器上的 puppet.conf 更改为:

storeconfigs          = false
storeconfigs_backend  = puppetdb

那么一切都好。os fact 将被标识为哈希。

有人有想法吗?请帮助 :) 坦纳

4

0 回答 0