Refactor Service VIPs redis and ovn_dbs

With this change a Heat resource is no longer used to
create an undercloud neutron API port resource for the
redis and ovn_dbs service virtual IPs. Instead an
external deploy task at step 0 in the individual service
template uses the "tripleo_service_vip" ansible module
to mange a neutron API port resource for each service.

The interfaces to control the IP address and service
network (RedisVirtualFixedIPs, OVNDBsVirtualFixedIPs
and ServiceNetMap) remains the same.

It is also possible to include the 'use_neutron' boolean
in the FixedIPs parameter to instruct the ansible module
not to create a neutron API resource, and simply "echo"
the ip_address given in the FixedIPs parameter. For
example:
  RedisVirtualFixedIPs:
    - ip_address: 1.0.0.5
      use_neutron: false

Alternatively the fixed-ips can be set using the
'ServiceVips' parameter, like this:

 ServiceVips:
   redis: 1.0.0.5
   ovs_dbs: 1.0.0.6

NOTE: If the neutron service is not available the
      tripleo_service_vip ansible module will "echo"
      the IP provided in %service%VirtualFixedIPs.

Related: blueprint network-data-v2-ports
Depends-On: https://review.opendev.org/777307
Depends-On: https://review.opendev.org/779883
Change-Id: I4794418546363888e7a555a16b45b7a4417f1ef8
This commit is contained in:
Harald Jensås 2021-02-09 06:06:46 +01:00
parent 17cfe61e0b
commit 23cdf4dd17
33 changed files with 183 additions and 113 deletions

View File

@ -1,6 +1,4 @@
resource_registry:
# Redis
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip_v6.yaml
# External
OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external_v6.yaml
OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml

View File

@ -1,6 +1,4 @@
resource_registry:
# Redis
OS::TripleO::Network::Ports::RedisVipPort: ../../../../network/ports/vip_v6.yaml
# External
OS::TripleO::Network::External: ../../../../network/external_v6.yaml
OS::TripleO::Network::Ports::ExternalVipPort: ../../../../network/ports/external_v6.yaml

View File

@ -1,6 +1,4 @@
resource_registry:
# Redis
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml
# External
OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml
OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml

View File

@ -1,6 +1,4 @@
resource_registry:
# Redis
OS::TripleO::Network::Ports::RedisVipPort: ../../../../network/ports/vip.yaml
# External
OS::TripleO::Network::External: ../../../../network/external.yaml
OS::TripleO::Network::Ports::ExternalVipPort: ../../../../network/ports/external.yaml

View File

@ -1,6 +1,4 @@
resource_registry:
# Redis
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml
# External
OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml
OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml

View File

@ -1,6 +1,4 @@
resource_registry:
# Redis
OS::TripleO::Network::Ports::RedisVipPort: ../../../../network/ports/vip.yaml
# External
OS::TripleO::Network::External: ../../../../network/external.yaml
OS::TripleO::Network::Ports::ExternalVipPort: ../../../../network/ports/external.yaml

View File

@ -52,6 +52,20 @@
tags:
- always
- hosts: all
name: Load Service VIP variables
gather_facts: "{{ gather_facts | default(false) }}"
any_errors_fatal: false
ignore_unreachable: true
tasks:
- name: Include Service VIP vars
include_vars:
file: "{{ playbook_dir }}/service_vip_vars.yaml"
name: service_vip_vars
ignore_errors: yes
tags:
- always
- hosts: "{{ deploy_target_host | default([]) }}"
name: Render all_nodes data as group_vars for overcloud
gather_facts: "{{ gather_facts | default(false) }}"

View File

