Switch distro test containers to quay.io images.

(cherry picked from commit 773c0982b0)
This commit is contained in:
Matt Clay 2018-08-16 21:16:15 -07:00
parent 25556f6c8c
commit 3cd045efd1
4 changed files with 32 additions and 17 deletions

View file

@ -1,10 +1,11 @@
centos6@sha256:41eb4b870ce400202945ccf572d45bf5f2f5ebb50e9dee244de73b9d0278db30 default name=ansible/ansible:default@sha256:b651e5964e192c12ef574646a9c724e72fd94615d37d47ffad986408b2097a07
centos7@sha256:bd571611112cccefdaa951ea640177cbb77c8ee011f958d2562781d90594ea9c centos6 name=quay.io/ansible/centos6-test-container:1.4.0
default@sha256:b651e5964e192c12ef574646a9c724e72fd94615d37d47ffad986408b2097a07 centos7 name=quay.io/ansible/centos7-test-container:1.4.0
fedora24@sha256:7b642c5d25b779a3a605fb8f70d9d92972f2004a5266fe364264809899fb1117 fedora24 name=quay.io/ansible/fedora24-test-container:1.4.0
fedora25@sha256:828c71d87f1636f4d09916b8e2d87fc9a615d361a9afed22e8843ffb3d2729d2 fedora25 name=quay.io/ansible/fedora25-test-container:1.4.0
opensuse42.2@sha256:3c59cd694fe69860d299a10afaa84f4e0b3db0c4139232431e9801e1a0775b0a fedora26py3 name=quay.io/ansible/fedora26py3-test-container:1.4.0
opensuse42.3@sha256:d62cc5f0de0ffddbd32c73271290a4593613bd94fa09b615ac0c025a10bdbe3c fedora27py3 name=quay.io/ansible/fedora27py3-test-container:1.4.0
ubuntu1404@sha256:4372bfbedf2d44e421fc9e5266ffd9d55074b4ad19f81270aeb3ff893245423c opensuse42.3 name=quay.io/ansible/opensuse42.3-test-container:1.4.0
ubuntu1604@sha256:1ce833540387eab6d2de9ece9068ae94e5f58dced696bc3080b276bc7da116a7 ubuntu1404 name=quay.io/ansible/ubuntu1404-test-container:1.4.0
ubuntu1604py3@sha256:3dc2000073c4445e6dbbfd943b0a02e57427435af7e537346e314c90740b13fd ubuntu1604 name=quay.io/ansible/ubuntu1604-test-container:1.4.0
ubuntu1604py3 name=quay.io/ansible/ubuntu1604py3-test-container:1.4.0

View file

@ -40,6 +40,7 @@ class EnvironmentConfig(CommonConfig):
self.python = args.tox # type: str self.python = args.tox # type: str
self.docker = docker_qualify_image(args.docker) # type: str self.docker = docker_qualify_image(args.docker) # type: str
self.docker_raw = args.docker # type: str
self.remote = args.remote # type: str self.remote = args.remote # type: str
self.docker_privileged = args.docker_privileged if 'docker_privileged' in args else False # type: bool self.docker_privileged = args.docker_privileged if 'docker_privileged' in args else False # type: bool

View file

@ -196,7 +196,7 @@ def delegate_docker(args, exclude, require, integration_targets):
if isinstance(args, TestConfig): if isinstance(args, TestConfig):
if args.coverage and not args.coverage_label: if args.coverage and not args.coverage_label:
image_label = re.sub('^ansible/ansible:', '', args.docker) image_label = args.docker_raw
image_label = re.sub('[^a-zA-Z0-9]+', '-', image_label) image_label = re.sub('[^a-zA-Z0-9]+', '-', image_label)
cmd += ['--coverage-label', 'docker-%s' % image_label] cmd += ['--coverage-label', 'docker-%s' % image_label]

View file

@ -45,11 +45,27 @@ def get_docker_completion():
with open('test/runner/completion/docker.txt', 'r') as completion_fd: with open('test/runner/completion/docker.txt', 'r') as completion_fd:
images = completion_fd.read().splitlines() images = completion_fd.read().splitlines()
DOCKER_COMPLETION.update(dict((i.split('@')[0], i) for i in images)) DOCKER_COMPLETION.update(dict(kvp for kvp in [parse_docker_completion(i) for i in images] if kvp))
return DOCKER_COMPLETION return DOCKER_COMPLETION
def parse_docker_completion(value):
"""
:type value: str
:rtype: tuple[str, dict[str, str]]
"""
values = value.split()
if not values:
return None
name = values[0]
data = dict((kvp[0], kvp[1] if len(kvp) > 1 else '') for kvp in [item.split('=', 1) for item in values[1:]])
return name, data
def is_shippable(): def is_shippable():
""" """
:rtype: bool :rtype: bool
@ -700,12 +716,9 @@ def docker_qualify_image(name):
:type name: str :type name: str
:rtype: str :rtype: str
""" """
if not name or any((c in name) for c in ('/', ':')): config = get_docker_completion().get(name, {})
return name
name = get_docker_completion().get(name, name) return config.get('name', name)
return 'ansible/ansible:%s' % name
def parse_to_dict(pattern, value): def parse_to_dict(pattern, value):