Browse Source
Using host_prep_tasks interface to handle undercloud teardown before we run the undercloud install. The reason of not using upgrade_tasks is because the existing tasks were created for the overcloud upgrade first and there are too much logic right now so we can easily re-use the bits for the undercloud. In the future, we'll probably use upgrade_tasks for both the undercloud and overcloud but right now this is not possible and a simple way to move forward was to implement these tasks that work fine for the undercloud containerization case. Workflow will be: - Services will be stopped and disabled (except mariadb) - Neutron DB will be renamed, then mariadb stopped & disabled - Remove cron jobs - All packages will be upgraded with yum update. Change-Id: I36be7f398dcd91e332687c6222b3ccbb9cd74ad2changes/10/559210/16
45 changed files with 473 additions and 18 deletions
@ -0,0 +1,52 @@
|
||||
heat_template_version: queens |
||||
|
||||
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 |
||||
|
||||
outputs: |
||||
role_data: |
||||
description: Role data for the TripleO Undercloud Upgrade service. |
||||
value: |
||||
service_name: undercloud_upgrade |
||||
config_settings: {} |
||||
external_deploy_tasks: |
||||
- name: upgrade all packages |
||||
yum: |
||||
name: '*' |
||||
state: latest |
||||
when: step|int == 1 |
||||
docker_config: {} |
||||
kolla_config: {} |
||||
puppet_config: |
||||
config_volume: '' |
||||
step_config: '' |
||||
config_image: '' |
||||
upgrade_tasks: [] |
@ -0,0 +1,8 @@
|
||||
# A Heat environment file that can be used to upgrade a non-containerized undercloud |
||||
# to a containerized undercloud. |
||||
|
||||
resource_registry: |
||||
OS::TripleO::Services::UndercloudUpgrade: ../../docker/services/undercloud-upgrade.yaml |
||||
|
||||
parameter_defaults: |
||||
UndercloudUpgrade: true |
@ -0,0 +1,8 @@
|
||||
--- |
||||
upgrade: |
||||
- | |
||||
The Undercloud upgrade is now done via host_prep_tasks in the docker services, driven |
||||
by tripleoclient when containerizing the Undercloud. |
||||
Note that the crontabs that were not managed by Puppet (e.g. custom crontabs) for the |
||||
openstack services (cinder, heat, keystone and nova) will be removed and need to be |
||||
containerized or re-added manually after the upgrade. |
Loading…
Reference in new issue