From deb967d956ae108ad198e4be23364b9bdebde387 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Fri, 1 Mar 2013 11:44:51 -0500 Subject: [PATCH] Multi distro support for openstack_project base. Minor updates the openstack_project to support both Ubuntu and RHEL. Change-Id: I335addab52224c3fdb17a79e77e7aa3bc505b085 Reviewed-on: https://review.openstack.org/23296 Reviewed-by: Jeremy Stanley Reviewed-by: James E. Blair Reviewed-by: Clark Boylan Reviewed-by: Monty Taylor Approved: James E. Blair Tested-by: Jenkins --- modules/openstack_project/manifests/base.pp | 15 +++++---------- modules/openstack_project/manifests/params.pp | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 10 deletions(-) create mode 100644 modules/openstack_project/manifests/params.pp diff --git a/modules/openstack_project/manifests/base.pp b/modules/openstack_project/manifests/base.pp index a31d5e4562..adbfab9939 100644 --- a/modules/openstack_project/manifests/base.pp +++ b/modules/openstack_project/manifests/base.pp @@ -7,6 +7,7 @@ class openstack_project::base( if ($::operatingsystem == 'Ubuntu') { include apt } + include openstack_project::params include openstack_project::users include sudoers @@ -30,14 +31,8 @@ class openstack_project::base( } } - $packages = [ - 'puppet', - 'python-setuptools', - 'wget', - ] - - package { $packages: - ensure => present, + package { $::openstack_project::params::packages: + ensure => present } include pip @@ -48,8 +43,8 @@ class openstack_project::base( } if ($install_users) { - package { ['byobu', 'emacs23-nox']: - ensure => present, + package { $::openstack_project::params::user_packages: + ensure => present } realize ( diff --git a/modules/openstack_project/manifests/params.pp b/modules/openstack_project/manifests/params.pp new file mode 100644 index 0000000000..70240c14c7 --- /dev/null +++ b/modules/openstack_project/manifests/params.pp @@ -0,0 +1,19 @@ +# Class: openstack_project::params +# +# This class holds parameters that need to be +# accessed by other classes. +class openstack_project::params { + case $::osfamily { + 'Redhat': { + $packages = ['puppet', 'python-setuptools', 'wget'] + $user_packages = ['byobu', 'emacs-nox'] + } + 'Debian', 'Ubuntu': { + $packages = ['puppet', 'python-setuptools', 'wget'] + $user_packages = ['byobu', 'emacs23-nox'] + } + default: { + fail("Unsupported osfamily: ${::osfamily} The 'openstack_project' module only supports osfamily Ubuntu or Redhat(slaves only).") + } + } +}