Puppet-包名称的变量失败
我对木偶还不熟悉,我被难住了 我正在安装gcc、gcc-c++、openssl和openssl-devel 在显示的代码中,$openssl_-devel可以工作,但$c_-plus未定义 为什么puppet将$c_plus设置为“undef” 美分操作系统6Puppet-包名称的变量失败,puppet,Puppet,我对木偶还不熟悉,我被难住了 我正在安装gcc、gcc-c++、openssl和openssl-devel 在显示的代码中,$openssl_-devel可以工作,但$c_-plus未定义 为什么puppet将$c_plus设置为“undef” 美分操作系统6 class torque::prerequisites { case $operatingsystem { centos,redhat: {$openssl_devel = 'openssl-devel'}
class torque::prerequisites {
case $operatingsystem {
centos,redhat: {$openssl_devel = 'openssl-devel'}
centos,redhat: {$c_plus = 'gcc-c++'}
debian,ubuntu: {$openssl_devel = 'libssl-dev'}
debian,ubuntu: {$c_plus = 'build-essential'}
default:{fail("Unable identify opperating system. $operatingsytem not recognized") }
}
package {'openssl':
ensure => latest,
}
package {$openssl_devel:
ensure => latest,
require => Package['openssl'],
}
package {'gcc':
ensure => installed,
}
package {$c_plus:
ensure => installed,
require => Package['gcc'],
}
}
class {'torque::prerequisites':}
施加扭矩的前提条件
错误:/Stage[main]/Torque::前提条件/Package[undef]/sure:从缺席更改为当前失败:找不到Package undef我仍然不知道为什么原始语法不起作用,但此语法确实起作用:
class torque::prerequisites {
case $::osfamily {
Redhat: {
$openssl_devel = 'openssl-devel'
$c_plus_compiler = 'gcc-c++'
}
Debian: {
$openssl_devel = 'libssl-dev'
$c_plus_compiler = 'build-essential'
}
default:{fail("Unable identify opperating system. $operatingsytem not recognized") }
}
package {'openssl':
ensure => latest,
}
package {$openssl_devel:
ensure => latest,
require => Package['openssl'],
}
package {'gcc':
ensure => installed,
}
package {$c_plus_compiler:
ensure => installed,
require => Package['gcc'],
}
}
class {'torque::prerequisites':}
每组操作系统有两个案例。它将找到第一个,执行它,然后停止。您应该将
$openssl\u devel
和$c\u plus
声明放在同一组大括号中。就像你在下面的回答中所做的那样。