summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Yves Chibon <pingou@pingoured.fr>2017-04-20 16:34:05 +0200
committerPierre-Yves Chibon <pingou@pingoured.fr>2017-04-21 11:37:21 +0200
commit69cedaca1294363ed2323557d5e9842ebe34d9ad (patch)
tree7678b05355b8c6661e4433f8a68f5c394877394e
parentbdd8d13e487399de82c69c5635e3cf7a5b18a991 (diff)
downloadansible-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.stg29
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]