Puppet Ubuntu检查版本16或17

时间:2017-11-23 09:36:45

标签: puppet

我需要检查它的Ubuntu版本16(适用于旧版本)或17(适用于具有不同WLAN模块的新版本),但此IF检查到目前为止无效。你能支持吗?

  if /opt/puppetlabs/bin/facter os.distro.id == 'Ubuntu' {
    if /opt/puppetlabs/bin/facter os.distro..release.major == '16.04.' {
        $ubunutname = 'xenial'
        $wlankarte  = 'wlp4s0'
    }
    if /opt/puppetlabs/bin/facter os.distro..release.major == '17.04' {
      $ubunutname = 'zesty'
      $wlankarte  = 'wlp58s0'
    }
    else{
      fail("Unsupported major of ${facts}['operatingsystem']")
    }
  }

1 个答案:

答案 0 :(得分:2)

您已经关闭,但您不必指定Facter的路径,事实会自动添加到上下文中。 LSB代号也是一个事实,所以你可以简化这个:

case $::lsbdistcodename {
  'xenial': {
    $wlankarte  = 'wlp4s0'
  }
  'zesty': {
    $wlankarte  = 'wlp58s0'
  }
  default: {
    fail("Unsupported Debian-flavor machine: ${::lsbdistcodename}")
  }
}