Skip to content

Commit 41fcde3

Browse files
committed
Update glue dependency
1 parent 61b2859 commit 41fcde3

37 files changed

Lines changed: 25696 additions & 120853 deletions

plugins/module_utils/pulp_glue.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010

1111
from ansible.module_utils.basic import AnsibleModule, env_fallback, missing_required_lib
1212

13-
GLUE_VERSION_SPEC = ">=0.29.2,<0.37"
14-
GLUE_DEB_VERSION_SPEC = ">=0.3.0,<0.4"
13+
GLUE_VERSION_SPEC = ">=0.29.2,<0.40"
14+
GLUE_DEB_VERSION_SPEC = ">=0.3.0,<0.5"
1515

1616

1717
def assert_version(spec, version, name):
@@ -23,7 +23,11 @@ def assert_version(spec, version, name):
2323
from packaging.requirements import SpecifierSet
2424
from pulp_glue.common import __version__ as pulp_glue_version
2525
from pulp_glue.common.context import PulpContext, PulpException, PulpNoWait
26-
from pulp_glue.common.openapi import BasicAuthProvider
26+
27+
if SpecifierSet(">=0.38").contains(pulp_glue_version):
28+
from pulp_glue.common.authentication import BasicAuthProvider
29+
else:
30+
from pulp_glue.common.openapi import BasicAuthProvider
2731

2832
assert_version(GLUE_VERSION_SPEC, pulp_glue_version, "pulp-glue")
2933
PULP_CLI_IMPORT_ERR = None

plugins/modules/ansible_sync.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,17 @@ def main():
113113
repository_version = repository["latest_version_href"]
114114
# In check_mode, assume nothing changed
115115
if not module.check_mode:
116-
sync_task = repository_ctx.sync(body=payload)
117-
118-
if sync_task["created_resources"]:
116+
old_repository_version = repository_version
117+
sync_result = repository_ctx.sync(body=payload)
118+
119+
if "content_summary" in sync_result:
120+
# Looks like a repository version.
121+
repository_version = sync_result["pulp_href"]
122+
elif sync_result["created_resources"]:
123+
# Assume it's a task.
124+
repository_version = sync_result["created_resources"][0]
125+
if old_repository_version != repository_version:
119126
module.set_changed()
120-
repository_version = sync_task["created_resources"][0]
121127

122128
module.set_result("repository_version", repository_version)
123129

plugins/modules/container_remote.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,37 @@
8888
from ansible_collections.pulp.squeezer.plugins.module_utils.pulp_glue import PulpRemoteAnsibleModule
8989

9090
try:
91+
from pulp_glue.common.context import PluginRequirement
9192
from pulp_glue.container.context import PulpContainerRemoteContext
9293

94+
class PulpContainerRemoteContext(PulpContainerRemoteContext):
95+
def converge(self, desired_attributes, defaults=None):
96+
if self.pulp_ctx.has_plugin(PluginRequirement("container", specifier=">=2.28.0")):
97+
# Translate the old name to the new one and back afterwards.
98+
# Here specifically we can assume there are no defaults.
99+
# Eventually we expect glue to only expose the new name to us.
100+
if desired_attributes is not None:
101+
if "include_tags" in desired_attributes:
102+
desired_attributes["includes"] = desired_attributes.pop("include_tags")
103+
if "exclude_tags" in desired_attributes:
104+
desired_attributes["excludes"] = desired_attributes.pop("exclude_tags")
105+
106+
changed, before, after = super().converge(desired_attributes, defaults=defaults)
107+
108+
if before is not None:
109+
if "includes" in before:
110+
before["include_tags"] = before.pop("includes")
111+
if "excludes" in before:
112+
before["exclude_tags"] = before.pop("excludes")
113+
if after is not None:
114+
if "includes" in after:
115+
after["include_tags"] = after.pop("includes")
116+
if "excludes" in after:
117+
after["exclude_tags"] = after.pop("excludes")
118+
119+
return changed, before, after
120+
return super().converge(desired_attributes, defaults=defaults)
121+
93122
PULP_GLUE_IMPORT_ERR = None
94123
except ImportError:
95124
PULP_GLUE_IMPORT_ERR = traceback.format_exc()

plugins/modules/container_sync.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,17 @@ def main():
9898
repository_version = repository["latest_version_href"]
9999
# In check_mode, assume nothing changed
100100
if not module.check_mode:
101-
sync_task = repository_ctx.sync(body=payload)
102-
103-
if sync_task["created_resources"]:
101+
old_repository_version = repository_version
102+
sync_result = repository_ctx.sync(body=payload)
103+
104+
if "content_summary" in sync_result:
105+
# Looks like a repository version.
106+
repository_version = sync_result["pulp_href"]
107+
elif sync_result["created_resources"]:
108+
# Assume it's a task.
109+
repository_version = sync_result["created_resources"][0]
110+
if old_repository_version != repository_version:
104111
module.set_changed()
105-
repository_version = sync_task["created_resources"][0]
106112

