diff --git a/modules/openstack_project/manifests/params.pp b/modules/openstack_project/manifests/params.pp index 0820594196..ffd123b920 100644 --- a/modules/openstack_project/manifests/params.pp +++ b/modules/openstack_project/manifests/params.pp @@ -3,15 +3,26 @@ # This class holds parameters that need to be # accessed by other classes. class openstack_project::params { + $cross_platform_packages = [ + 'at', + 'git', + 'lvm2', + 'parted', + 'puppet', + 'rsync', + 'strace', + 'tcpdump', + 'wget', + ] case $::osfamily { 'RedHat': { - $packages = ['parted', 'puppet', 'wget', 'iputils'] + $packages = concat($cross_platform_packages, ['iputils', 'bind-utils']) $user_packages = ['emacs-nox', 'vim-enhanced'] $update_pkg_list_cmd = '' $login_defs = 'puppet:///modules/openstack_project/login.defs.redhat' } 'Debian': { - $packages = ['parted', 'puppet', 'wget', 'iputils-ping'] + $packages = concat($cross_platform_packages, ['iputils-ping', 'dnsutils']) case $::operatingsystemrelease { /^(12|14)\.(04|10)$/: { $user_packages = ['emacs23-nox', 'vim-nox', 'iftop', diff --git a/modules/openstack_project/manifests/server.pp b/modules/openstack_project/manifests/server.pp index 1adfa28ad2..53f412a712 100644 --- a/modules/openstack_project/manifests/server.pp +++ b/modules/openstack_project/manifests/server.pp @@ -18,6 +18,8 @@ class openstack_project::server ( $pypi_index_url = 'https://pypi.python.org/simple', $purge_apt_sources = true, ) { + include openstack_project::params + if $::osfamily == 'Debian' { # Purge and augment existing /etc/apt/sources.list if requested, and make # sure apt-get update is run before any packages are installed @@ -41,6 +43,11 @@ class openstack_project::server ( Exec['update-apt'] -> Package <| |> } } + + package { $::openstack_project::params::packages: + ensure => present + } + class { 'openstack_project::template': iptables_public_tcp_ports => $iptables_public_tcp_ports, iptables_public_udp_ports => $iptables_public_udp_ports, @@ -57,4 +64,5 @@ class openstack_project::server ( sysadmins => $sysadmins, pypi_index_url => $pypi_index_url, } + } diff --git a/modules/openstack_project/manifests/template.pp b/modules/openstack_project/manifests/template.pp index 75ec894a16..aecfa04dd2 100644 --- a/modules/openstack_project/manifests/template.pp +++ b/modules/openstack_project/manifests/template.pp @@ -101,6 +101,10 @@ class openstack_project::template ( } } + package { 'rsyslog': + ensure => present, + } + if ($::in_chroot) { notify { 'rsyslog in chroot': message => 'rsyslog not refreshed, running in chroot', @@ -163,59 +167,6 @@ class openstack_project::template ( } } - ########################################################### - # Package resources for all operating systems - - package { 'at': - ensure => present, - } - - package { 'lvm2': - ensure => present, - } - - package { 'strace': - ensure => present, - } - - package { 'tcpdump': - ensure => present, - } - - package { 'rsyslog': - ensure => present, - } - - package { 'git': - ensure => present, - } - - package { 'rsync': - ensure => present, - } - - package { $::openstack_project::params::packages: - ensure => present - } - - ########################################################### - # Package resources for specific operating systems - - case $::osfamily { - 'Debian': { - # Make sure dig is installed - package { 'dnsutils': - ensure => present, - } - } - 'RedHat': { - # Make sure dig is installed - package { 'bind-utils': - ensure => present, - } - } - } - ########################################################### # Manage ntp