heat_template_version: wallaby description: > Openstack Heat Ephemeral service, provides nothing but container images parameters: ContainerHeatAllImage: description: The container image to use for heat-all type: string ContainerHeatEngineImage: description: image type: string ContainerHeatConfigImage: description: The container image to use for the heat config_volume type: string ContainerHeatApiImage: description: image type: string ContainerHeatApiConfigImage: description: The container image to use for the heat_api config_volume type: string 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. Use parameter_merge_strategies to merge it with the defaults. 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 OvercloudStackRoleDataFileMap: default: {} description: | Mapping of overcloud stack name, and the absolute path to the roles data file used when deploying/updating the stack. For example: {'overcloud': '/home/stack/roles_data.yaml'} type: json outputs: role_data: description: Role data for the Heat Ephemeral value: service_name: heat_ephemeral deploy_steps_tasks: - name: Tag Ephemeral Heat Containers for Overcloud Deploy when: - step|int == 5 block: - name: Tag Heat All image import_role: name: tripleo_container_tag vars: container_image: {get_param: ContainerHeatAllImage} container_image_latest: "localhost/tripleo/openstack-heat-all:ephemeral" - name: Tag Heat Engine image import_role: name: tripleo_container_tag vars: container_image: {get_param: ContainerHeatEngineImage} container_image_latest: "localhost/tripleo/openstack-heat-engine:ephemeral" - name: Tag Heat Api image import_role: name: tripleo_container_tag vars: container_image: {get_param: ContainerHeatApiImage} container_image_latest: "localhost/tripleo/openstack-heat-api:ephemeral" external_deploy_tasks: - name: Manage clouds.yaml file for ephemeral Heat when: - step|int == 1 - not ansible_check_mode|bool block: - name: Create /etc/openstack directory if it does not exist become: true file: mode: '0755' owner: root path: /etc/openstack state: directory - name: Configure /etc/openstack/clouds.yaml for ephemeral Heat include_role: name: tripleo_keystone_resources tasks_from: clouds vars: tripleo_keystone_resources_cloud_name: heat tripleo_keystone_resources_cloud_config: auth_type: none endpoint: http://127.0.0.1:8006/v1/admin upgrade_tasks: - name: Convert to Ephemeral Heat when: - step|int == 1 block: - name: Create /var/lib/tripleo-config/scripts dir file: path: /var/lib/tripleo-config/scripts state: directory recurse: true - name: Copy undercloud-upgrade-ephemeral-heat.py to /var/lib/tripleo-config/scripts copy: dest: /var/lib/tripleo-config/scripts/undercloud-upgrade-ephemeral-heat.py content: {get_file: ../../scripts/undercloud-upgrade-ephemeral-heat.py} mode: 0755 - name: Check if heat engine is still running shell: systemctl is-active tripleo_heat_engine.service || systemctl is-enabled tripleo_heat_engine.service failed_when: false become: true register: heat_engine_enabled - name: Store OvercloudStackRoleDataFileMap on file vars: role_data_file_map: {get_param: OvercloudStackRoleDataFileMap} copy: dest: /var/lib/tripleo-config/overcloud-stack-role-data-file-map.yaml content: "{{ role_data_file_map | to_nice_yaml }}" - name: Run undercloud-upgrade-ephemeral-heat.py shell: /var/lib/tripleo-config/scripts/undercloud-upgrade-ephemeral-heat.py register: upgrade_ephemeral_result when: - heat_engine_enabled.rc is defined - heat_engine_enabled.rc == 0 - name: Tear down previous Heat containers include_role: name: tripleo_container_rm vars: tripleo_container_cli: "{{ container_cli }}" tripleo_containers_to_rm: - heat_api - heat_api_cfn - heat_engine when: - upgrade_ephemeral_result.rc is defined - upgrade_ephemeral_result.rc == 0