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: resource_registry:
# Redis
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip_v6.yaml
# External # External
OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external_v6.yaml 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 OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -52,6 +52,20 @@
tags: tags:
- always - 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([]) }}" - hosts: "{{ deploy_target_host | default([]) }}"
name: Render all_nodes data as group_vars for overcloud name: Render all_nodes data as group_vars for overcloud
gather_facts: "{{ gather_facts | default(false) }}" gather_facts: "{{ gather_facts | default(false) }}"

View File

@ -451,6 +451,29 @@ outputs:
SELINUX_MODE: {get_param: SELinuxMode} SELINUX_MODE: {get_param: SELinuxMode}
{% endblock %} {% endblock %}
template: | 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 - import_playbook: common_deploy_steps_playbooks.yaml
vars: vars:
deploy_source_host: "DEPLOY_SOURCE_HOST" deploy_source_host: "DEPLOY_SOURCE_HOST"
@ -535,6 +558,8 @@ outputs:
name: Server pre network steps name: Server pre network steps
gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}" gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}"
any_errors_fatal: yes any_errors_fatal: yes
vars:
deploy_source_host: "DEPLOY_SOURCE_HOST"
tasks: tasks:
{% raw %} {% raw %}
- import_tasks: hiera_steps_tasks.yaml - import_tasks: hiera_steps_tasks.yaml

View File