107113
module.set_result("repository_version", repository_version)
108114

plugins/modules/deb_sync.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,17 @@ def main():
116116
repository_version = repository["latest_version_href"]
117117
# In check_mode, assume nothing changed
118118
if not module.check_mode:
119-
sync_task = repository_ctx.sync(body=payload)
120-
121-
if sync_task["created_resources"]:
119+
old_repository_version = repository_version
120+
sync_result = repository_ctx.sync(body=payload)
121+
122+
if "content_summary" in sync_result:
123+
# Looks like a repository version.
124+
repository_version = sync_result["pulp_href"]
125+
elif sync_result["created_resources"]:
126+
# Assume it's a task.
127+
repository_version = sync_result["created_resources"][0]
128+
if old_repository_version != repository_version:
122129
module.set_changed()
123-
repository_version = sync_task["created_resources"][0]
124130

125131
module.set_result("repository_version", repository_version)
126132

plugins/modules/file_sync.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,17 @@ def main():
105105
repository_version = repository["latest_version_href"]
106106
# In check_mode, assume nothing changed
107107
if not module.check_mode:
108-
sync_task = repository_ctx.sync(body=payload)
109-
110-
if sync_task["created_resources"]:
108+
old_repository_version = repository_version
109+
sync_result = repository_ctx.sync(body=payload)
110+
111+
if "content_summary" in sync_result:
112+
# Looks like a repository version.
113+
repository_version = sync_result["pulp_href"]
114+
elif sync_result["created_resources"]:
115+
# Assume it's a task.
116+
repository_version = sync_result["created_resources"][0]
117+
if old_repository_version != repository_version:
111118
module.set_changed()
112-
repository_version = sync_task["created_resources"][0]
113119

114120
module.set_result("repository_version", repository_version)
115121

plugins/modules/python_sync.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,17 @@ def main():
9292
repository_version = repository["latest_version_href"]
9393
# In check_mode, assume nothing changed
9494
if not module.check_mode:
95-
sync_task = repository_ctx.sync(body=payload)
96-
97-
if sync_task["created_resources"]:
95+
old_repository_version = repository_version
96+
sync_result = repository_ctx.sync(body=payload)
97+
98+
if "content_summary" in sync_result:
99+
# Looks like a repository version.
100+
repository_version = sync_result["pulp_href"]
101+
elif sync_result["created_resources"]:
102+
# Assume it's a task.
103+
repository_version = sync_result["created_resources"][0]
104+
if old_repository_version != repository_version:
98105
module.set_changed()
99-
repository_version = sync_task["created_resources"][0]
100106

101107
module.set_result("repository_version", repository_version)
102108

plugins/modules/rpm_repository.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@
107107
import json
108108
import traceback
109109

110-
from ansible.module_utils.six import string_types
111110
from ansible_collections.pulp.squeezer.plugins.module_utils.pulp_glue import PulpEntityAnsibleModule
112111

113112
try:
@@ -161,7 +160,7 @@ def main():
161160

162161
# Encode the repo_config unless its a string, then assume it is pre-formatted JSON
163162
if "repo_config" in desired_attributes and isinstance(
164-
desired_attributes["repo_config"], string_types
163+
desired_attributes["repo_config"], str
165164
):
166165
desired_attributes["repo_config"] = json.loads(desired_attributes["repo_config"])
167166

plugins/modules/rpm_sync.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,17 @@ def main():
155155
repository_version = repository["latest_version_href"]
156156
# In check_mode, assume nothing changed
157157
if not module.check_mode:
158-
sync_task = repository_ctx.sync(body=payload)
159-
160-
if sync_task["created_resources"]:
158+
old_repository_version = repository_version
159+
sync_result = repository_ctx.sync(body=payload)
160+
161+
if "content_summary" in sync_result:
162+
# Looks like a repository version.
163+
repository_version = sync_result["pulp_href"]
164+
elif sync_result["created_resources"]:
165+
# Assume it's a task.
166+
repository_version = sync_result["created_resources"][0]
167+
if old_repository_version != repository_version:
161168
module.set_changed()
162-
repository_version = sync_task["created_resources"][0]
163169

164170
module.set_result("repository_version", repository_version)
165171

requirements-test.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
pulp-glue<0.37,>=0.29.2
2-
pulp-glue-deb<0.4.0,>=0.3.0
1+
pulp-glue<0.40,>=0.29.2
2+
pulp-glue-deb<0.5,>=0.3.0
33

44
ansible-core
55
ansible_runner

0 commit comments

Comments
 (0)