summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/ansible-galaxy-collection
diff options
context:
space:
mode:
authorMatt Martz <matt@sivel.net>2023-06-07 16:09:01 +0200
committerGitHub <noreply@github.com>2023-06-07 16:09:01 +0200
commit92d5ffda82a84a559e7a0d6f8352a2071fd2d3aa (patch)
tree1bc374adff32ce90964da4ab51e47f61b9e8085b /test/integration/targets/ansible-galaxy-collection
parentUpdate other_tools_and_programs.rst (#80895) (diff)
downloadansible-92d5ffda82a84a559e7a0d6f8352a2071fd2d3aa.tar.xz
ansible-92d5ffda82a84a559e7a0d6f8352a2071fd2d3aa.zip
Update galaxy_ng container for tests (#80721)
Diffstat (limited to 'test/integration/targets/ansible-galaxy-collection')
-rw-r--r--test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py57
-rw-r--r--test/integration/targets/ansible-galaxy-collection/library/setup_collections.py11
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/download.yml4
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/init.yml6
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/install.yml87
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/install_offline.yml8
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/main.yml32
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/publish.yml5
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/supported_resolvelib.yml8
-rw-r--r--test/integration/targets/ansible-galaxy-collection/tasks/verify.yml8
-rw-r--r--test/integration/targets/ansible-galaxy-collection/templates/ansible.cfg.j216
-rw-r--r--test/integration/targets/ansible-galaxy-collection/vars/main.yml3
12 files changed, 148 insertions, 97 deletions
diff --git a/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py b/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py
index 53c29f7704..c1f5e1d73c 100644
--- a/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py
+++ b/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py
@@ -84,7 +84,8 @@ def invoke_api(module, url, method='GET', data=None, status_codes=None):
resp, info = fetch_url(module, url, method=method, data=data, headers=headers)
if info['status'] not in status_codes:
- module.fail_json(url=url, **info)
+ info['url'] = url
+ module.fail_json(**info)
data = to_text(resp.read())
if data:
@@ -105,7 +106,7 @@ def delete_pulp_distribution(distribution, module):
def delete_pulp_orphans(module):
""" Deletes any orphaned pulp objects. """
- orphan_uri = module.params['pulp_api'] + '/pulp/api/v3/orphans/'
+ orphan_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/orphans/'
task_info = invoke_api(module, orphan_uri, method='DELETE', status_codes=[202])
wait_pulp_task(task_info['task'], module)
@@ -125,25 +126,39 @@ def get_galaxy_namespaces(module):
return [n['name'] for n in ns_info['data']]
-def get_pulp_distributions(module):
+def get_pulp_distributions(module, distribution):
""" Gets a list of all the pulp distributions. """
- distro_uri = module.params['pulp_api'] + '/pulp/api/v3/distributions/ansible/ansible/'
- distro_info = invoke_api(module, distro_uri)
+ distro_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/distributions/ansible/ansible/'
+ distro_info = invoke_api(module, distro_uri + '?name=' + distribution)
return [module.params['pulp_api'] + r['pulp_href'] for r in distro_info['results']]
-def get_pulp_repositories(module):
+def get_pulp_repositories(module, repository):
""" Gets a list of all the pulp repositories. """
- repo_uri = module.params['pulp_api'] + '/pulp/api/v3/repositories/ansible/ansible/'
- repo_info = invoke_api(module, repo_uri)
+ repo_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/repositories/ansible/ansible/'
+ repo_info = invoke_api(module, repo_uri + '?name=' + repository)
return [module.params['pulp_api'] + r['pulp_href'] for r in repo_info['results']]
+def get_repo_collections(repository, module):
+ collections_uri = module.params['galaxy_ng_server'] + 'v3/plugin/ansible/content/' + repository + '/collections/index/'
+ # status code 500 isn't really expected, an unhandled exception is causing this instead of a 404
+ # See https://issues.redhat.com/browse/AAH-2329
+ info = invoke_api(module, collections_uri + '?limit=100&offset=0', status_codes=[200, 500])
+ if not info:
+ return []
+ return [module.params['pulp_api'] + c['href'] for c in info['data']]
+
+
+def delete_repo_collection(collection, module):
+ task_info = invoke_api(module, collection, method='DELETE', status_codes=[202])
+ wait_pulp_task(task_info['task'], module)
+
+
def new_galaxy_namespace(name, module):
""" Creates a new namespace in Galaxy NG. """
- ns_uri = module.params['galaxy_ng_server'] + 'v3/_ui/namespaces/'
- data = {'name': name, 'groups': [{'name': 'system:partner-engineers', 'object_permissions':
- ['add_namespace', 'change_namespace', 'upload_to_namespace']}]}
+ ns_uri = module.params['galaxy_ng_server'] + 'v3/namespaces/ '
+ data = {'name': name, 'groups': []}
ns_info = invoke_api(module, ns_uri, method='POST', data=data, status_codes=[201])
return ns_info['id']
@@ -151,16 +166,17 @@ def new_galaxy_namespace(name, module):
def new_pulp_repository(name, module):
""" Creates a new pulp repository. """
- repo_uri = module.params['pulp_api'] + '/pulp/api/v3/repositories/ansible/ansible/'
- data = {'name': name}
+ repo_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/repositories/ansible/ansible/'
+ # retain_repo_versions to work around https://issues.redhat.com/browse/AAH-2332
+ data = {'name': name, 'retain_repo_versions': '1024'}
repo_info = invoke_api(module, repo_uri, method='POST', data=data, status_codes=[201])
- return module.params['pulp_api'] + repo_info['pulp_href']
+ return repo_info['pulp_href']
def new_pulp_distribution(name, base_path, repository, module):
""" Creates a new pulp distribution for a repository. """
- distro_uri = module.params['pulp_api'] + '/pulp/api/v3/distributions/ansible/ansible/'
+ distro_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/distributions/ansible/ansible/'
data = {'name': name, 'base_path': base_path, 'repository': repository}
task_info = invoke_api(module, distro_uri, method='POST', data=data, status_codes=[202])
task_info = wait_pulp_task(task_info['task'], module)
@@ -194,8 +210,15 @@ def main():
)
module.params['force_basic_auth'] = True
- [delete_pulp_distribution(d, module) for d in get_pulp_distributions(module)]
- [delete_pulp_repository(r, module) for r in get_pulp_repositories(module)]
+ # It may be due to the process of cleaning up orphans, but we cannot delete the namespace
+ # while a collection still exists, so this is just a new safety to nuke all collections
+ # first
+ for repository in module.params['repositories']:
+ [delete_repo_collection(c, module) for c in get_repo_collections(repository, module)]
+
+ for repository in module.params['repositories']:
+ [delete_pulp_distribution(d, module) for d in get_pulp_distributions(module, repository)]
+ [delete_pulp_repository(r, module) for r in get_pulp_repositories(module, repository)]
delete_pulp_orphans(module)
[delete_galaxy_namespace(n, module) for n in get_galaxy_namespaces(module)]
diff --git a/test/integration/targets/ansible-galaxy-collection/library/setup_collections.py b/test/integration/targets/ansible-galaxy-collection/library/setup_collections.py
index 98ee1d582b..d5083ad2fe 100644
--- a/test/integration/targets/ansible-galaxy-collection/library/setup_collections.py
+++ b/test/integration/targets/ansible-galaxy-collection/library/setup_collections.py
@@ -77,6 +77,7 @@ RETURN = '''
#
'''
+import datetime
import os
import subprocess
import tarfile
@@ -104,6 +105,7 @@ def publish_collection(module, collection):
collection_dir = os.path.join(module.tmpdir, "%s-%s-%s" % (namespace, name, version))
b_collection_dir = to_bytes(collection_dir, errors='surrogate_or_strict')
os.mkdir(b_collection_dir)
+ os.mkdir(os.path.join(b_collection_dir, b'meta'))
with open(os.path.join(b_collection_dir, b'README.md'), mode='wb') as fd:
fd.write(b"Collection readme")
@@ -120,6 +122,8 @@ def publish_collection(module, collection):
}
with open(os.path.join(b_collection_dir, b'galaxy.yml'), mode='wb') as fd:
fd.write(to_bytes(yaml.safe_dump(galaxy_meta), errors='surrogate_or_strict'))
+ with open(os.path.join(b_collection_dir, b'meta/runtime.yml'), mode='wb') as fd:
+ fd.write(b'requires_ansible: ">=1.0.0"')
with tempfile.NamedTemporaryFile(mode='wb') as temp_fd:
temp_fd.write(b"data")
@@ -241,7 +245,8 @@ def run_module():
supports_check_mode=False
)
- result = dict(changed=True, results=[])
+ start = datetime.datetime.now()
+ result = dict(changed=True, results=[], start=str(start))
pool = threading.Pool(4)
publish_func = partial(publish_collection, module)
@@ -258,7 +263,9 @@ def run_module():
r['build']['rc'] + r['publish']['rc'] for r in result['results']
))
- module.exit_json(failed=failed, **result)
+ end = datetime.datetime.now()
+ delta = end - start
+ module.exit_json(failed=failed, end=str(end), delta=str(delta), **result)
def main():
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/download.yml b/test/integration/targets/ansible-galaxy-collection/tasks/download.yml
index b651a73e73..a554c277b2 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/download.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/download.yml
@@ -5,7 +5,7 @@
state: directory
- name: download collection with multiple dependencies with --no-deps
- command: ansible-galaxy collection download parent_dep.parent_collection:1.0.0 --no-deps -s pulp_v2 {{ galaxy_verbosity }}
+ command: ansible-galaxy collection download parent_dep.parent_collection:1.0.0 --no-deps -s galaxy_ng {{ galaxy_verbosity }}
register: download_collection
args:
chdir: '{{ galaxy_dir }}/download'
@@ -34,7 +34,7 @@
- (download_collection_actual.files[1].path | basename) in ['requirements.yml', 'parent_dep-parent_collection-1.0.0.tar.gz']
- name: download collection with multiple dependencies
- command: ansible-galaxy collection download parent_dep.parent_collection:1.0.0 -s pulp_v2 {{ galaxy_verbosity }}
+ command: ansible-galaxy collection download parent_dep.parent_collection:1.0.0 -s galaxy_ng {{ galaxy_verbosity }}
register: download_collection
args:
chdir: '{{ galaxy_dir }}/download'
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/init.yml b/test/integration/targets/ansible-galaxy-collection/tasks/init.yml
index c4b5d9c510..46198fef39 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/init.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/init.yml
@@ -5,6 +5,12 @@
chdir: '{{ galaxy_dir }}/scratch'
register: init_relative
+- name: create required runtime.yml
+ copy:
+ content: |
+ requires_ansible: '>=1.0.0'
+ dest: '{{ galaxy_dir }}/scratch/ansible_test/my_collection/meta/runtime.yml'
+
- name: get result of create default skeleton
find:
path: '{{ galaxy_dir }}/scratch/ansible_test/my_collection'
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/install.yml b/test/integration/targets/ansible-galaxy-collection/tasks/install.yml
index b332308ca2..39bd6f3d78 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/install.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/install.yml
@@ -168,7 +168,7 @@
- name: Find artifact url for namespace3.name
uri:
- url: '{{ test_server }}{{ vX }}collections/namespace3/name/versions/1.0.0/'
+ url: '{{ test_api_server }}v3/plugin/ansible/content/primary/collections/index/namespace3/name/versions/1.0.0/'
user: '{{ pulp_user }}'
password: '{{ pulp_password }}'
force_basic_auth: true
@@ -218,7 +218,7 @@
state: absent
- assert:
- that: error == expected_error
+ that: expected_error in error
vars:
error: "{{ result.stderr | regex_replace('\\n', ' ') }}"
expected_error: >-
@@ -258,12 +258,14 @@
ignore_errors: yes
register: result
- - debug: msg="Actual - {{ error }}"
+ - debug:
+ msg: "Actual - {{ error }}"
- - debug: msg="Expected - {{ expected_error }}"
+ - debug:
+ msg: "Expected - {{ expected_error }}"
- assert:
- that: error == expected_error
+ that: expected_error in error
always:
- name: clean up collection skeleton and artifact
file:
@@ -295,7 +297,7 @@
- name: Find artifact url for namespace4.name
uri:
- url: '{{ test_server }}{{ vX }}collections/namespace4/name/versions/1.0.0/'
+ url: '{{ test_api_server }}v3/plugin/ansible/content/primary/collections/index/namespace4/name/versions/1.0.0/'
user: '{{ pulp_user }}'
password: '{{ pulp_password }}'
force_basic_auth: true
@@ -325,10 +327,11 @@
environment:
ANSIBLE_GALAXY_SERVER_LIST: undefined
-- when: not requires_auth
+# pulp_v2 doesn't require auth
+- when: v2|default(false)
block:
- name: install a collection with an empty server list - {{ test_id }}
- command: ansible-galaxy collection install namespace5.name -s '{{ test_server }}' {{ galaxy_verbosity }}
+ command: ansible-galaxy collection install namespace5.name -s '{{ test_server }}' --api-version 2 {{ galaxy_verbosity }}
register: install_empty_server_list
environment:
ANSIBLE_COLLECTIONS_PATH: '{{ galaxy_dir }}/ansible_collections'
@@ -571,7 +574,6 @@
- namespace8
- namespace9
-# SIVEL
- name: assert invalid signature is not fatal with ansible-galaxy install --ignore-errors - {{ test_id }}
assert:
that:
@@ -697,39 +699,40 @@
- namespace8
- namespace9
-# Uncomment once pulp container is at pulp>=0.5.0
-#- name: install cache.cache at the current latest version
-# command: ansible-galaxy collection install cache.cache -s '{{ test_name }}' -vvv
-# environment:
-# ANSIBLE_COLLECTIONS_PATH: '{{ galaxy_dir }}/ansible_collections'
-#
-#- set_fact:
-# cache_version_build: '{{ (cache_version_build | int) + 1 }}'
-#
-#- name: publish update for cache.cache test
-# setup_collections:
-# server: galaxy_ng
-# collections:
-# - namespace: cache
-# name: cache
-# version: 1.0.{{ cache_version_build }}
-#
-#- name: make sure the cache version list is ignored on a collection version change - {{ test_id }}
-# command: ansible-galaxy collection install cache.cache -s '{{ test_name }}' --force -vvv
-# register: install_cached_update
-# environment:
-# ANSIBLE_COLLECTIONS_PATH: '{{ galaxy_dir }}/ansible_collections'
-#
-#- name: get result of cache version list is ignored on a collection version change - {{ test_id }}
-# slurp:
-# path: '{{ galaxy_dir }}/ansible_collections/cache/cache/MANIFEST.json'
-# register: install_cached_update_actual
-#
-#- name: assert cache version list is ignored on a collection version change - {{ test_id }}
-# assert:
-# that:
-# - '"Installing ''cache.cache:1.0.{{ cache_version_build }}'' to" in install_cached_update.stdout'
-# - (install_cached_update_actual.content | b64decode | from_json).collection_info.version == '1.0.' ~ cache_version_build
+- when: not v2|default(false)
+ block:
+ - name: install cache.cache at the current latest version
+ command: ansible-galaxy collection install cache.cache -s '{{ test_name }}' -vvv
+ environment:
+ ANSIBLE_COLLECTIONS_PATH: '{{ galaxy_dir }}/ansible_collections'
+
+ - set_fact:
+ cache_version_build: '{{ (cache_version_build | int) + 1 }}'
+
+ - name: publish update for cache.cache test
+ setup_collections:
+ server: galaxy_ng
+ collections:
+ - namespace: cache
+ name: cache
+ version: 1.0.{{ cache_version_build }}
+
+ - name: make sure the cache version list is ignored on a collection version change - {{ test_id }}
+ command: ansible-galaxy collection install cache.cache -s '{{ test_name }}' --force -vvv
+ register: install_cached_update
+ environment:
+ ANSIBLE_COLLECTIONS_PATH: '{{ galaxy_dir }}/ansible_collections'
+
+ - name: get result of cache version list is ignored on a collection version change - {{ test_id }}
+ slurp:
+ path: '{{ galaxy_dir }}/ansible_collections/cache/cache/MANIFEST.json'
+ register: install_cached_update_actual
+
+ - name: assert cache version list is ignored on a collection version change - {{ test_id }}
+ assert:
+ that:
+ - '"Installing ''cache.cache:1.0.{{ cache_version_build }}'' to" in install_cached_update.stdout'
+ - (install_cached_update_actual.content | b64decode | from_json).collection_info.version == '1.0.' ~ cache_version_build
- name: install collection with symlink - {{ test_id }}
command: ansible-galaxy collection install symlink.symlink -s '{{ test_name }}' {{ galaxy_verbosity }}
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/install_offline.yml b/test/integration/targets/ansible-galaxy-collection/tasks/install_offline.yml
index 74c998382b..f3b9777c81 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/install_offline.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/install_offline.yml
@@ -25,6 +25,14 @@
regexp: "^dependencies:*"
line: "dependencies: {'ns.coll2': '>=1.0.0'}"
+ - name: create required runtime.yml
+ copy:
+ dest: "{{ galaxy_dir }}/offline/setup/ns/{{ item }}/meta/runtime.yml"
+ content: "requires_ansible: '>=1.0.0'"
+ loop:
+ - coll1
+ - coll2
+
- name: build both collections
command: ansible-galaxy collection build {{ init_dir }}/ns/{{ item }}
args:
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/main.yml b/test/integration/targets/ansible-galaxy-collection/tasks/main.yml
index 724c861e69..3a9d9e6fab 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/main.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/main.yml
@@ -72,13 +72,12 @@
vars:
test_name: '{{ item.name }}'
test_server: '{{ item.server }}'
- vX: '{{ "v3/" if item.v3|default(false) else "v2/" }}'
+ test_api_server: '{{ item.api_server|default(item.server) }}'
loop:
- name: pulp_v2
- server: '{{ pulp_server }}published/api/'
- - name: pulp_v3
- server: '{{ pulp_server }}published/api/'
- v3: true
+ api_server: '{{ galaxy_ng_server }}'
+ server: '{{ pulp_server }}primary/api/'
+ v2: true
- name: galaxy_ng
server: '{{ galaxy_ng_server }}'
v3: true
@@ -108,8 +107,9 @@
test_id: '{{ item.name }}'
test_name: '{{ item.name }}'
test_server: '{{ item.server }}'
- vX: '{{ "v3/" if item.v3|default(false) else "v2/" }}'
+ test_api_server: '{{ item.api_server|default(item.server) }}'
requires_auth: '{{ item.requires_auth|default(false) }}'
+ v2: '{{ item.v2|default(false) }}'
args:
apply:
environment:
@@ -120,10 +120,9 @@
v3: true
requires_auth: true
- name: pulp_v2
- server: '{{ pulp_server }}published/api/'
- - name: pulp_v3
- server: '{{ pulp_server }}published/api/'
- v3: true
+ server: '{{ pulp_server }}primary/api/'
+ api_server: '{{ galaxy_ng_server }}'
+ v2: true
- name: test installing and downloading collections with the range of supported resolvelib versions
include_tasks: supported_resolvelib.yml
@@ -176,13 +175,13 @@
in install_cross_dep.stdout
# pulp_v2 is highest in the list so it will find it there first
- >-
- "'parent_dep.parent_collection:1.0.0' obtained from server pulp_v2"
+ "'parent_dep.parent_collection:1.0.0' obtained from server galaxy_ng"
in install_cross_dep.stdout
- >-
- "'child_dep.child_collection:0.9.9' obtained from server pulp_v2"
+ "'child_dep.child_collection:0.9.9' obtained from server galaxy_ng"
in install_cross_dep.stdout
- >-
- "'child_dep.child_dep2:1.2.2' obtained from server pulp_v2"
+ "'child_dep.child_dep2:1.2.2' obtained from server galaxy_ng"
in install_cross_dep.stdout
- (install_cross_dep_actual.results[0].content | b64decode | from_json).collection_info.version == '1.0.0'
- (install_cross_dep_actual.results[1].content | b64decode | from_json).collection_info.version == '1.0.0'
@@ -204,10 +203,9 @@
ANSIBLE_COLLECTIONS_PATH: '{{ galaxy_dir }}'
ANSIBLE_CONFIG: '{{ galaxy_dir }}/ansible.cfg'
vars:
- test_api_fallback: 'pulp_v2'
- test_api_fallback_versions: 'v1, v2'
- test_name: 'galaxy_ng'
- test_server: '{{ galaxy_ng_server }}'
+ test_api_fallback: 'galaxy_ng'
+ test_api_fallback_versions: 'v3, pulp-v3, v1'
+ test_name: 'pulp_v2'
- name: run ansible-galaxy collection list tests
include_tasks: list.yml
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/publish.yml b/test/integration/targets/ansible-galaxy-collection/tasks/publish.yml
index 241eae602d..1be16ae901 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/publish.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/publish.yml
@@ -5,9 +5,12 @@
chdir: '{{ galaxy_dir }}'
register: publish_collection
+- name: ensure we can download the published collection - {{ test_name }}
+ command: ansible-galaxy collection install -s {{ test_name }} -p "{{ remote_tmp_dir }}/publish/{{ test_name }}" ansible_test.my_collection==1.0.0 {{ galaxy_verbosity }}
+
- name: get result of publish collection - {{ test_name }}
uri:
- url: '{{ test_server }}{{ vX }}collections/ansible_test/my_collection/versions/1.0.0/'
+ url: '{{ test_api_server }}v3/plugin/ansible/content/primary/collections/index/ansible_test/my_collection/versions/1.0.0/'
return_content: yes
user: '{{ pulp_user }}'
password: '{{ pulp_password }}'
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/supported_resolvelib.yml b/test/integration/targets/ansible-galaxy-collection/tasks/supported_resolvelib.yml
index 763c5a19f7..bff3689275 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/supported_resolvelib.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/supported_resolvelib.yml
@@ -20,11 +20,11 @@
- include_tasks: install.yml
vars:
- test_name: pulp_v3
+ test_name: galaxy_ng
test_id: '{{ test_name }} (resolvelib {{ resolvelib_version }})'
- test_server: '{{ pulp_server }}published/api/'
- vX: "v3/"
- requires_auth: false
+ test_server: '{{ galaxy_ng_server }}'
+ test_api_server: '{{ galaxy_ng_server }}'
+ requires_auth: true
args:
apply:
environment:
diff --git a/test/integration/targets/ansible-galaxy-collection/tasks/verify.yml b/test/integration/targets/ansible-galaxy-collection/tasks/verify.yml
index dfe3d0f714..0fe2f82d16 100644
--- a/test/integration/targets/ansible-galaxy-collection/tasks/verify.yml
+++ b/test/integration/targets/ansible-galaxy-collection/tasks/verify.yml
@@ -3,6 +3,11 @@
args:
chdir: '{{ galaxy_dir }}/scratch'
+- name: created required runtime.yml
+ copy:
+ content: 'requires_ansible: ">=1.0.0"'
+ dest: '{{ galaxy_dir }}/scratch/ansible_test/verify/meta/runtime.yml'
+
- name: build the collection
command: ansible-galaxy collection build scratch/ansible_test/verify
args:
@@ -31,6 +36,9 @@
- name: verify the collection against the first valid server
command: ansible-galaxy collection verify ansible_test.verify:1.0.0 -vvvv {{ galaxy_verbosity }}
register: verify
+ vars:
+ # This sets a specific precedence that the tests are expecting
+ ANSIBLE_GALAXY_SERVER_LIST: offline,secondary,pulp_v2,galaxy_ng
- assert:
that:
diff --git a/test/integration/targets/ansible-galaxy-collection/templates/ansible.cfg.j2 b/test/integration/targets/ansible-galaxy-collection/templates/ansible.cfg.j2
index 9bff527bb2..a242979d22 100644
--- a/test/integration/targets/ansible-galaxy-collection/templates/ansible.cfg.j2
+++ b/test/integration/targets/ansible-galaxy-collection/templates/ansible.cfg.j2
@@ -1,28 +1,22 @@
[galaxy]
# Ensures subsequent unstable reruns don't use the cached information causing another failure
cache_dir={{ remote_tmp_dir }}/galaxy_cache
-server_list=offline,pulp_v2,pulp_v3,galaxy_ng,secondary
+server_list=offline,galaxy_ng,secondary,pulp_v2
[galaxy_server.offline]
url={{ offline_server }}
[galaxy_server.pulp_v2]
-url={{ pulp_server }}published/api/
-username={{ pulp_user }}
-password={{ pulp_password }}
-
-[galaxy_server.pulp_v3]
-url={{ pulp_server }}published/api/
-v3=true
+url={{ pulp_server }}primary/api/
username={{ pulp_user }}
password={{ pulp_password }}
+api_version=2
[galaxy_server.galaxy_ng]
-url={{ galaxy_ng_server }}
+url={{ galaxy_ng_server }}content/primary/
token={{ galaxy_ng_token.json.token }}
[galaxy_server.secondary]
-url={{ pulp_server }}secondary/api/
-v3=true
+url={{ galaxy_ng_server }}content/secondary/
username={{ pulp_user }}
password={{ pulp_password }}
diff --git a/test/integration/targets/ansible-galaxy-collection/vars/main.yml b/test/integration/targets/ansible-galaxy-collection/vars/main.yml
index d3f188b906..d3d9beea8e 100644
--- a/test/integration/targets/ansible-galaxy-collection/vars/main.yml
+++ b/test/integration/targets/ansible-galaxy-collection/vars/main.yml
@@ -17,11 +17,12 @@ unsupported_resolvelib_versions:
- "0.5.1"
pulp_repositories:
- - published
+ - primary
- secondary
publish_namespaces:
- ansible_test
+ - secondary
collection_list:
# Scenario to test out pre-release being ignored unless explicitly set and version pagination.