@ -4,6 +4,9 @@ description: >
OpenStack Redis service configured with Puppet OpenStack Redis service configured with Puppet
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
RedisPassword: RedisPassword:
description: The password for the redis service account. description: The password for the redis service account.
type: string type: string
@ -42,6 +45,15 @@ parameters:
default: false default: false
description: Enable IPv6 in Redis description: Enable IPv6 in Redis
type: boolean 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: parameter_groups:
- label: deprecated - label: deprecated
@ -59,6 +71,16 @@ conditions:
equals: equals:
- {get_param: [ServiceData, net_ip_version_map, {get_param: [ServiceNetMap, RedisNetwork]}]} - {get_param: [ServiceData, net_ip_version_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
- 6 - 6
redis_virtual_fixed_ip_set:
not:
equals:
- get_param: RedisVirtualFixedIPs
- []
redis_service_vip_set:
not:
equals:
- get_param: [ServiceVips, redis]
- ''
outputs: outputs:
role_data: role_data:
@ -106,3 +128,22 @@ outputs:
params: params:
$NETWORK: {get_param: [ServiceNetMap, RedisNetwork]} $NETWORK: {get_param: [ServiceNetMap, RedisNetwork]}
redis::ulimit: {get_param: RedisFDLimit} 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: CertificateKeySize}
- {get_param: RedisCertificateKeySize} - {get_param: RedisCertificateKeySize}
ca: ipa ca: ipa
external_deploy_tasks: {get_attr: [RedisBase, role_data, external_deploy_tasks]}
host_prep_tasks: host_prep_tasks:
- name: create fcontext entry for redis data - name: create fcontext entry for redis data
sefcontext: sefcontext:

View File

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

View File

@ -4,6 +4,9 @@ description: >
OpenStack containerized Ovn DBs service OpenStack containerized Ovn DBs service
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ContainerOvnNbDbImage: ContainerOvnNbDbImage:
description: image description: image
type: string type: string
@ -44,6 +47,27 @@ parameters:
description: Port of the OVN Southbound DB server description: Port of the OVN Southbound DB server
type: number type: number
default: 6642 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: resources:
@ -202,4 +226,23 @@ outputs:
with_items: with_items:
- { 'path': /var/log/containers/openvswitch, 'setype': container_file_t, 'mode': '0750' } - { 'path': /var/log/containers/openvswitch, 'setype': container_file_t, 'mode': '0750' }
- { 'path': /var/lib/openvswitch/ovn, 'setype': container_file_t } - { '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: [] upgrade_tasks: []

View File

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

View File

@ -46,8 +46,6 @@ parameter_defaults:
NovaDisableImageDownloadToRbd: True NovaDisableImageDownloadToRbd: True
resource_registry: 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::CinderVolumeEdge: ../deployment/cinder/cinder-volume-container-puppet.yaml
OS::TripleO::Services::Etcd: ../deployment/etcd/etcd-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 OS::TripleO::Services::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml

View File

@ -44,8 +44,6 @@ parameter_defaults:
NovaDisableImageDownloadToRbd: True NovaDisableImageDownloadToRbd: True
resource_registry: 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::CinderVolumeEdge: ../deployment/cinder/cinder-volume-container-puppet.yaml
OS::TripleO::Services::Etcd: ../deployment/etcd/etcd-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 OS::TripleO::Services::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml

View File

@ -26,8 +26,6 @@ parameter_defaults:
NovaDisableImageDownloadToRbd: True NovaDisableImageDownloadToRbd: True
resource_registry: 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::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml
OS::TripleO::Services::HAproxyEdge: ../deployment/haproxy/haproxy-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 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::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_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::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::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::InternalApiPort: ../network/ports/internal_api_from_pool_v6.yaml
OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_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::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_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::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::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::InternalApiPort: ../network/ports/internal_api_from_pool_v6.yaml
OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_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::InternalApiVipPort: ../network/ports/internal_api.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.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::ExternalPort: ../network/ports/external_from_pool.yaml
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_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 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::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_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::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: parameter_defaults:
# Set the IP addresses of the VIPs here. # 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::InternalApiVipPort: ../network/ports/internal_api.yaml
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.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: parameter_defaults:
# Set the IP addresses of the VIPs here. # 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' %} {%- 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 OS::TripleO::Network::Ports::{{network.name}}VipPort: ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
{%- endfor %} {%- 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. # Port assignments for each role are determined by the role definition.
{%- for role in roles %} {%- for role in roles %}

View File

@ -33,8 +33,6 @@ resource_registry:
{%- endif %} {%- endif %}
{%- endfor %} {%- 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. # Port assignments by role, edit role definition to assign networks to roles.
{%- for role in roles %} {%- for role in roles %}

View File

@ -26,8 +26,6 @@ resource_registry:
{%- endif %} {%- endif %}
{%- endfor %} {%- 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. # Port assignments by role, edit role definition to assign networks to roles.
{%- for role in 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 OS::TripleO::Network::Ports::{{network.name}}VipPort: ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
{%- endif %} {%- endif %}
{%- endfor %} {%- 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. # Port assignments by role, edit role definition to assign networks to roles.
{%- for role in roles %} {%- for role in roles %}

View File

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

View File

@ -58,8 +58,6 @@ parameter_defaults:
resource_registry: resource_registry:
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml 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::OVNMacAddressNetwork: OS::Heat::None
OS::TripleO::OVNMacAddressPort: OS::Heat::None OS::TripleO::OVNMacAddressPort: OS::Heat::None
OS::TripleO::Services::AodhApi: OS::Heat::None OS::TripleO::Services::AodhApi: OS::Heat::None

View File

@ -1,7 +1,5 @@
resource_registry: resource_registry:
OS::TripleO::Services::Tmpwatch: ../deployment/logrotate/tmpwatch-install.yaml 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::Network::Ports::ControlPlaneVipPort: ../deployed-server/deployed-neutron-port.yaml
OS::TripleO::NodeExtraConfigPost: ../extraconfig/post_deploy/undercloud_post.yaml OS::TripleO::NodeExtraConfigPost: ../extraconfig/post_deploy/undercloud_post.yaml
OS::TripleO::Services::DockerRegistry: ../deployment/image-serve/image-serve-baremetal-ansible.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 OS::TripleO::Network::Ports::{{network.name}}VipPort: network/ports/noop.yaml
{%- endfor %} {%- 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 OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Neutron::Port
# Service to network Mappings # Service to network Mappings

View File

@ -131,18 +131,6 @@ parameters:
type: string type: string
default: unset default: unset
description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change. 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: CloudDomain:
default: 'localdomain' default: 'localdomain'
type: string type: string
@ -449,16 +437,6 @@ conditions:
equals: equals:
- get_param: PublicVirtualFixedIPs - 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: set_default_mysql_cell_internal:
or: or:
- equals: - equals:
@ -658,6 +636,7 @@ resources:
net_cidr_map: {get_attr: [NetCidrMapValue, value]} net_cidr_map: {get_attr: [NetCidrMapValue, value]}
net_vip_map: {get_attr: [VipMap, net_ip_map]} net_vip_map: {get_attr: [VipMap, net_ip_map]}
net_ip_version_map: {get_attr: [NetIpVersionMapValue, value]} net_ip_version_map: {get_attr: [NetIpVersionMapValue, value]}
vip_subnet_map: {get_attr: [ServiceNetMap, vip_subnet_map]}
EndpointMap: {get_attr: [EndpointMapData, value]} EndpointMap: {get_attr: [EndpointMapData, value]}
RoleName: {{role.name}} RoleName: {{role.name}}
RoleParameters: RoleParameters:
@ -1110,40 +1089,6 @@ resources:
params: params:
$STACK_NAME: {get_param: 'OS::stack_name'} $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) %} {%- for network in networks if network.vip|default(false) and network.enabled|default(true) %}
{%- if network.name == 'External' %} {%- if network.name == 'External' %}
# The public VIP is on the External net, falls back to ctlplane # 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) %} {%- for network in networks if network.enabled|default(true) %}
- {{ network.name }} - {{ network.name }}
{%- endfor %} {%- endfor %}
NetVipMap: NetVipMap: {get_attr: [VipMap, net_ip_map]}
map_merge:
- {get_attr: [VipMap, net_ip_map]}
- redis: {get_attr: [RedisVirtualIP, ip_address]}
- ovn_dbs: {get_attr: [OVNDBsVirtualIP, ip_address]}
CloudNames: {get_attr: [CloudNames, value]} CloudNames: {get_attr: [CloudNames, value]}
UndercloudHostsEntries: {get_param: UndercloudHostsEntries} UndercloudHostsEntries: {get_param: UndercloudHostsEntries}
ExtraHostsEntries: {get_param: ExtraHostFileEntries} ExtraHostsEntries: {get_param: ExtraHostFileEntries}
@ -1390,11 +1331,7 @@ outputs:
{%- endfor %} {%- endfor %}
VipMap: VipMap:
description: Mapping of each network to VIP addresses. Also includes the Redis and OVN DBs VIPs. description: Mapping of each network to VIP addresses. Also includes the Redis and OVN DBs VIPs.
value: value: {get_attr: [VipMap, net_ip_map]}
map_merge:
- {get_attr: [VipMap, net_ip_map]}
- redis: {get_attr: [RedisVirtualIP, ip_address]}
- ovn_dbs: {get_attr: [OVNDBsVirtualIP, ip_address]}
ServerIdData: ServerIdData:
description: Mapping of each role to a list of nova server IDs and the bootstrap ID description: Mapping of each role to a list of nova server IDs and the bootstrap ID
value: {get_attr: [ServerIdMap, value]} 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 NovaCrossAZAttach: false
NovaDisableImageDownloadToRbd: true NovaDisableImageDownloadToRbd: true
resource_registry: &dcn_resource_registry 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::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml
OS::TripleO::Services::HAproxyEdge: ../deployment/haproxy/haproxy-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 OS::TripleO::Services::NovaAZConfig: ../deployment/nova/nova-az-config.yaml

View File

@ -55,8 +55,6 @@ environments:
resource_registry: resource_registry:
# this network config is assumed by the tripleo deploy command # 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 OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
# OVN # OVN