@ -451,6 +451,29 @@ outputs:
SELINUX_MODE: {get_param: SELinuxMode}
{% endblock %}
template: |
- hosts: DEPLOY_SOURCE_HOST
strategy: tripleo_free
name: External deployment step 0
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
any_errors_fatal: yes
become: false
vars:
step: 0
enable_debug: ENABLE_DEBUG
tasks:
- name: External deployment step 0
delegate_to: localhost
run_once: true
debug:
msg: Use --start-at-task 'External deployment step 0' to resume from this task
- include_tasks: "external_deploy_steps_tasks_step0.yaml"
when:
- "'external_deploy_steps_tasks_step0.yaml' is exists"
tags:
- external
- external_deploy_steps
- step0
- import_playbook: common_deploy_steps_playbooks.yaml
vars:
deploy_source_host: "DEPLOY_SOURCE_HOST"
@ -535,6 +558,8 @@ outputs:
name: Server pre network steps
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
any_errors_fatal: yes
vars:
deploy_source_host: "DEPLOY_SOURCE_HOST"
tasks:
{% raw %}
- import_tasks: hiera_steps_tasks.yaml

View File

@ -4,6 +4,9 @@ description: >
OpenStack Redis service configured with Puppet
parameters:
RootStackName:
description: The name of the stack/plan.
type: string
RedisPassword:
description: The password for the redis service account.
type: string
@ -42,6 +45,15 @@ parameters:
default: false
description: Enable IPv6 in Redis
type: boolean
RedisVirtualFixedIPs:
default: []
description: >
Control the IP allocation for the virtual IP used by Redis. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
ServiceVips:
default: {}
type: json
parameter_groups:
- label: deprecated
@ -59,6 +71,16 @@ conditions:
equals:
- {get_param: [ServiceData, net_ip_version_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
- 6
redis_virtual_fixed_ip_set:
not:
equals:
- get_param: RedisVirtualFixedIPs
- []
redis_service_vip_set:
not:
equals:
- get_param: [ServiceVips, redis]
- ''
outputs:
role_data:
@ -106,3 +128,22 @@ outputs:
params:
$NETWORK: {get_param: [ServiceNetMap, RedisNetwork]}
redis::ulimit: {get_param: RedisFDLimit}
external_deploy_tasks:
- when:
- step|int == 0
name: redis_external_deploy_init
block:
- name: create redis virtual ip
tripleo_service_vip:
playbook_dir: "{{ playbook_dir }}"
stack_name: {get_param: RootStackName}
service_name: redis
network: {get_param: [ServiceNetMap, RedisNetwork]}
fixed_ips:
if:
- redis_virtual_fixed_ip_set
- {get_param: RedisVirtualFixedIPs}
- if:
- redis_service_vip_set
- [{ip_address: {get_param: [ServiceVips, redis]}}]
- [{subnet: {get_param: [ServiceData, vip_subnet_map, redis]}}]

View File

@ -239,6 +239,7 @@ outputs:
- {get_param: CertificateKeySize}
- {get_param: RedisCertificateKeySize}
ca: ipa
external_deploy_tasks: {get_attr: [RedisBase, role_data, external_deploy_tasks]}
host_prep_tasks:
- name: create fcontext entry for redis data
sefcontext:

View File

@ -263,6 +263,7 @@ outputs:
- {}
metadata_settings:
get_attr: [RedisBase, role_data, metadata_settings]
external_deploy_tasks: {get_attr: [RedisBase, role_data, external_deploy_tasks]}
host_prep_tasks:
- name: create persistent directories
file:

View File

@ -4,6 +4,9 @@ description: >
OpenStack containerized Ovn DBs service
parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ContainerOvnNbDbImage:
description: image
type: string
@ -44,6 +47,27 @@ parameters:
description: Port of the OVN Southbound DB server
type: number
default: 6642
OVNDBsVirtualFixedIPs:
default: []
description: >
Control the IP allocation for the virtual IP used by OVN DBs. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
ServiceVips:
default: {}
type: json
conditions:
ovn_dbs_virtual_fixed_ip_set:
not:
equals:
- get_param: OVNDBsVirtualFixedIPs
- []
ovn_dbs_service_vip_set:
not:
equals:
- get_param: [ServiceVips, ovn_dbs]
- ''
resources:
@ -202,4 +226,23 @@ outputs:
with_items:
- { 'path': /var/log/containers/openvswitch, 'setype': container_file_t, 'mode': '0750' }
- { 'path': /var/lib/openvswitch/ovn, 'setype': container_file_t }
external_deploy_tasks:
- when:
- step|int == 0
name: ovn_external_deploy_init
block:
- name: create ovn_dbs virtual ip
tripleo_service_vip:
playbook_dir: "{{ playbook_dir }}"
stack_name: {get_param: RootStackName}
service_name: ovn_dbs
network: {get_param: [ServiceNetMap, OvnDbsNetwork]}
fixed_ips:
if:
- ovn_dbs_virtual_fixed_ip_set
- {get_param: OVNDBsVirtualFixedIPs}
- if:
- ovn_dbs_service_vip_set
- [{ip_address: {get_param: [ServiceVips, ovn_dbs]}}]
- [{subnet: {get_param: [ServiceData, vip_subnet_map, ovn_dbs]}}]
upgrade_tasks: []

View File

@ -227,6 +227,7 @@ outputs:
with_items:
- { 'path': /var/log/containers/openvswitch, 'setype': container_file_t, 'mode': '0750' }
- { 'path': /var/lib/openvswitch/ovn, 'setype': container_file_t }
external_deploy_tasks: {get_attr: [OVNDbsBase, role_data, external_deploy_tasks]}
deploy_steps_tasks:
- name: OVN DBS tag container image for pacemaker
when: step|int == 1

View File

@ -46,8 +46,6 @@ parameter_defaults:
NovaDisableImageDownloadToRbd: True
resource_registry:
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml
OS::TripleO::Services::CinderVolumeEdge: ../deployment/cinder/cinder-volume-container-puppet.yaml
OS::TripleO::Services::Etcd: ../deployment/etcd/etcd-container-puppet.yaml
OS::TripleO::Services::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml

View File

@ -44,8 +44,6 @@ parameter_defaults:
NovaDisableImageDownloadToRbd: True
resource_registry:
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml
OS::TripleO::Services::CinderVolumeEdge: ../deployment/cinder/cinder-volume-container-puppet.yaml
OS::TripleO::Services::Etcd: ../deployment/etcd/etcd-container-puppet.yaml
OS::TripleO::Services::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml

View File

@ -26,8 +26,6 @@ parameter_defaults:
NovaDisableImageDownloadToRbd: True
resource_registry:
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml
OS::TripleO::Services::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml
OS::TripleO::Services::HAproxyEdge: ../deployment/haproxy/haproxy-edge-container-puppet.yaml
OS::TripleO::Services::NovaAZConfig: ../deployment/nova/nova-az-config.yaml

View File

@ -6,8 +6,6 @@ resource_registry:
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip_v6.yaml
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool_v6.yaml
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool_v6.yaml
OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool_v6.yaml

View File

@ -3,8 +3,6 @@ resource_registry:
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip_v6.yaml
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool_v6.yaml
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool_v6.yaml
OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool_v6.yaml

View File

@ -3,8 +3,6 @@ resource_registry:
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip.yaml
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool.yaml
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml
OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool.yaml

View File

@ -7,8 +7,6 @@ resource_registry:
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip_v6.yaml
parameter_defaults:
# Set the IP addresses of the VIPs here.

View File

@ -7,8 +7,6 @@ resource_registry:
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip.yaml
parameter_defaults:
# Set the IP addresses of the VIPs here.

View File

@ -19,8 +19,6 @@ resource_registry:
{%- for network in networks if network.vip and network.name != 'Tenant' %}
OS::TripleO::Network::Ports::{{network.name}}VipPort: ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
{%- endfor %}
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip.yaml
# Port assignments for each role are determined by the role definition.
{%- for role in roles %}

View File

@ -33,8 +33,6 @@ resource_registry:
{%- endif %}
{%- endfor %}
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip_v6.yaml
# Port assignments by role, edit role definition to assign networks to roles.
{%- for role in roles %}

View File

@ -26,8 +26,6 @@ resource_registry:
{%- endif %}
{%- endfor %}
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip_v6.yaml
# Port assignments by role, edit role definition to assign networks to roles.
{%- for role in roles %}

View File

@ -15,8 +15,6 @@ resource_registry:
OS::TripleO::Network::Ports::{{network.name}}VipPort: ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
{%- endif %}
{%- endfor %}
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip.yaml
# Port assignments by role, edit role definition to assign networks to roles.
{%- for role in roles %}

View File

@ -14,7 +14,6 @@ resource_registry:
OS::TripleO::Services::OVNController: OS::Heat::None
OS::TripleO::Services::OVNDBs: OS::Heat::None
OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
OS::TripleO::Network::Ports::OVNDBsVipPort: ../../network/ports/noop.yaml
parameter_defaults:

View File

@ -58,8 +58,6 @@ parameter_defaults:
resource_registry:
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../../network/ports/noop.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../../network/ports/noop.yaml
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
OS::TripleO::OVNMacAddressPort: OS::Heat::None
OS::TripleO::Services::AodhApi: OS::Heat::None

View File

@ -1,7 +1,5 @@
resource_registry:
OS::TripleO::Services::Tmpwatch: ../deployment/logrotate/tmpwatch-install.yaml
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../deployed-server/deployed-neutron-port.yaml
OS::TripleO::NodeExtraConfigPost: ../extraconfig/post_deploy/undercloud_post.yaml
OS::TripleO::Services::DockerRegistry: ../deployment/image-serve/image-serve-baremetal-ansible.yaml

View File

@ -83,8 +83,6 @@ resource_registry:
OS::TripleO::Network::Ports::{{network.name}}VipPort: network/ports/noop.yaml
{%- endfor %}
OS::TripleO::Network::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: network/ports/ctlplane_vip.yaml
OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Neutron::Port
# Service to network Mappings

View File

@ -131,18 +131,6 @@ parameters:
type: string
default: unset
description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
RedisVirtualFixedIPs:
default: []
description: >
Control the IP allocation for the virtual IP used by Redis. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
OVNDBsVirtualFixedIPs:
default: []
description: >
Control the IP allocation for the virtual IP used by OVN DBs. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
CloudDomain:
default: 'localdomain'
type: string
@ -449,16 +437,6 @@ conditions:
equals:
- get_param: PublicVirtualFixedIPs
- []
redis_virtual_fixed_ip_set:
not:
equals:
- get_param: RedisVirtualFixedIPs
- []
ovn_dbs_virtual_fixed_ip_set:
not:
equals:
- get_param: OVNDBsVirtualFixedIPs
- []
set_default_mysql_cell_internal:
or:
- equals:
@ -658,6 +636,7 @@ resources:
net_cidr_map: {get_attr: [NetCidrMapValue, value]}
net_vip_map: {get_attr: [VipMap, net_ip_map]}
net_ip_version_map: {get_attr: [NetIpVersionMapValue, value]}
vip_subnet_map: {get_attr: [ServiceNetMap, vip_subnet_map]}
EndpointMap: {get_attr: [EndpointMapData, value]}
RoleName: {{role.name}}
RoleParameters:
@ -1110,40 +1089,6 @@ resources:
params:
$STACK_NAME: {get_param: 'OS::stack_name'}
RedisVirtualIP:
depends_on: [Networks, ServiceNetMap]
type: OS::TripleO::Network::Ports::RedisVipPort
properties:
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
ControlPlaneSubnetCidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_attr: [ServiceNetMap, vip_subnet_map, ctlplane]}, cidr]}, 1]}
ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
PortName: redis_virtual_ip
DnsName: null
NetworkName: {get_attr: [ServiceNetMap, service_net_map, RedisNetwork]}
ServiceName: redis
FixedIPs:
if:
- redis_virtual_fixed_ip_set
- {get_param: RedisVirtualFixedIPs}
- [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, redis]}}]
OVNDBsVirtualIP:
depends_on: [Networks, ServiceNetMap]
type: OS::TripleO::Network::Ports::OVNDBsVipPort
properties:
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
ControlPlaneSubnetCidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_attr: [ServiceNetMap, vip_subnet_map, ctlplane]}, cidr]}, 1]}
ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
PortName: ovn_dbs_virtual_ip
DnsName: null
NetworkName: {get_attr: [ServiceNetMap, service_net_map, OvnDbsNetwork]}
ServiceName: ovn_dbs
FixedIPs:
if:
- ovn_dbs_virtual_fixed_ip_set
- {get_param: OVNDBsVirtualFixedIPs}
- [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, ovn_dbs]}}]
{%- for network in networks if network.vip|default(false) and network.enabled|default(true) %}
{%- if network.name == 'External' %}
# The public VIP is on the External net, falls back to ctlplane
@ -1284,11 +1229,7 @@ resources:
{%- for network in networks if network.enabled|default(true) %}
- {{ network.name }}
{%- endfor %}
NetVipMap:
map_merge:
- {get_attr: [VipMap, net_ip_map]}
- redis: {get_attr: [RedisVirtualIP, ip_address]}
- ovn_dbs: {get_attr: [OVNDBsVirtualIP, ip_address]}
NetVipMap: {get_attr: [VipMap, net_ip_map]}
CloudNames: {get_attr: [CloudNames, value]}
UndercloudHostsEntries: {get_param: UndercloudHostsEntries}
ExtraHostsEntries: {get_param: ExtraHostFileEntries}
@ -1390,11 +1331,7 @@ outputs:
{%- endfor %}
VipMap:
description: Mapping of each network to VIP addresses. Also includes the Redis and OVN DBs VIPs.
value:
map_merge:
- {get_attr: [VipMap, net_ip_map]}
- redis: {get_attr: [RedisVirtualIP, ip_address]}
- ovn_dbs: {get_attr: [OVNDBsVirtualIP, ip_address]}
value: {get_attr: [VipMap, net_ip_map]}
ServerIdData:
description: Mapping of each role to a list of nova server IDs and the bootstrap ID
value: {get_attr: [ServerIdMap, value]}

