Puppet

帶有正則表達式的人偶節點名稱

  • July 23, 2015

我在 Windows 8.1 客戶端上執行 puppet 3.7.3,它正在拉入我的預設節點定義。

我正在嘗試通過在一組節點上使用正則表達式來創建更通用的定義。我們的命名方案類似於:bldg-50zx022-1.domain.tld。對於我的節點定義,我正在使用以下內容,但我在執行時從未看到資訊puppet agent -td

node /^(bldg|BLDG)-\w{0,7}-\d+/ {
   info("inside node definition")
}

我已經使用 rubular.com 驗證了我的正則表達式是正確的。當我執行 facter 時,我得到這些值:

fqdn => BLDG-50ZX022-2.domain.tld
hostname => BLDG-50ZX022-2

我能做些什麼來讓它發揮作用嗎?

所以我不確定 puppet 引擎如何處理分組,但 (bldg|BLDG) 在技術上是一個擷取組,所以一些正則表達式引擎將只返回那個擷取組。

當通過 regex101.com 執行它時,我認為這會做你的 bldg/BLDG 或者在擷取整個主機名作為唯一擷取組的同時,試一試:

/^((?:bldg|BLDG)-\w{0,7}-\d+)/

引用自:https://serverfault.com/questions/708041