Support using ephemeral Heat

Adds support for a new ansible variables ephemeral_heat and
ephemeral_heat_args, which will allow job configs to deploy with
--heat-type in order to use the ephemeral heat deployment.

Implements: blueprint ephemeral-heat-overcloud
Signed-off-by: James Slagle <jslagle@redhat.com>
Change-Id: I29cf6dd8a32242f27a40946688f9dede8968c7f9
This commit is contained in:
James Slagle 2021-02-23 08:38:19 -05:00
parent aed381340d
commit 96ab93f4fe
7 changed files with 53 additions and 0 deletions

View File

@ -166,3 +166,4 @@ undercloud_enable_swift: >-
{%- else -%}
false
{%- endif %}
undercloud_enable_heat: "{{ not ephemeral_heat|default(false) }}"

View File

@ -112,6 +112,7 @@ multinode_args: ""
ovn_args: ""
telemetry_args: ""
config_download_args: ""
ephemeral_heat_args: ""
selinux_args: ""
deploy_args: >-
@ -141,12 +142,14 @@ deploy_args: >-
{{ topology }}
{{ topology_args }}
{{ config_download_args }}
{{ ephemeral_heat_args }}
{{ selinux_args }}
{{ extra_args }}
composable_roles: false
composable_services: false
deploy_multinode: false
ephemeral_heat: false
step_deploy_overcloud: true
step_deploy_cell: true

View File

@ -1,8 +1,33 @@
resource_registry:
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
{% if release not in ['train', 'ussuri', 'victoria'] %}
# Starting with wallaby with ephemeral Heat, we want to override the default
# mapping for ControlPlaneVipPort so that Neutron is not used.
OS::TripleO::Network::Ports::ControlPlaneVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
{% endif %}
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
OS::TripleO::OVNMacAddressPort: OS::Heat::None
parameter_defaults:
{% if release not in ['train', 'ussuri', 'victoria'] %}
# Set VIP's for redis and OVN
RedisVirtualFixedIPs:
- ip_address: 192.168.24.101
use_neutron: false
OVNDBsVirtualFixedIPs:
- ip_address: 192.168.24.102
use_neutron: false
{% endif %}
DeployedServerPortMap:
control_virtual_ip:
fixed_ips:
- ip_address: 192.168.24.100
subnets:
- cidr: 192.168.24.0/24
network:
tags:
- 192.168.24.0/24
{% for subnode in groups['overcloud'] %}
{{ hostvars[subnode]['ansible_hostname'] }}-ctlplane:
fixed_ips:
@ -13,3 +38,19 @@ parameter_defaults:
tags:
- 192.168.24.0/24
{% endfor %}
CtlplaneNetworkAttributes:
network:
dns_domain: localdomain
mtu: 1500
name: ctlplane
tags:
- 192.168.24.0/24
subnets:
ctlplane-subnet:
cidr: 192.168.24.0/24
dns_nameservers: {{ overcloud_dns_servers | default(['127.0.0.1', '1.1.1.1']) }}
gateway_ip: 192.168.24.1
host_routes: []
ip_version: 4
name: ctlplane-subnet

View File

@ -58,6 +58,7 @@ openstack overcloud deploy --stack {{ stack_name }} {% if release is not in ['n
### --stop_docs
{% if not (ephemeral_heat|default(false)|bool) %}
# Check if the deployment has started. If not, exit gracefully. If yes, check for errors.
if ! openstack stack list | grep -q {{ stack_name }}; then
echo "overcloud deployment not started. Check the deploy configurations"
@ -97,4 +98,5 @@ elif ! openstack overcloud status --plan {{ stack_name }} | grep -Eq 'DEPLOY_SUC
openstack overcloud failures --plan {{ stack_name }} >> {{ failed_deployment_list }} || true
{% endif %}
fi
{% endif %}
exit $status_code

View File

@ -52,6 +52,7 @@ libvirt_default_network_address: 192.168.122.1
nameserver_from_virthost: false
virthost_nameservers: []
undercloud_enable_heat: "{{ not ephemeral_heat|default(false) }}"
undercloud_enable_ironic: true
undercloud_enable_ironic_inspector: true
undercloud_enable_monitoring: false

View File

@ -266,6 +266,9 @@ enable_swift_encryption = {{undercloud_enable_swift_encryption}}
# Whether to enable Nova in the Undercloud. (boolean value)
enable_nova = {{ undercloud_enable_nova }}
# Whether to enable Heat in the Undercloud. (boolean value)
enable_heat = {{ undercloud_enable_heat }}
# FIXME(mandre) turn this into ansible variable
heat_native=true

View File

@ -60,7 +60,9 @@ citest neutron subnet-list
citest neutron net-list
citest neutron agent-list
citest openstack baremetal node list
{% if undercloud_enable_heat|bool %}
citest openstack stack list
{% endif %}
ui_sanity_check
exit $script_return_value