- move packages from aggregator to other components
which they belong in
- ensure rails db is dropped before uninstalling
aggregator packages
- cleanup iwhd delay so that it only occurs after
iwhd is launched and not on every bucket creation
---
deltacloud_recipe/manifests/aggregator.pp | 68 +------------------------
deltacloud_recipe/manifests/image-factory.pp | 62 +++++++++++++++++++++++
deltacloud_recipe/manifests/iwhd.pp | 19 ++++++--
3 files changed, 80 insertions(+), 69 deletions(-)
diff --git a/deltacloud_recipe/manifests/aggregator.pp
b/deltacloud_recipe/manifests/aggregator.pp
index 0072a0f..7de7a26 100644
--- a/deltacloud_recipe/manifests/aggregator.pp
+++ b/deltacloud_recipe/manifests/aggregator.pp
@@ -2,33 +2,8 @@
class deltacloud::aggregator inherits deltacloud {
### Install the deltacloud components
- # specific versions of these two packages are needed and we need to pull
the third in
- package { 'python-imgcreate':
- provider => 'rpm', ensure => installed,
- source =>
'http://repos.fedorapeople.org/repos/deltacloud/appliance/fedora-13/x86_64/python-imgcreate-031-1.fc12.1.x86_64.rpm'}
- package { 'livecd-tools':
- provider => 'rpm', ensure => installed,
- source =>
'http://repos.fedorapeople.org/repos/deltacloud/appliance/fedora-13/x86_64/livecd-tools-031-1.fc12.1.x86_64.rpm',
- require => Package['python-imgcreate']}
- package { 'appliance-tools':
- provider => 'yum', ensure => installed,
- require => Package["livecd-tools", "python-imgcreate"]}
-
- # TODO: Fix me, find a better way to do this...
- # We need to also install this rpm from amazon
- package{"ec2-ami-tools":
- provider => "rpm",
- source =>
"http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm",
- ensure => 'installed' }
-
package { 'rubygem-deltacloud-client':
provider => 'yum', ensure => 'installed' }
- package { 'rubygem-deltacloud-image-builder-agent':
- provider => 'yum', ensure => 'installed',
- require => Package['appliance-tools', 'livecd-tools',
'python-imgcreate', 'ec2-ami-tools']}
- package { 'iwhd':
- provider => 'yum', ensure => 'installed' }
-
package {['deltacloud-aggregator',
'deltacloud-aggregator-daemons',
@@ -99,49 +74,12 @@ class deltacloud::aggregator::disabled {
package {'deltacloud-aggregator':
provider => 'yum', ensure => 'absent',
- require => Package['deltacloud-aggregator-daemons',
- 'deltacloud-aggregator-doc'] }
+ require => [Package['deltacloud-aggregator-daemons',
+ 'deltacloud-aggregator-doc'],
+ Rails::Drop::Db["drop_deltacloud_database"]] }
package { 'rubygem-deltacloud-client':
provider => 'yum', ensure => 'absent',
require => Package['deltacloud-aggregator']}
- package { 'rubygem-deltacloud-image-builder-agent':
- provider => 'yum', ensure => 'absent',
- require => Package['deltacloud-aggregator']}
- package { 'iwhd':
- provider => 'yum', ensure => 'absent',
- require => [Package['deltacloud-aggregator'],
Service['iwhd']]}
-
- # FIXME these lingering dependencies, pulled in for
- # rubygem-deltacloud-image-builder-agent, need to be removed as
- # ec2-ami-tools and appliance-tools depend on them and using
- # 'absent' in the context of the 'yum' provider dispatches
- # to 'rpm -e' instead of 'yum erase'
- package { ['rubygem-boxgrinder-build-ec2-platform-plugin',
- 'rubygem-boxgrinder-build-centos-os-plugin',
- 'rubygem-boxgrinder-build-fedora-os-plugin']:
- provider => "yum", ensure => 'absent',
- require => Package['rubygem-deltacloud-image-builder-agent']}
- package { 'rubygem-boxgrinder-build-rhel-os-plugin':
- provider => "yum", ensure => 'absent',
- require =>
Package['rubygem-boxgrinder-build-centos-os-plugin']}
- package { 'rubygem-boxgrinder-build-rpm-based-os-plugin':
- provider => "yum", ensure => 'absent',
- require => Package['rubygem-boxgrinder-build-rhel-os-plugin',
-
'rubygem-boxgrinder-build-fedora-os-plugin']}
-
- package { 'ec2-ami-tools':
- provider => "yum", ensure => 'absent',
- require =>
Package['rubygem-boxgrinder-build-ec2-platform-plugin']}
- package { 'appliance-tools':
- provider => 'yum', ensure => 'absent',
- require =>
Package['rubygem-boxgrinder-build-rpm-based-os-plugin']}
- package { 'livecd-tools':
- provider => 'yum', ensure => 'absent',
- require => Package['appliance-tools']}
- package { 'python-imgcreate':
- provider => 'yum', ensure => 'absent',
- require => Package['appliance-tools', 'livecd-tools']}
-
### Stop the deltacloud services
service { ['condor', 'httpd']:
diff --git a/deltacloud_recipe/manifests/image-factory.pp
b/deltacloud_recipe/manifests/image-factory.pp
index 0888dd8..8023fd5 100644
--- a/deltacloud_recipe/manifests/image-factory.pp
+++ b/deltacloud_recipe/manifests/image-factory.pp
@@ -1,6 +1,31 @@
# Deltacloud image factory puppet definitions
class deltacloud::image-factory inherits deltacloud {
+ ### Install the deltacloud components
+ # specific versions of these two packages are needed and we need to pull
the third in
+ package { 'python-imgcreate':
+ provider => 'rpm', ensure => installed,
+ source =>
'http://repos.fedorapeople.org/repos/deltacloud/appliance/fedora-13/x86_64/python-imgcreate-031-1.fc12.1.x86_64.rpm'}
+ package { 'livecd-tools':
+ provider => 'rpm', ensure => installed,
+ source =>
'http://repos.fedorapeople.org/repos/deltacloud/appliance/fedora-13/x86_64/livecd-tools-031-1.fc12.1.x86_64.rpm',
+ require => Package['python-imgcreate']}
+ package { 'appliance-tools':
+ provider => 'yum', ensure => installed,
+ require => Package["livecd-tools", "python-imgcreate"]}
+
+ # TODO: Fix me, find a better way to do this...
+ # We need to also install this rpm from amazon
+ package{"ec2-ami-tools":
+ provider => "rpm",
+ source =>
"http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm",
+ ensure => 'installed' }
+
+ package { 'rubygem-deltacloud-image-builder-agent':
+ provider => 'yum', ensure => 'installed',
+ require => Package['appliance-tools', 'livecd-tools',
'python-imgcreate', 'ec2-ami-tools']}
+
+
### Configure boxgrinder, this should go into the boxgrinder rpms eventually
file { "/boxgrinder": ensure => "directory"}
file { "/boxgrinder/appliances":
@@ -74,6 +99,43 @@ class deltacloud::image-factory::disabled {
hasstatus => true,
enable => false}
+ ### Uninstall the deltacloud components
+ package { 'rubygem-deltacloud-image-builder-agent':
+ provider => 'yum', ensure => 'absent',
+ require => Package['deltacloud-aggregator']}
+
+ # FIXME these lingering dependencies, pulled in for
+ # rubygem-deltacloud-image-builder-agent, need to be removed as
+ # ec2-ami-tools and appliance-tools depend on them and using
+ # 'absent' in the context of the 'yum' provider dispatches
+ # to 'rpm -e' instead of 'yum erase'
+ package { ['rubygem-boxgrinder-build-ec2-platform-plugin',
+ 'rubygem-boxgrinder-build-centos-os-plugin',
+ 'rubygem-boxgrinder-build-fedora-os-plugin']:
+ provider => "yum", ensure => 'absent',
+ require => Package['rubygem-deltacloud-image-builder-agent']}
+ package { 'rubygem-boxgrinder-build-rhel-os-plugin':
+ provider => "yum", ensure => 'absent',
+ require =>
Package['rubygem-boxgrinder-build-centos-os-plugin']}
+ package { 'rubygem-boxgrinder-build-rpm-based-os-plugin':
+ provider => "yum", ensure => 'absent',
+ require => Package['rubygem-boxgrinder-build-rhel-os-plugin',
+
'rubygem-boxgrinder-build-fedora-os-plugin']}
+
+ package { 'ec2-ami-tools':
+ provider => "yum", ensure => 'absent',
+ require =>
Package['rubygem-boxgrinder-build-ec2-platform-plugin']}
+ package { 'appliance-tools':
+ provider => 'yum', ensure => 'absent',
+ require =>
Package['rubygem-boxgrinder-build-rpm-based-os-plugin']}
+ package { 'livecd-tools':
+ provider => 'yum', ensure => 'absent',
+ require => Package['appliance-tools']}
+ package { 'python-imgcreate':
+ provider => 'yum', ensure => 'absent',
+ require => Package['appliance-tools', 'livecd-tools']}
+
+
### Destroy and cleanup deltacloud artifacts
exec{"remove_deltacloud_templates": command => "/bin/rm -rf /templates"}
exec{"remove_boxgrinder_dir": command => "/bin/rm -rf /boxgrinder"}
diff --git a/deltacloud_recipe/manifests/iwhd.pp
b/deltacloud_recipe/manifests/iwhd.pp
index 9711b75..e3b7435 100644
--- a/deltacloud_recipe/manifests/iwhd.pp
+++ b/deltacloud_recipe/manifests/iwhd.pp
@@ -1,6 +1,10 @@
# Deltacloud iwhd puppet definitions
class deltacloud::iwhd inherits deltacloud {
+ ### Install the deltacloud components
+ package { 'iwhd':
+ provider => 'yum', ensure => 'installed' }
+
### Start the deltacloud services
file { "/data": ensure => 'directory' }
file { "/data/db": ensure => 'directory' }
@@ -11,8 +15,14 @@ class deltacloud::iwhd inherits deltacloud {
service { 'iwhd':
ensure => 'running',
enable => true,
+ hasstatus => true,
require => [Package['iwhd'],
Service[mongod]]}
+ # XXX ugly hack but iwhd might take some time to come up
+ exec{"iwhd_startup_pause":
+ command => "/bin/sleep 2",
+ unless => '/usr/bin/curl http://localhost:9090',
+ require => Service[iwhd]}
}
class deltacloud::iwhd::disabled {
@@ -25,15 +35,16 @@ class deltacloud::iwhd::disabled {
ensure => 'stopped',
enable => false,
hasstatus => true}
+
+ ### Uninstall the deltacloud components
+ package { 'iwhd':
+ provider => 'yum', ensure => 'absent',
+ require => [Package['deltacloud-aggregator'],
Service['iwhd']]}
}
# Create a named bucket in iwhd
define deltacloud::create_bucket(){
package{'curl': ensure => 'installed'}
- # XXX ugly hack but iwhd might take some time to come up
- exec{"iwhd_startup_pause":
- command => "/bin/sleep 2",
- require => Service[iwhd]}
exec{"create-bucket-${name}":
command => "/usr/bin/curl -X PUT http://localhost:9090/templates",
require => [Exec['iwhd_startup_pause'], Package[curl]] }
--
1.7.2.3
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel