c23c9b2c25
This patch adds two new jobs: * kolla-ansible-centos-source-upgrade * kolla-ansible-ubuntu-source-upgrade These jobs first deploy a control plane using the previous release of Kolla Ansible, then upgrade to the current release. Because we can't change the branch of the git repository on the Zuul executor, we change the branch of the kolla-ansible repository on the primary node to the branch of the previous release, in this case stable/rocky. A new remote-template role has been added that supports generating templates using a remote template source, to generate config files using the previous kolla-ansible branch. If the change being tested depends on a kolla change for the current branch, then we build images. Rather than using the current kolla-ansible version to tag the images, we now tag them with change_<gerrit change ID>. This is because the version of kolla-ansible will change from the previous release to the current one as we upgrade the system. Finally, it should be noted that the 'previous_release' variable in the Zuul config needs to be updated with each release, since this sets the release of kolla-ansible that is installed initially. Depends-On: https://review.openstack.org/645089/ Depends-On: https://review.openstack.org/644250/ Depends-On: https://review.openstack.org/645816/ Depends-On: https://review.openstack.org/645840/ Change-Id: If301e0affcd55360fefe3b105f023ae5c47b0853
73 lines
2.5 KiB
Django/Jinja
73 lines
2.5 KiB
Django/Jinja
---
|
|
kolla_base_distro: "{{ base_distro }}"
|
|
kolla_install_type: "{{ install_type }}"
|
|
network_interface: "{{ api_interface_name }}"
|
|
docker_restart_policy: "never"
|
|
|
|
# Use a random router id, otherwise it may result in the same router id
|
|
# in the CI gate.
|
|
keepalived_virtual_router_id: "{{ 250 | random(1) }}"
|
|
|
|
{% if enable_core_openstack | bool %}
|
|
kolla_internal_vip_address: "{{ api_interface_address if hostvars | length > 2 else '169.254.169.10' }}"
|
|
enable_haproxy: "{{ 'no' if hostvars | length > 2 else 'yes' }}"
|
|
# TODO(mgoddard): Remove this in the Train cycle when heat is enabled in the
|
|
# initial deployment.
|
|
enable_heat: "{{ scenario != 'upgrade' or previous_release != 'rocky' }}"
|
|
neutron_external_interface: "fake_interface"
|
|
openstack_logging_debug: "True"
|
|
openstack_service_workers: "1"
|
|
{% endif %}
|
|
|
|
{% if need_build_image and not is_previous_release %}
|
|
# NOTE(Jeffrey4l): use different a docker namespace name in case it pull image from hub.docker.io when deplying
|
|
docker_namespace: "lokolla"
|
|
docker_registry: "{{ api_interface_address }}:4000"
|
|
openstack_release: "change_{{ zuul.change }}"
|
|
{% else %}
|
|
# use docker hub images
|
|
docker_namespace: "kolla"
|
|
{% if need_build_image and is_previous_release %}
|
|
# NOTE(mgoddard): Ensure that the insecure local registry is trusted, since it
|
|
# will be the source of images during the upgrade.
|
|
docker_custom_option: "--insecure-registry {{ api_interface_address }}:4000"
|
|
{% endif %}
|
|
{% if not is_previous_release %}
|
|
openstack_release: "{{ zuul.branch | basename }}"
|
|
{% else %}
|
|
openstack_release: "{{ previous_release }}"
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if scenario == "ceph" %}
|
|
enable_ceph: "yes"
|
|
enable_cinder: "yes"
|
|
ceph_pool_pg_num: 8
|
|
ceph_pool_pgp_num: 8
|
|
# This is experimental feature, disable if gate fail.
|
|
# In multinode jobs without ceph rolling upgrade fails.
|
|
glance_enable_rolling_upgrade: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "cinder-lvm" %}
|
|
enable_cinder: "yes"
|
|
enable_cinder_backend_lvm: "yes"
|
|
glance_api_hosts: ["{{ inventory_hostname }}"]
|
|
{% endif %}
|
|
|
|
{% if scenario == "zun" %}
|
|
enable_zun: "yes"
|
|
enable_kuryr: "yes"
|
|
enable_etcd: "yes"
|
|
docker_custom_option: " -H unix:///var/run/docker.sock -H tcp://{{ api_interface_address }}:2375 --cluster-store=etcd://{{ api_interface_address }}:2379 --cluster-advertise={{ api_interface_address }}:2375"
|
|
{% endif %}
|
|
|
|
{% if scenario == "scenario_nfv" %}
|
|
glance_api_hosts: ["{{ inventory_hostname }}"]
|
|
enable_tacker: "yes"
|
|
enable_neutron_sfc: "yes"
|
|
enable_mistral: "yes"
|
|
enable_redis: "yes"
|
|
enable_barbican: "yes"
|
|
{% endif %}
|