This patch removes the logic to use an specific tag for
Ceph containers. We will use whatever docker image TripleO
upstream uses. For aarch64, an ansible task will replace
the tag to pull the proper container image.
This patch also refactors the preparation of the local
registry. In Queens, there is no need to execute twice
the overcloud container image prepare command.
JIRA: APEX-622
Change-Id: I947d931609e58505675bb460a59d08c1d10d1d0b
Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
DEFAULT_OS_VERSION = 'master'
DEFAULT_ODL_VERSION = 'oxygen'
VALID_ODL_VERSIONS = ['carbon', 'nitrogen', 'oxygen', 'master']
DEFAULT_OS_VERSION = 'master'
DEFAULT_ODL_VERSION = 'oxygen'
VALID_ODL_VERSIONS = ['carbon', 'nitrogen', 'oxygen', 'master']
-CEPH_VERSION_MAP = {'pike': 'jewel',
- 'queens': 'luminous',
- 'master': 'luminous'}
PUPPET_ODL_URL = 'https://git.opendaylight.org/gerrit/integration/packaging' \
'/puppet-opendaylight'
DEBUG_OVERCLOUD_PW = 'opnfvapex'
PUPPET_ODL_URL = 'https://git.opendaylight.org/gerrit/integration/packaging' \
'/puppet-opendaylight'
DEBUG_OVERCLOUD_PW = 'opnfvapex'
docker_playbook = os.path.join(args.lib_dir, constants.ANSIBLE_PATH,
'prepare_overcloud_containers.yml')
if ds_opts['containers']:
docker_playbook = os.path.join(args.lib_dir, constants.ANSIBLE_PATH,
'prepare_overcloud_containers.yml')
if ds_opts['containers']:
- ceph_version = constants.CEPH_VERSION_MAP[ds_opts['os_version']]
- ceph_docker_image = "ceph/daemon:tag-build-master-" \
- "{}-centos-7".format(ceph_version)
logging.info("Preparing Undercloud with Docker containers")
if patched_containers:
oc_builder.archive_docker_patches(APEX_TEMP_DIR)
logging.info("Preparing Undercloud with Docker containers")
if patched_containers:
oc_builder.archive_docker_patches(APEX_TEMP_DIR)
container_vars['sdn'] = ds_opts['sdn_controller']
container_vars['undercloud_ip'] = undercloud_admin_ip
container_vars['os_version'] = os_version
container_vars['sdn'] = ds_opts['sdn_controller']
container_vars['undercloud_ip'] = undercloud_admin_ip
container_vars['os_version'] = os_version
- container_vars['ceph_docker_image'] = ceph_docker_image
+ container_vars['aarch64'] = platform.machine() == 'aarch64'
container_vars['sdn_env_file'] = \
oc_deploy.get_docker_sdn_file(ds_opts)
try:
container_vars['sdn_env_file'] = \
oc_deploy.get_docker_sdn_file(ds_opts)
try:
print(line)
if ds_opts['containers']:
print(line)
if ds_opts['containers']:
- undercloud_admin_ip = ns['networks'][con.ADMIN_NETWORK][
- 'installer_vm']['ip']
- ceph_version = con.CEPH_VERSION_MAP[ds_opts['os_version']]
- docker_image = "{}:8787/ceph/daemon:tag-build-master-" \
- "{}-centos-7".format(undercloud_admin_ip,
- ceph_version)
- ceph_params = {
- 'DockerCephDaemonImage': docker_image,
- }
# max pgs allowed are calculated as num_mons * 200. Therefore we
# set number of pgs and pools so that the total will be less:
# max pgs allowed are calculated as num_mons * 200. Therefore we
# set number of pgs and pools so that the total will be less:
}
prep_storage_env(ds, ns, virtual=True, tmp_dir='/tmp')
ceph_params = {
}
prep_storage_env(ds, ns, virtual=True, tmp_dir='/tmp')
ceph_params = {
- 'DockerCephDaemonImage':
- '192.0.2.1:8787/ceph/daemon:tag-build-master-luminous-centos'
- '-7',
'CephPoolDefaultSize': 2,
'CephAnsibleExtraConfig': {
'centos_package_dependencies': [],
'CephPoolDefaultSize': 2,
'CephAnsibleExtraConfig': {
'centos_package_dependencies': [],
--tag {{ container_tag }}
--push-destination {{ undercloud_ip }}:8787
-e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
--tag {{ container_tag }}
--push-destination {{ undercloud_ip }}:8787
-e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
+ -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
--output-images-file overcloud_containers.yml
--output-images-file overcloud_containers.yml
+ --output-env-file docker-images.yaml
become: yes
become_user: stack
- name: Prepare SDN docker registry image file
become: yes
become_user: stack
- name: Prepare SDN docker registry image file
--push-destination {{ undercloud_ip }}:8787
-e {{ sdn_env_file }}
--output-images-file sdn_containers.yml
--push-destination {{ undercloud_ip }}:8787
-e {{ sdn_env_file }}
--output-images-file sdn_containers.yml
+ --output-env-file sdn-images.yaml
become: yes
become_user: stack
when: sdn != false
become: yes
become_user: stack
when: sdn != false
+ - name: Update Ceph tag for aarch64 in container env file
+ lineinfile:
+ path: /home/stack/overcloud_containers.yml
+ regexp: '.*ceph.*'
+ line: '- imagename: docker.io/ceph/daemon:master-fafda7d-luminous-centos-7-aarch64'
+ when: aarch64
+ - name: Update Ceph tag for aarch64 in container image file
+ lineinfile:
+ path: /home/stack/docker-images.yaml
+ regexp: '^DockerCephDaemonImage'
+ line: 'DockerCephDaemonImage: {{ undercloud_ip }}:8787/ceph/daemon/master-fafda7d-luminous-centos-7-aarch64'
+ when: aarch64
- name: Upload docker images to local registry
shell: >
{{ stackrc }} && openstack overcloud container image upload
- name: Upload docker images to local registry
shell: >
{{ stackrc }} && openstack overcloud container image upload
- patched_docker_services|length > 0
- item in (response.json)['repositories']|join(" ")
with_items: "{{ patched_docker_services }}"
- patched_docker_services|length > 0
- item in (response.json)['repositories']|join(" ")
with_items: "{{ patched_docker_services }}"
- - name: Prepare deployment generic docker image file
- shell: >
- {{ stackrc }} && openstack overcloud container image prepare
- --namespace {{ undercloud_ip }}:8787/tripleo{{ os_version }}
- --tag {{ container_tag }}
- -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
- --output-env-file docker-images.yaml
- become: yes
- become_user: stack
- - name: Prepare deployment SDN docker image file
- shell: >
- {{ stackrc }} && openstack overcloud container image prepare
- --namespace {{ undercloud_ip }}:8787/tripleo{{ os_version }}
- --tag {{ container_tag }}
- -e {{ sdn_env_file }}
- --output-env-file sdn-images.yaml
- when: sdn != false
- become: yes
- become_user: stack
- name: Modify Images with Apex tag
replace:
path: "{{ item[0] }}"
- name: Modify Images with Apex tag
replace:
path: "{{ item[0] }}"
replace: '\1:apex'
with_nested:
- [ '/home/stack/sdn-images.yaml', '/home/stack/docker-images.yaml']
replace: '\1:apex'
with_nested:
- [ '/home/stack/sdn-images.yaml', '/home/stack/docker-images.yaml']
- - "{{ patched_docker_services }}"
- - name: Pull Ceph docker image
- shell: docker pull {{ ceph_docker_image }}
- become: yes
- - name: Tag Ceph image for local registry
- shell: docker tag {{ ceph_docker_image }} {{ undercloud_ip }}:8787/{{ ceph_docker_image }}
- become: yes
- - name: Push Ceph docker image to local registry
- shell: docker push {{ undercloud_ip }}:8787/{{ ceph_docker_image }}
- become: yes
+ - "{{ patched_docker_services }}"
\ No newline at end of file