[PATCH aeolus-configure] BZ835131 configure errors after upgrade
Steve Linabery
slinaber at redhat.com
Tue Jun 26 21:00:58 UTC 2012
On Tue, Jun 26, 2012 at 04:36:46PM -0400, John Eckersberg wrote:
> On Tue, 26 Jun 2012 12:16:28 -0500, Steve Linabery <slinaber at redhat.com> wrote:
> > Change the behavior of site_admin.pp to rely on a db check
> > (via 'rake dc:admin_exists' task) instead of a filesystem check.
> > ---
> > recipes/aeolus/manifests/conductor/site_admin.pp | 7 +------
> > 1 files changed, 1 insertions(+), 6 deletions(-)
> >
> > diff --git a/recipes/aeolus/manifests/conductor/site_admin.pp b/recipes/aeolus/manifests/conductor/site_admin.pp
> > index 4c3a91d..4f90fca 100644
> > --- a/recipes/aeolus/manifests/conductor/site_admin.pp
> > +++ b/recipes/aeolus/manifests/conductor/site_admin.pp
> > @@ -5,17 +5,12 @@ define aeolus::conductor::site_admin($email="", $password="", $first_name="", $l
> > environment => "RAILS_ENV=production",
> > command => "/usr/bin/rake dc:create_user[${name},${password},${email},${first_name},${last_name}]",
> > logoutput => true,
> > - creates => "/var/lib/aeolus-conductor/production.admin",
> > + unless => '/usr/bin/rake dc:admin_exists',
> > require => Aeolus::Rails::Seed::Db["seed_aeolus_database"]}
> > exec{"grant_site_admin_privs":
> > cwd => '/usr/share/aeolus-conductor',
> > environment => "RAILS_ENV=production",
> > command => "/usr/bin/rake dc:site_admin[${name}]",
> > logoutput => true,
> > - creates => "/var/lib/aeolus-conductor/production.admin",
> > require => Exec[create_site_admin_user]}
> > - file{"/var/lib/aeolus-conductor/production.admin":
> > - ensure => present,
> > - recurse => true,
> > - require => Exec['grant_site_admin_privs']}
> > }
> > --
> > 1.7.6.5
> >
>
> ACK, with the one enhancement below. This prevents the grant from
> running unless the user creation exec actually creates a user.
> Previously it would fail if you changed the admin username and then
> re-ran configure, because the user creation grant would "succeed"
> (e.g. the 'unless' condition was met) and then the grant would run. But
> the grant was trying to run for 'admin', and the username was changed to
> $something_else.
>
> Hopefully we can finally put this behind us now :)
>
>
>
> diff --git a/recipes/aeolus/manifests/conductor/site_admin.pp b/recipes/aeolus/manifests/conductor/site_admin.pp
> index 4f90fca..ad20161 100644
> --- a/recipes/aeolus/manifests/conductor/site_admin.pp
> +++ b/recipes/aeolus/manifests/conductor/site_admin.pp
> @@ -12,5 +12,6 @@ define aeolus::conductor::site_admin($email="", $password="", $first_name="", $l
> environment => "RAILS_ENV=production",
> command => "/usr/bin/rake dc:site_admin[${name}]",
> logoutput => true,
> - require => Exec[create_site_admin_user]}
> + subscribe => Exec[create_site_admin_user],
> + refreshonly => true}
> }
Good catch and thanks!
FWIW it errored for me but I missed it in the configure output. IOW, I tested the scenario you describe; I must have paged past it. Many eyes ftw.
Editing, re-testing, and pushing.
Steve|eggs
More information about the aeolus-devel
mailing list