[PATCH configure 1/2] BZ 731863 - add --savedata (-s) option to aeolus-cleanup

John Eckersberg jeckersb at redhat.com
Fri Dec 16 21:23:32 UTC 2011


On Thu, 15 Dec 2011 18:07:26 -0800, Richard Su <rwsu at redhat.com> wrote:
> 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
> 

ACK



More information about the aeolus-devel mailing list