Мне нужно написать один манифест как install-apache.pp
, который установит
apache2
пакет, если это система на основе Debian или
httpd
пакет, если это система на базе RedHat
Ниже приведен код; это работает в CentOS, но не работает в Ubuntu.
case $facts['os']['name'] {
'Debian': {
package { 'apache2':
ensure => installed,
}
service { 'apache2':
ensure => running,
}
}
'RedHat': {
package { 'httpd' :
ensure => installed,
}
service { 'httpd':
ensure => running,
}
}
}
Итак, я внес некоторые изменения, как показано ниже, но не уверен, почему он не работает.
case $operatingsystem {
'Debian': {
package { 'apache2':
ensure => installed,
} ->
service { 'apache2':
ensure => running,
enable => true,
}
}
'RedHat': {
package { 'httpd' :
ensure => installed,
} ->
service { 'httpd':
ensure => running,
enable => true,
}
}
}
Команда, используемая для выполнения:
puppet apply install-apache.pp --logdest /root/output.log