summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalph Bean <rbean@redhat.com>2017-08-18 15:37:52 +0000
committerRalph Bean <rbean@redhat.com>2017-08-18 15:37:55 +0000
commit358a9b1a8d168a8ee355dc89aa35dee849c4977a (patch)
treedf2824877777c927f99664e6d297a469be4ed052
parentcc0ae629c5c60d3c8ead581917cdcf4af6e4a96c (diff)
downloadansible-358a9b1a8d168a8ee355dc89aa35dee849c4977a.tar.gz
ansible-358a9b1a8d168a8ee355dc89aa35dee849c4977a.tar.xz
ansible-358a9b1a8d168a8ee355dc89aa35dee849c4977a.zip
koji package list sync should get branches from pdc, not pagure.
-rwxr-xr-xroles/bodhi2/backend/templates/owner-sync-pagure.j236
1 files changed, 26 insertions, 10 deletions
diff --git a/roles/bodhi2/backend/templates/owner-sync-pagure.j2 b/roles/bodhi2/backend/templates/owner-sync-pagure.j2
index 946a2b175..bb3286435 100755
--- a/roles/bodhi2/backend/templates/owner-sync-pagure.j2
+++ b/roles/bodhi2/backend/templates/owner-sync-pagure.j2
@@ -52,11 +52,22 @@ IPA_REALM = '{{ ipa_realm }}'
ENV_SUFFIX = '{{ env_suffix }}'
if STAGING:
PAGURE_URL = 'https://src.stg.fedoraproject.org/'
+ PDC_URL = 'https://pdc.stg.fedoraproject.org/rest_api/v1/'
else:
PAGURE_URL = 'https://src.fedoraproject.org/'
+ PDC_URL = 'https://pdc.fedoraproject.org/rest_api/v1/'
# In case the above variables end up being filled in by Ansible
if not PAGURE_URL.endswith('/'):
PAGURE_URL = PAGURE_URL + '/'
+if not PDC_URL.endswith('/'):
+ PDC_URL = PDC_URL + '/'
+
+PDC_TYPES = {
+ 'rpms': 'rpm',
+ 'modules': 'module',
+ 'container': 'container',
+}
+
RAWHIDE = '28'
EXTRA_ARCH_LIST = {
@@ -165,8 +176,8 @@ def get_repo_name_and_arches(tag, version):
return repo_name, arches
-def get_pagure_project_name_and_branch(session, namespace, project_name,
- verbose=False):
+def get_pdc_project_name_and_branch(session, namespace, project_name,
+ verbose=False):
"""
Gets the branches on a project. This function is used for mapping.
:param namespace: string of the namespace the project is in
@@ -175,19 +186,24 @@ def get_pagure_project_name_and_branch(session, namespace, project_name,
:return: a tuple containing the string of the project and a list of
branches
"""
- project_branches_url = '{0}api/0/{1}/{2}/git/branches'.format(
- PAGURE_URL, namespace, project_name)
+ project_branches_url = '{0}component-branches/'.format(PDC_URL)
+ params = dict(
+ global_component=project_name,
+ type=PDC_TYPES[namespace],
+ active=True,
+ )
if verbose:
- print('- Querying {0}'.format(project_branches_url))
+ print('- Querying {0} {1}'.format(project_branches_url, params))
project_branches_rv = session.get(
- project_branches_url, verify=VERIFY, timeout=60)
+ project_branches_url, params=params, verify=VERIFY, timeout=60)
# If the project's branches can't be reported, just return no branches and
# it will be skipped later on
if not project_branches_rv.ok:
return project_name, []
- return project_name, project_branches_rv.json()['branches']
+ data = project_branches_rv.json()
+ return project_name, [branch['name'] for branch in data['results']]
def get_pagure_project_names_from_page(session, namespace, page,
@@ -261,13 +277,13 @@ def get_pagure_project_branches(namespace, package=None, verbose=False):
# Since we are going to multi-thread, we need to make a partial function
# call so that all the function needs is an iterable to run
- partial_get_pagure_project_name_and_branch = partial(
- get_pagure_project_name_and_branch, session, namespace,
+ partial_get_pdc_project_name_and_branch = partial(
+ get_pdc_project_name_and_branch, session, namespace,
verbose=verbose)
# Get a list of tuples in the form of (project, [branch...]), then convert
# that to a dictionary
project_names_to_branches = dict(pool.map(
- partial_get_pagure_project_name_and_branch, project_names))
+ partial_get_pdc_project_name_and_branch, project_names))
pool.close()
return project_names_to_branches