summaryrefslogtreecommitdiffstats
path: root/apex/builders/common_builder.py
diff options
context:
space:
mode:
Diffstat (limited to 'apex/builders/common_builder.py')
-rw-r--r--apex/builders/common_builder.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/apex/builders/common_builder.py b/apex/builders/common_builder.py
index 2934a1d8..7627ae3c 100644
--- a/apex/builders/common_builder.py
+++ b/apex/builders/common_builder.py
@@ -59,7 +59,7 @@ def project_to_path(project, patch=None):
return "/usr/lib/python2.7/site-packages/"
-def project_to_docker_image(project):
+def project_to_docker_image(project, docker_url):
"""
Translates OpenStack project to OOO services that are containerized
:param project: name of OpenStack project
@@ -69,7 +69,8 @@ def project_to_docker_image(project):
# based on project
hub_output = utils.open_webpage(
- urllib.parse.urljoin(con.DOCKERHUB_OOO, '?page_size=1024'), timeout=10)
+ urllib.parse.urljoin(docker_url,
+ '?page_size=1024'), timeout=10)
try:
results = json.loads(hub_output.decode())['results']
except Exception as e:
@@ -89,7 +90,7 @@ def project_to_docker_image(project):
return docker_images
-def is_patch_promoted(change, branch, docker_image=None):
+def is_patch_promoted(change, branch, docker_url, docker_image=None):
"""
Checks to see if a patch that is in merged exists in either the docker
container or the promoted tripleo images
@@ -122,8 +123,8 @@ def is_patch_promoted(change, branch, docker_image=None):
return True
else:
# must be a docker patch, check docker tag modified time
- docker_url = con.DOCKERHUB_OOO.replace('tripleomaster',
- "tripleo{}".format(branch))
+ docker_url = docker_url.replace('tripleomaster',
+ "tripleo{}".format(branch))
url_path = "{}/tags/{}".format(docker_image, con.DOCKER_TAG)
docker_url = urllib.parse.urljoin(docker_url, url_path)
logging.debug("docker url is: {}".format(docker_url))
@@ -176,10 +177,15 @@ def add_upstream_patches(patches, image, tmp_dir,
# and move the patch into the containers directory. We also assume
# this builder call is for overcloud, because we do not support
# undercloud containers
+ if platform.machine() == 'aarch64':
+ docker_url = con.DOCKERHUB_AARCH64
+ else:
+ docker_url = con.DOCKERHUB_OOO
if docker_tag and 'python' in project_path:
# Projects map to multiple THT services, need to check which
# are supported
- ooo_docker_services = project_to_docker_image(patch['project'])
+ ooo_docker_services = project_to_docker_image(patch['project'],
+ docker_url)
docker_img = ooo_docker_services[0]
else:
ooo_docker_services = []
@@ -189,6 +195,7 @@ def add_upstream_patches(patches, image, tmp_dir,
patch['change-id'])
patch_promoted = is_patch_promoted(change,
branch.replace('stable/', ''),
+ docker_url,
docker_img)
if patch_diff and not patch_promoted:
@@ -288,7 +295,8 @@ def prepare_container_images(prep_file, branch='master', neutron_driver=None):
p_set['neutron_driver'] = neutron_driver
p_set['namespace'] = "docker.io/tripleo{}".format(branch)
if platform.machine() == 'aarch64':
- p_set['ceph_tag'] = 'master-fafda7d-luminous-centos-7-aarch64'
+ p_set['namespace'] = "docker.io/armbandapex"
+ p_set['ceph_tag'] = 'v3.1.0-stable-3.1-luminous-centos-7-aarch64'
except KeyError:
logging.error("Invalid prep file format: {}".format(prep_file))