diff --git a/manifests/base.pp b/manifests/base.pp new file mode 100644 index 0000000..88df89f --- /dev/null +++ b/manifests/base.pp @@ -0,0 +1,36 @@ +class mongodb::base( + $repository = $mongodb::params::repository, + $package = $mongodb::params::package +) inherits mongodb::params { + if !defined(Package["python-software-properties"]) { + package { "python-software-properties": + ensure => installed, + } + } + + exec { "10gen-apt-repo": + path => "/bin:/usr/bin", + command => "echo '${repository}' >> /etc/apt/sources.list", + unless => "cat /etc/apt/sources.list | grep 10gen", + require => Package["python-software-properties"], + } + + exec { "10gen-apt-key": + path => "/bin:/usr/bin", + command => "apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10", + unless => "apt-key list | grep 10gen", + require => Exec["10gen-apt-repo"], + } + + exec { "update-apt": + path => "/bin:/usr/bin", + command => "apt-get update", + unless => "ls /usr/bin | grep mongo", + require => Exec["10gen-apt-key"], + } + + package { $package: + ensure => installed, + require => Exec["update-apt"], + } +} diff --git a/manifests/init.pp b/manifests/init.pp index a016426..4beae87 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -17,46 +17,12 @@ # ulimit_nofile => 20000, # } # + class mongodb( $replSet = $mongodb::params::replSet, $ulimit_nofile = $mongodb::params::ulimit_nofile, - $repository = $mongodb::params::repository, - $package = $mongodb::params::package, $enable = true -) inherits mongodb::params { - - if !defined(Package["python-software-properties"]) { - package { "python-software-properties": - ensure => installed, - } - } - - exec { "10gen-apt-repo": - path => "/bin:/usr/bin", - command => "echo '${repository}' >> /etc/apt/sources.list", - unless => "cat /etc/apt/sources.list | grep 10gen", - require => Package["python-software-properties"], - } - - exec { "10gen-apt-key": - path => "/bin:/usr/bin", - command => "apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10", - unless => "apt-key list | grep 10gen", - require => Exec["10gen-apt-repo"], - } - - exec { "update-apt": - path => "/bin:/usr/bin", - command => "apt-get update", - unless => "ls /usr/bin | grep mongo", - require => Exec["10gen-apt-key"], - } - - package { $package: - ensure => installed, - require => Exec["update-apt"], - } - +) inherits mongodb::base { service { "mongodb": enable => $enable, ensure => "running", @@ -70,5 +36,4 @@ notify => Service["mongodb"], require => Package[$package], } - }