1

我将以下工头 yaml 配置传递给 puppet 以获得 sysctl 键..

YAML 配置

sysctl:
  kval1:
    key: net.ipv4.ip_forward
    value: '0'
  kval2:
    key: kernel.sysrq
    value: '0'

下面是 sysctl 的木偶清单

初始化程序

class sysctl_var (
  $sysctl_var = 'undef'
) {
# Groups hash is passed from Foreman
    create_resources(sysctl_var::sysctlconf, $sysctl_var)
  }

系统配置文件

define sysctl_var::sysctlconf($key,$value) {

   augeas { "sysctl":
       context => "/files/etc/sysctl.conf",
       changes => ["set $key '$value'",]
    }


}

尽管如果我使用 yaml 仅传递一个键值,则键有效,但如何将多个键传递给 sysctl 清单,因为我知道 puppet 中没有值循环。

有没有办法让 augeas 块可以接受多个键值......?

4

1 回答 1

1

使 augeus 资源具有基于定义标题的变体标题并且它起作用了。

define sysctl_var::sysctlconf($key,$value) {

   augeas { "sysctl ${title}":
       context => "/files/etc/sysctl.conf",
       changes => ["set $key '$value'",]
    }


}
于 2013-09-30T10:18:23.153 回答