Skip to content

Commit 20cc4ab

Browse files
authored
Merge pull request #507 from stackhpc/refactor/pulp-urls
Refactor pulp/dnf roles to avoid having to redefine Ark URLs
2 parents 3d91816 + ada3dc9 commit 20cc4ab

File tree

4 files changed

+38
-27
lines changed

4 files changed

+38
-27
lines changed

ansible/filter_plugins/utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ def to_ood_regex(items):
4848
r = ['(%s)' % v for v in r]
4949
return '|'.join(r)
5050

51+
def appliances_repo_to_subpath(repo_entry):
52+
""" Take an element from appliances_pulp_repos and convert it to a pulp path. This assumes that the remote and local pulp structures are the same
53+
"""
54+
return repo_entry['path'] + '/' + repo_entry['timestamp']
55+
5156
class FilterModule(object):
5257
''' Ansible core jinja2 filters '''
5358

@@ -63,4 +68,5 @@ def filters(self):
6368
'exists': exists,
6469
'warn': self.warn,
6570
'to_ood_regex': to_ood_regex,
71+
'appliances_repo_to_subpath': appliances_repo_to_subpath
6672
}
Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
dnf_repos_pulp_content_url: "{{ appliances_pulp_url }}/pulp/content"
2-
dnf_repos_rocky_prefix: "{{ ansible_distribution | lower }}/{{ ansible_distribution_version }}"
3-
dnf_repos_epel_prefix: "epel/{{ ansible_distribution_major_version }}"
42
dnf_repos_username: "{{ omit }}"
53
dnf_repos_password: "{{ omit }}"
64

75
# epel installed separately
86
dnf_repos_repolist:
97
- file: rocky
108
name: baseos
11-
base_url: "{{ dnf_repos_pulp_content_url }}/{{ dnf_repos_rocky_prefix }}/BaseOS/{{ ansible_architecture }}/os/{{ appliances_repo_timestamps.baseos[ansible_distribution_version] }}"
9+
base_url: "{{ dnf_repos_pulp_content_url }}/{{ appliances_pulp_repos.baseos[ansible_distribution_version] | appliances_repo_to_subpath }}"
1210
- file: rocky
1311
name: appstream
14-
base_url: "{{ dnf_repos_pulp_content_url }}/{{ dnf_repos_rocky_prefix }}/AppStream/{{ ansible_architecture }}/os/{{ appliances_repo_timestamps.appstream[ansible_distribution_version] }}"
12+
base_url: "{{ dnf_repos_pulp_content_url }}/{{ appliances_pulp_repos.appstream[ansible_distribution_version] | appliances_repo_to_subpath }}"
1513
- file: rocky
1614
name: crb
17-
base_url: "{{ dnf_repos_pulp_content_url }}/{{ dnf_repos_rocky_prefix }}/CRB/{{ ansible_architecture }}/os/{{ appliances_repo_timestamps.crb[ansible_distribution_version] }}"
15+
base_url: "{{ dnf_repos_pulp_content_url }}/{{ appliances_pulp_repos.crb[ansible_distribution_version] | appliances_repo_to_subpath }}"
1816
- file: rocky-extras
1917
name: extras
20-
base_url: "{{ dnf_repos_pulp_content_url }}/{{ dnf_repos_rocky_prefix }}/extras/{{ ansible_architecture }}/os/{{ appliances_repo_timestamps.extras[ansible_distribution_version] }}"
18+
base_url: "{{ dnf_repos_pulp_content_url }}/{{ appliances_pulp_repos.extras[ansible_distribution_version] | appliances_repo_to_subpath }}"
2119

22-
dnf_repos_epel_baseurl: "{{ dnf_repos_pulp_content_url }}/epel/{{ ansible_distribution_major_version }}/Everything/{{ ansible_architecture }}/{{ appliances_repo_timestamps.epel[ansible_distribution_major_version] }}"
20+
dnf_repos_epel_baseurl: "{{ dnf_repos_pulp_content_url }}/{{ appliances_pulp_repos.epel[ansible_distribution_major_version] | appliances_repo_to_subpath }}"
2321
dnf_repos_epel_description: "epel"

ansible/roles/pulp_site/defaults/main.yml

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,25 @@ pulp_site_port: 8080
33
pulp_site_username: admin # shouldn't be changed
44
pulp_site_password: "{{ vault_pulp_admin_password }}"
55
pulp_site_upstream_content_url: https://ark.stackhpc.com/pulp/content
6-
_pulp_site_rocky_prefix: "{{ pulp_site_target_distribution }}/{{ pulp_site_target_distribution_version }}"
76
pulp_site_default_upstream_suffix: "{{ pulp_site_target_arch }}/os"
87
pulp_site_validate_certs: false
98
pulp_site_install_dir: '/home/rocky/pulp'
109
pulp_site_selinux_suffix: "{{ ':Z' if ansible_selinux.status == 'enabled' else '' }}"
11-
pulp_site_target_facts: "{{ hostvars[groups['builder'][0]]['ansible_facts'] }}"
12-
pulp_site_target_arch: "{{ pulp_site_target_facts['architecture'] }}"
13-
pulp_site_target_distribution: "{{ pulp_site_target_facts['distribution'] | lower }}"
10+
pulp_site_target_facts: "{{ hostvars[groups['pulp'][0]]['ansible_facts'] }}"
1411
pulp_site_target_distribution_version: "{{ pulp_site_target_facts['distribution_version'] }}"
1512
pulp_site_target_distribution_version_major: "{{ pulp_site_target_facts['distribution_major_version'] }}"
1613

