diff options
author | Feng Pan <fpan@redhat.com> | 2018-11-01 16:22:18 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-11-01 16:22:19 +0000 |
commit | 03ad54f56a111dc15a834ae28cbef03da0ad68af (patch) | |
tree | 86194e90010ee0e57583e992e70480031126c1b8 /apex/builders/common_builder.py | |
parent | 63792906e8681bef2f0e03ee12ea422af53d9c12 (diff) | |
parent | d38e8a91c1a0e3f94d2a19876956ade48d1a8ed2 (diff) |
Merge "Fixes Docker image upload for master/rocky"
Diffstat (limited to 'apex/builders/common_builder.py')
-rw-r--r-- | apex/builders/common_builder.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/apex/builders/common_builder.py b/apex/builders/common_builder.py index b8894ec1..e0e7303e 100644 --- a/apex/builders/common_builder.py +++ b/apex/builders/common_builder.py @@ -14,8 +14,11 @@ import git import json import logging import os +import platform +import pprint import re import urllib.parse +import yaml import apex.builders.overcloud_builder as oc_builder from apex import build_utils @@ -258,3 +261,39 @@ def create_git_archive(repo_url, repo_name, tmp_dir, repo.archive(fh, prefix=prefix) logging.debug("Wrote archive file: {}".format(archive_path)) return archive_path + + +def get_neutron_driver(ds_opts): + sdn = ds_opts.get('sdn_controller', None) + for controllers in 'opendaylight', 'ovn': + if sdn == controllers: + return sdn + + if ds_opts.get('vpp', False): + return 'vpp' + + return None + + +def prepare_container_images(prep_file, branch='master', neutron_driver=None): + if not os.path.isfile(prep_file): + raise exc.ApexCommonBuilderException("Prep file does not exist: " + "{}".format(prep_file)) + with open(prep_file) as fh: + data = yaml.safe_load(fh) + try: + p_set = data['parameter_defaults']['ContainerImagePrepare'][0]['set'] + if neutron_driver: + 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' + + except KeyError: + logging.error("Invalid prep file format: {}".format(prep_file)) + raise exc.ApexCommonBuilderException("Invalid format for prep file") + + logging.debug("Writing new container prep file:\n{}".format( + pprint.pformat(data))) + with open(prep_file, 'w') as fh: + yaml.safe_dump(data, fh, default_flow_style=False) |