View File

@ -0,0 +1,54 @@
---
upgrade:
- |
Users of the ``OS::TripleO::Network::Ports::RedisVipPort`` and
``OS::TripleO::Network::Ports::OVNDBsVipPort`` interfaces must
update their templates. The interfaces has been removed, and the
managment of these virtual IPs has been moved to the
tripleo-heat-templates service template.
This change will typically affect deployments using already
deployed servers. Typically the virtual IPs for Redis and OVNDBs
was overriden using the ``deployed-neutron-port`` template.
For example::
resource_registry:
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
parameter_defaults:
DeployedServerPortMap:
redis_virtual_ip:
fixed_ips:
- ip_address: 192.168.100.10
subnets:
- cidr: 192.168.100.0/24
network:
tags:
- 192.168.100.0/24
ovn_dbs_virtual_ip:
fixed_ips:
- ip_address: 192.168.100.11
subnets:
- cidr: 192.168.100.0/24
network:
tags:
- 192.168.100.0/24
This will have to be changed. The following example shows how to
replicate the above configuration::
parameter_defaults:
RedisVirtualFixedIPs:
- ip_address: 192.168.100.10
use_neutron: false
OVNDBsVirtualFixedIPs:
- ip_address: 192.168.100.11
use_neutron: false
deprecations:
- |
The interfaces ``OS::TripleO::Network::Ports::RedisVipPort`` and
``OS::TripleO::Network::Ports::OVNDBsVipPort`` ha been removed.
The resources are no longer used in the overcloud heat stack.

View File

@ -22,8 +22,6 @@ environments:
NovaCrossAZAttach: false
NovaDisableImageDownloadToRbd: true
resource_registry: &dcn_resource_registry
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
OS::TripleO::Services::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml
OS::TripleO::Services::HAproxyEdge: ../deployment/haproxy/haproxy-edge-container-puppet.yaml
OS::TripleO::Services::NovaAZConfig: ../deployment/nova/nova-az-config.yaml

View File

@ -55,8 +55,6 @@ environments:
resource_registry:
# this network config is assumed by the tripleo deploy command
OS::TripleO::Network::Ports::RedisVipPort: ../../network/ports/noop.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../../network/ports/noop.yaml
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
# OVN