1714
pulp_site_rpm_info:
18-
- name: "baseos-{{ pulp_site_target_distribution_version }}-{{ appliances_repo_timestamps.baseos[pulp_site_target_distribution_version] }}"
19-
subpath: "{{ _pulp_site_rocky_prefix }}/BaseOS/{{ pulp_site_default_upstream_suffix }}/{{ appliances_repo_timestamps.baseos[pulp_site_target_distribution_version] }}"
20-
- name: "appstream-{{ pulp_site_target_distribution_version }}-{{ appliances_repo_timestamps.appstream[pulp_site_target_distribution_version] }}"
21-
subpath: "{{ _pulp_site_rocky_prefix }}/AppStream/{{ pulp_site_default_upstream_suffix }}/{{ appliances_repo_timestamps.appstream[pulp_site_target_distribution_version] }}"
22-
- name: "crb-{{ pulp_site_target_distribution_version }}-{{ appliances_repo_timestamps.crb[pulp_site_target_distribution_version] }}"
23-
subpath: "{{ _pulp_site_rocky_prefix }}/{{ 'PowerTools' if pulp_site_target_distribution_version_major == '8' else 'CRB' }}/{{ pulp_site_default_upstream_suffix }}/{{ appliances_repo_timestamps.crb[pulp_site_target_distribution_version] }}"
24-
- name: "extras-{{ pulp_site_target_distribution_version }}-{{ appliances_repo_timestamps.extras[pulp_site_target_distribution_version] }}"
25-
subpath: "{{ _pulp_site_rocky_prefix }}/extras/{{ pulp_site_default_upstream_suffix }}/{{ appliances_repo_timestamps.extras[pulp_site_target_distribution_version] }}"
26-
- name: "epel-{{ pulp_site_target_distribution_version_major }}-{{ appliances_repo_timestamps.epel[pulp_site_target_distribution_version_major] }}"
27-
subpath: "epel/{{ pulp_site_target_distribution_version_major }}/Everything/{{ pulp_site_target_arch }}/{{ appliances_repo_timestamps.epel[pulp_site_target_distribution_version_major] }}"
15+
- name: "baseos-{{ pulp_site_target_distribution_version }}-{{ appliances_pulp_repos.baseos[pulp_site_target_distribution_version].timestamp }}"
16+
subpath: "{{ appliances_pulp_repos.baseos[pulp_site_target_distribution_version] | appliances_repo_to_subpath }}"
17+
- name: "appstream-{{ pulp_site_target_distribution_version }}-{{ appliances_pulp_repos.appstream[pulp_site_target_distribution_version].timestamp }}"
18+
subpath: "{{ appliances_pulp_repos.appstream[pulp_site_target_distribution_version] | appliances_repo_to_subpath }}"
19+
- name: "crb-{{ pulp_site_target_distribution_version }}-{{ appliances_pulp_repos.crb[pulp_site_target_distribution_version].timestamp }}"
20+
subpath: "{{ appliances_pulp_repos.crb[pulp_site_target_distribution_version] | appliances_repo_to_subpath }}"
21+
- name: "extras-{{ pulp_site_target_distribution_version }}-{{ appliances_pulp_repos.extras[pulp_site_target_distribution_version].timestamp }}"
22+
subpath: "{{ appliances_pulp_repos.extras[pulp_site_target_distribution_version] | appliances_repo_to_subpath }}"
23+
- name: "epel-{{ pulp_site_target_distribution_version_major }}-{{ appliances_pulp_repos.epel[pulp_site_target_distribution_version_major].timestamp }}"
24+
subpath: "{{ appliances_pulp_repos.epel[pulp_site_target_distribution_version_major] | appliances_repo_to_subpath }}"
2825

2926
pulp_site_rpm_repo_defaults:
3027
remote_username: "{{ pulp_site_upstream_username }}"

environments/common/inventory/group_vars/all/defaults.yml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,24 @@ appliances_extra_packages: "{{ appliances_extra_packages_default + appliances_ex
103103

104104
###################### ark repo timestamps ###################################################
105105

106-
appliances_repo_timestamps:
106+
appliances_pulp_repos:
107107
baseos:
108-
'9.4': 20241115T011711
108+
'9.4':
109+
timestamp: 20241115T011711
110+
path: rocky/9.4/BaseOS/x86_64/os
109111
appstream:
110-
'9.4': 20241112T003151
112+
'9.4':
113+
timestamp: 20241112T003151
114+
path: rocky/9.4/AppStream/x86_64/os
111115
crb:
112-
'9.4': 20241115T003133
116+
'9.4':
117+
timestamp: 20241115T003133
118+
path: rocky/9.4/CRB/x86_64/os
113119
extras:
114-
'9.4': 20241118T002802
120+
'9.4':
121+
timestamp: 20241118T002802
122+
path: rocky/9.4/extras/x86_64/os
115123
epel:
116-
'9': 20241213T010218
124+
'9':
125+
timestamp: 20241213T010218
126+
path: epel/9/Everything/x86_64

0 commit comments

Comments
 (0)