tripleo-heat-templates/deployment/undercloud/undercloud-upgrade.yaml
Emilien Macchi 357a3eeb29 undercloud_upgrade: tear-down keepalived
Keepalived was deprecated and the VIPs are now deployed by
os-net-config.
When Keepalived is stopped, it brings down the VIPs which is
problematic since it'll remove the resources created by os-net-config
so let's teardown keepalived in the upgrade tasks here and later
during the deploy the os-net-config tool will re-create the VIPs.
Doing it at step 5 so upgrade steps which need API access still work.

Change-Id: Iee46d0394ad0b2b31da93d0a93dcfa53766fa246
Related-Bug: #1888411
2020-08-12 19:42:09 +00:00

100 lines
3.3 KiB
YAML

heat_template_version: rocky
description: >
Upgrade a non-containerized undercloud to a containerized undercloud.
parameters:
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
SkipRhelEnforcement:
default: 'false'
description: Whether to avoid or not RHEL/OSP policies enforcement on Red Hat.
Mainly for CI purpose. It shouldn't matter on other distributions
where it's disabled in the role. Set to true to skip the enforcement.
type: string
outputs:
role_data:
description: Role data for the TripleO Undercloud Upgrade service.
value:
service_name: undercloud_upgrade
config_settings: {}
deploy_steps_tasks: []
docker_config: {}
kolla_config: {}
puppet_config:
config_volume: ''
step_config: ''
config_image: ''
upgrade_tasks:
- name: Enforce RHOSP rules regarding subscription.
include_role:
name: tripleo_redhat_enforce
vars:
skip_rhel_enforcement: {get_param: SkipRhelEnforcement}
when:
- step|int == 0
- ansible_distribution == 'RedHat'
- not (skip_rhel_enforcement | bool)
- name: Special treatment for OpenvSwitch
tripleo_ovs_upgrade:
when:
- step|int == 2
register: ovs_upgrade
- name: Always ensure the openvswitch service is enabled and running after upgrades
service:
name: openvswitch
enabled: yes
state: started
when:
- step|int == 2
- ovs_upgrade.changed|bool
# Exclude ansible until https://github.com/ansible/ansible/issues/56636
# is available
- name: Update all packages
when: step|int == 3
yum:
name: '*'
state: latest
exclude: ansible
# Keepalived was deprecated and the VIPs are now deployed by
# os-net-config.
# When Keepalived is stopped, it brings down the VIPs which is
# problematic since it'll remove the resources created by os-net-config
# so let's teardown keepalived in the upgrade tasks here and later
# during the deploy the os-net-config tool will re-create the VIPs.
# Doing it at step 5 so upgrade steps which need API access still work.
- name: Remove keepalived container
include_role:
name: tripleo_container_rm
vars:
tripleo_container_cli: "{{ container_cli }}"
tripleo_containers_to_rm:
- keepalived
when:
- step|int == 5