diff options
author | Pierre-Yves Chibon <pingou@pingoured.fr> | 2017-04-20 16:34:05 +0200 |
---|---|---|
committer | Pierre-Yves Chibon <pingou@pingoured.fr> | 2017-04-21 11:37:21 +0200 |
commit | 69cedaca1294363ed2323557d5e9842ebe34d9ad (patch) | |
tree | 7678b05355b8c6661e4433f8a68f5c394877394e | |
parent | bdd8d13e487399de82c69c5635e3cf7a5b18a991 (diff) | |
download | ansible-69cedaca1294363ed2323557d5e9842ebe34d9ad.tar.gz ansible-69cedaca1294363ed2323557d5e9842ebe34d9ad.tar.xz ansible-69cedaca1294363ed2323557d5e9842ebe34d9ad.zip |
Make all the creation (group and project) be done by the releng user
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
-rw-r--r-- | roles/distgit/templates/genacls.pkgdb.stg | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/roles/distgit/templates/genacls.pkgdb.stg b/roles/distgit/templates/genacls.pkgdb.stg index 980e8db56..541c563b2 100644 --- a/roles/distgit/templates/genacls.pkgdb.stg +++ b/roles/distgit/templates/genacls.pkgdb.stg @@ -20,6 +20,7 @@ from sqlalchemy.exc import SQLAlchemyError TESTING = False + if 'PAGURE_CONFIG' not in os.environ \ and os.path.exists('/etc/pagure/pagure.cfg'): if TESTING: @@ -39,6 +40,13 @@ GRP_URL = 'https://admin.fedoraproject.org/pkgdb/api/groups?format=json' {% endif %} +RELENG_USER = { + 'username': 'releng', + 'fullname': 'Fedora Release Engineering', + 'default_email': 'releng-team@fedoraproject.org', +} + + def get_user_info(username): ''' Uses python-fedora to get information about a FAS user ''' @@ -50,10 +58,11 @@ def get_user_info(username): return user -def create_user_obj(session, username): +def create_user_obj(session, username, userinfo=None): ''' Creates a sqlalchemy user object for pagure db ''' try: - userinfo = get_user_info(username) + if not userinfo: + userinfo = get_user_info(username) user = pagure.lib.set_up_user( session=session, username=username, @@ -97,7 +106,7 @@ def create_groups_in_db(groups): display_name=groupname, description=None, group_type='user', - user=groups[groupname][0], + user='releng', is_admin=False, blacklist=pagure.APP.config['BLACKLISTED_GROUPS'] ) @@ -120,7 +129,7 @@ def create_groups_in_db(groups): session=SESSION, username=guser, group=group_obj, - user=groups[groupname][0], + user='releng', is_admin=False ) SESSION.commit() @@ -149,7 +158,7 @@ def update_owners_to_db(session, namespace, pkg, owners): try: pagure.lib.new_project( session=session, - user=owner, + user='releng', namespace=namespace, name=pkg, blacklist=pagure.APP.config['BLACKLISTED_PROJECTS'], @@ -188,7 +197,7 @@ def update_owners_to_db(session, namespace, pkg, owners): session=session, project=pkg_obj, new_user=owner_obj.user, - user=pkg_obj.user.user, + user='releng', ) session.commit() except SQLAlchemyError as err: @@ -215,7 +224,7 @@ def update_groups_to_db(session, namespace, pkg, pkg_groups): try: pagure.lib.new_project( session=session, - user=group_obj.creator.user, + user='releng', namespace=namespace, name=pkg, blacklist=pagure.APP.config['BLACKLISTED_PROJECTS'], @@ -257,7 +266,7 @@ def update_groups_to_db(session, namespace, pkg, pkg_groups): session=session, project=pkg_obj, new_group=group, - user=pkg_obj.user.user, + user='releng', access='admin' ) session.commit() @@ -341,6 +350,10 @@ def process_pkg(arg): if __name__ == '__main__': + # Create the rel-eng user if it needs to + if not pagure.lib.search_user(SESSION, username='releng'): + create_user_obj(SESSION, 'releng', RELENG_USER) + TRUSTED = grp.getgrnam('cvsadmin')[3] ARM = grp.getgrnam('fedora-arm')[3] SPARC = grp.getgrnam('fedora-sparc')[3] |