[PATCH configure 1/2] BZ 731863 - add --savedata (-s) option to aeolus-cleanup
Richard Su
rwsu at redhat.com
Fri Dec 16 02:07:26 UTC 2011
https://bugzilla.redhat.com/show_bug.cgi?id=731863
When the -s option is used, the cleanup process will not remove any data
---
bin/aeolus-cleanup | 10 ++++++++--
recipes/aeolus/manifests/conductor.pp | 6 +++++-
recipes/aeolus/manifests/image-factory.pp | 4 +++-
recipes/aeolus/manifests/init.pp | 1 -
recipes/aeolus/manifests/iwhd.pp | 17 ++++++++++-------
5 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/bin/aeolus-cleanup b/bin/aeolus-cleanup
index 230b9a9..ef7427c 100644
--- a/bin/aeolus-cleanup
+++ b/bin/aeolus-cleanup
@@ -19,28 +19,32 @@ usage()
cat << EOF
USAGE:
-aeolus-cleanup [-d|--debug] [-h|--help] [-v|--verbose]
+aeolus-cleanup [-d|--debug] [-h|--help] [-v|--verbose] [-s|--savedata]
OPTIONS:
-h | --help Show this message.
-d | --debug Debug logging mode.
-v | --verbose Verbose logging mode.
+ -s | --savedata Do not delete existing data.
EOF
}
-args=`getopt -o :hdv --long help,debug,verbose -- "$@"`
+args=`getopt -o :hdvs --long help,debug,verbose,savedata -- "$@"`
if test $? != 0
then
usage
exit 1
fi
+SAVE_DATA=false
+
eval set -- $args
while true ; do
case "$1" in
-h|--help) usage ; exit 1 ; shift ;;
-d|--debug) LOGLEVEL="--debug" ; shift ;;
-v|--verbose) LOGLEVEL="--verbose" ; shift ;;
+ -s|--savedata) SAVE_DATA=true ; shift ;;
--) shift ; break ;;
*) usage ; exit 1 ;;
esac
@@ -50,6 +54,8 @@ PUPPET_NODE='cleanup'
export FACTER_AEOLUS_ENABLE_HTTPS=true
export FACTER_AEOLUS_ENABLE_SECURITY=false
+export FACTER_AEOLUS_SAVE_DATA=$SAVE_DATA
+
puppet /usr/share/aeolus-configure/modules/aeolus/aeolus.pp \
--modulepath=/usr/share/aeolus-configure/modules/ \
--external_nodes "/bin/sh /usr/share/aeolus-configure/modules/aeolus/aeolus-node $PUPPET_NODE" --node_terminus exec \
diff --git a/recipes/aeolus/manifests/conductor.pp b/recipes/aeolus/manifests/conductor.pp
index 11acb0d..531ebb7 100644
--- a/recipes/aeolus/manifests/conductor.pp
+++ b/recipes/aeolus/manifests/conductor.pp
@@ -136,10 +136,12 @@ class aeolus::conductor inherits aeolus {
}
class aeolus::conductor::disabled {
+ if $aeolus_save_data == "false" {
file {"/var/lib/aeolus-conductor":
ensure => absent,
force => true
}
+ }
file {"/etc/rsyslog.d/aeolus.conf":
ensure => absent,
@@ -158,7 +160,8 @@ class aeolus::conductor::disabled {
enable => false,
hasstatus => true }
- ### Destroy the aeolus database
+ if $aeolus_save_data == "false" {
+ ### Destroy the aeolus database
rails::drop::db{"drop_aeolus_database":
cwd => "/usr/share/aeolus-conductor",
rails_env => "production",
@@ -167,6 +170,7 @@ class aeolus::conductor::disabled {
postgres::user{"aeolus":
ensure => 'dropped',
require => Rails::Drop::Db["drop_aeolus_database"]}
+ }
}
# Create a new site admin conductor web user
diff --git a/recipes/aeolus/manifests/image-factory.pp b/recipes/aeolus/manifests/image-factory.pp
index d6e37ec..0a5af28 100644
--- a/recipes/aeolus/manifests/image-factory.pp
+++ b/recipes/aeolus/manifests/image-factory.pp
@@ -94,8 +94,10 @@ class aeolus::image-factory::disabled {
hasstatus => true,
enable => false}
- ### Destroy and cleanup aeolus artifacts
+ if $aeolus_save_data == "false" {
+ ### Destroy and cleanup aeolus artifacts
exec{"remove_aeolus_templates": command => "/bin/rm -rf /templates"}
+ }
}
define aeolus::image($template, $provider='', $target='', $hwp=''){
diff --git a/recipes/aeolus/manifests/init.pp b/recipes/aeolus/manifests/init.pp
index 97228ef..9551cc8 100644
--- a/recipes/aeolus/manifests/init.pp
+++ b/recipes/aeolus/manifests/init.pp
@@ -42,7 +42,6 @@ if $aeolus_enable_security == "true" or $aeolus_enable_security == "1" {
$enable_security = false
}
-
# Base aeolus class
class aeolus {
package{'curl':
diff --git a/recipes/aeolus/manifests/iwhd.pp b/recipes/aeolus/manifests/iwhd.pp
index 61579e8..43b219b 100644
--- a/recipes/aeolus/manifests/iwhd.pp
+++ b/recipes/aeolus/manifests/iwhd.pp
@@ -63,11 +63,13 @@ class aeolus::iwhd inherits aeolus {
}
class aeolus::iwhd::disabled {
- exec { 'clean_iwhd':
- command => '/usr/bin/ruby /usr/share/aeolus-configure/modules/aeolus/clean-iwhd.rb http://localhost:9090',
- before => Service[iwhd],
- onlyif => '/usr/bin/curl http://localhost:9090',
- logoutput => true,
+ if $aeolus_save_data == "false" {
+ exec { 'clean_iwhd':
+ command => '/usr/bin/ruby /usr/share/aeolus-configure/modules/aeolus/clean-iwhd.rb http://localhost:9090',
+ before => Service[iwhd],
+ onlyif => '/usr/bin/curl http://localhost:9090',
+ logoutput => true,
+ }
}
### Stop the aeolus services
@@ -81,12 +83,13 @@ class aeolus::iwhd::disabled {
enable => false,
hasstatus => true}
- file { "/var/lib/iwhd":
+ if $aeolus_save_data == "false" {
+ file { "/var/lib/iwhd":
ensure => 'absent',
backup => 'false',
force => true,
require => Service['iwhd']}
-
+ }
}
# Create a named bucket in iwhd
--
1.7.6.4
More information about the aeolus-devel
mailing list