From d20c4523bfb73468cbaa4b5ac57f2294168909f7 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Sat, 28 Jul 2012 11:27:47 -0500 Subject: [PATCH] Broke launchpad user sync into its own class. Additionally, the file installation of the scripts wasn't working, so the sync script wasn't actually getting installed. This moves the underlying scripts to be installed by the gerrit module, because it owns /usr/local/gerrit/scripts, and then manages the gerrit hooks which call those scripts in the openstack_project class, since that's where the config choice to enable those functions really should live. Change-Id: I54fb9edd9fb0c634d8d9de4e57f9ddad6af63a99 --- .../files}/scripts/notify_doc_impact.py | 0 .../files}/scripts/update_blueprint.py | 0 .../files}/scripts/update_bug.py | 0 .../files}/scripts/update_cla_group.py | 0 .../files}/update_gerrit_users.py | 3 ++- .../files}/update_users.py | 0 modules/launchpad_sync/manifests/init.pp | 24 +++++++++++++++++++ .../files/gerrit}/change-merged | 0 .../files/gerrit}/patchset-created | 0 modules/openstack_project/manifests/gerrit.pp | 17 ++++++++----- 10 files changed, 37 insertions(+), 7 deletions(-) rename modules/{openstack_project/files/gerrit => gerrit/files}/scripts/notify_doc_impact.py (100%) rename modules/{openstack_project/files/gerrit => gerrit/files}/scripts/update_blueprint.py (100%) rename modules/{openstack_project/files/gerrit => gerrit/files}/scripts/update_bug.py (100%) rename modules/{openstack_project/files/gerrit => gerrit/files}/scripts/update_cla_group.py (100%) rename modules/{openstack_project/files/gerrit/scripts => launchpad_sync/files}/update_gerrit_users.py (99%) rename modules/{openstack_project/files/gerrit/scripts => launchpad_sync/files}/update_users.py (100%) create mode 100644 modules/launchpad_sync/manifests/init.pp rename modules/{gerrit/files => openstack_project/files/gerrit}/change-merged (100%) rename modules/{gerrit/files => openstack_project/files/gerrit}/patchset-created (100%) diff --git a/modules/openstack_project/files/gerrit/scripts/notify_doc_impact.py b/modules/gerrit/files/scripts/notify_doc_impact.py similarity index 100% rename from modules/openstack_project/files/gerrit/scripts/notify_doc_impact.py rename to modules/gerrit/files/scripts/notify_doc_impact.py diff --git a/modules/openstack_project/files/gerrit/scripts/update_blueprint.py b/modules/gerrit/files/scripts/update_blueprint.py similarity index 100% rename from modules/openstack_project/files/gerrit/scripts/update_blueprint.py rename to modules/gerrit/files/scripts/update_blueprint.py diff --git a/modules/openstack_project/files/gerrit/scripts/update_bug.py b/modules/gerrit/files/scripts/update_bug.py similarity index 100% rename from modules/openstack_project/files/gerrit/scripts/update_bug.py rename to modules/gerrit/files/scripts/update_bug.py diff --git a/modules/openstack_project/files/gerrit/scripts/update_cla_group.py b/modules/gerrit/files/scripts/update_cla_group.py similarity index 100% rename from modules/openstack_project/files/gerrit/scripts/update_cla_group.py rename to modules/gerrit/files/scripts/update_cla_group.py diff --git a/modules/openstack_project/files/gerrit/scripts/update_gerrit_users.py b/modules/launchpad_sync/files/update_gerrit_users.py similarity index 99% rename from modules/openstack_project/files/gerrit/scripts/update_gerrit_users.py rename to modules/launchpad_sync/files/update_gerrit_users.py index 15baaa9b79..7d7d630c4d 100755 --- a/modules/openstack_project/files/gerrit/scripts/update_gerrit_users.py +++ b/modules/launchpad_sync/files/update_gerrit_users.py @@ -56,6 +56,7 @@ parser = argparse.ArgumentParser() parser.add_argument('user', help='The gerrit admin user') parser.add_argument('ssh_key', help='The gerrit admin SSH key file') parser.add_argument('site', help='The site in use (typically openstack or stackforge)') +parser.add_argument('root_team', help='The root launchpad team to pull from') options = parser.parse_args() GERRIT_USER = options.user @@ -126,7 +127,7 @@ def get_sub_teams(team, have_teams): return have_teams -teams_todo = get_sub_teams('openstack', []) +teams_todo = get_sub_teams(options.root_team, []) users={} groups={} diff --git a/modules/openstack_project/files/gerrit/scripts/update_users.py b/modules/launchpad_sync/files/update_users.py similarity index 100% rename from modules/openstack_project/files/gerrit/scripts/update_users.py rename to modules/launchpad_sync/files/update_users.py diff --git a/modules/launchpad_sync/manifests/init.pp b/modules/launchpad_sync/manifests/init.pp new file mode 100644 index 0000000000..4780c61ee4 --- /dev/null +++ b/modules/launchpad_sync/manifests/init.pp @@ -0,0 +1,24 @@ +class launchpad_sync( + $user, + $script_user, + $script_key_file, + $site, + $root_team +) { + + file { '/usr/local/bin/update_gerrit_users.py': + owner => 'root', + group => 'root', + mode => 755, + source => "puppet:///modules/launchpad_sync/update_gerrit_users.py", + ensure => present, + } + + cron { "sync_launchpad_users": + user => $user, + minute => "*/15", + command => "sleep $((RANDOM\\%60+60)) && python /usr/local/bin/update_gerrit_users.py ${script_user} ${script_key_file} ${site} ${root_team}", + require => File['/usr/local/bin/update_gerrit_users.py'], + } + +} diff --git a/modules/gerrit/files/change-merged b/modules/openstack_project/files/gerrit/change-merged similarity index 100% rename from modules/gerrit/files/change-merged rename to modules/openstack_project/files/gerrit/change-merged diff --git a/modules/gerrit/files/patchset-created b/modules/openstack_project/files/gerrit/patchset-created similarity index 100% rename from modules/gerrit/files/patchset-created rename to modules/openstack_project/files/gerrit/patchset-created diff --git a/modules/openstack_project/manifests/gerrit.pp b/modules/openstack_project/manifests/gerrit.pp index 55edca19c9..4ce1d76eb2 100644 --- a/modules/openstack_project/manifests/gerrit.pp +++ b/modules/openstack_project/manifests/gerrit.pp @@ -134,10 +134,15 @@ class openstack_project::gerrit ( } cron { "gerritsyncusers": - user => gerrit2, - minute => "*/15", - command => "sleep $((RANDOM\\%60+60)) && python /usr/local/gerrit/scripts/update_gerrit_users.py ${script_user} ${script_key_file} openstack", - require => Class['::gerrit'], + ensure => absent, + } + + class { "launchpad_sync": + user => "gerrit2", + script_user => $script_user, + script_key_file => $script_key_file, + site => "openstack", + root_team => "openstack", } file { '/home/gerrit2/review_site/hooks/change-merged': @@ -145,7 +150,7 @@ class openstack_project::gerrit ( group => 'root', mode => 555, ensure => 'present', - source => 'puppet:///modules/gerrit/change-merged', + source => 'puppet:///modules/openstack_project/gerrit/change-merged', replace => 'true', require => Class['::gerrit'] } @@ -155,7 +160,7 @@ class openstack_project::gerrit ( group => 'root', mode => 555, ensure => 'present', - source => 'puppet:///modules/gerrit/patchset-created', + source => 'puppet:///modules/openstack_project/gerrit/patchset-created', replace => 'true', require => Class['::gerrit'] }