71d59bb0a3
This option was recently supported in ovn-controller [1]. If this value is configured
in the external_ids column of OpenvSwitch table of OVS database, ovn-controller copies
it to the chassis table, which will be read by Neutron OVN mechanism driver. OVN mech driver can
take certain decisions based on the value. One such use case is setting the value
'enable-chassis-as-gw' in this option. Only those chassis which has this option set,
will be considered as a candidate to schedule a neutron router. So, the administrator
can decide to use only controller nodes (or networker nodes) for scheduling the
router.
[1] - 4705963f2c
Change-Id: Iabe5aec30c740447b9714e1b1ace366768488bdb
Signed-off-by: Numan Siddique <nusiddiq@redhat.com>
121 lines
4.3 KiB
YAML
121 lines
4.3 KiB
YAML
heat_template_version: queens
|
|
|
|
description: >
|
|
OpenStack OVN Controller agent
|
|
|
|
parameters:
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
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
|
|
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
|
|
OVNSouthboundServerPort:
|
|
description: Port of the Southbound DB Server
|
|
type: number
|
|
default: 6642
|
|
OVNTunnelEncapType:
|
|
description: Tunnel encapsulation type
|
|
type: string
|
|
default: geneve
|
|
NeutronBridgeMappings:
|
|
description: >
|
|
The OVS logical->physical bridge mappings to use. See the Neutron
|
|
documentation for details. Defaults to mapping br-ex - the external
|
|
bridge on hosts - to a physical name 'datacentre' which can be used
|
|
to create provider networks (and we use this for the default floating
|
|
network) - if changing this either use different post-install network
|
|
scripts or be sure to keep 'datacentre' as a mapping network name.
|
|
type: comma_delimited_list
|
|
default: "datacentre:br-ex"
|
|
OVNIntegrationBridge:
|
|
description: >
|
|
Name of the OVS bridge to use as integration bridge by OVN Controller.
|
|
type: string
|
|
default: "br-int"
|
|
OVNMetadataEnabled:
|
|
description: Whether Metadata Service has to be enabled
|
|
type: boolean
|
|
default: true
|
|
OVNCMSOptions:
|
|
description: The CMS options to configure in ovs db
|
|
type: string
|
|
default: ""
|
|
|
|
|
|
resources:
|
|
# Merging role-specific parameters (RoleParameters) with the default parameters.
|
|
# RoleParameters will have the precedence over the default parameters.
|
|
RoleParametersValue:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
map_replace:
|
|
- map_replace:
|
|
- ovn::controller::ovn_bridge_mappings: NeutronBridgeMappings
|
|
ovn::controller::ovn_cms_options: OVNCMSOptions
|
|
- values: {get_param: [RoleParameters]}
|
|
- values:
|
|
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
|
OVNCMSOptions: {get_param: OVNCMSOptions}
|
|
|
|
conditions:
|
|
force_config_drive: {equals: [{get_param: OVNMetadataEnabled}, false]}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the OVN Controller agent
|
|
value:
|
|
service_name: ovn_controller
|
|
config_settings:
|
|
map_merge:
|
|
- get_attr: [RoleParametersValue, value]
|
|
- ovn::southbound::port: {get_param: OVNSouthboundServerPort}
|
|
ovn::controller::ovn_encap_type: {get_param: OVNTunnelEncapType}
|
|
ovn::controller::ovn_encap_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
|
|
ovn::controller::ovn_bridge: {get_param: OVNIntegrationBridge}
|
|
nova::compute::force_config_drive: {if: [force_config_drive, true, false]}
|
|
tripleo.ovn_controller.firewall_rules:
|
|
'118 neutron vxlan networks':
|
|
proto: 'udp'
|
|
dport: 4789
|
|
'119 neutron geneve networks':
|
|
proto: 'udp'
|
|
dport: 6081
|
|
step_config: |
|
|
include ::tripleo::profile::base::neutron::agents::ovn
|
|
upgrade_tasks:
|
|
- name: Check if ovn_controller is deployed
|
|
command: systemctl is-enabled ovn-controller
|
|
tags: common
|
|
ignore_errors: True
|
|
register: ovn_controller_enabled
|
|
- name: "PreUpgrade step0,validation: Check service ovn-controller is running"
|
|
shell: /usr/bin/systemctl show 'ovn-controller' --property ActiveState | grep '\bactive\b'
|
|
when: (ovn_controller_enabled.rc == 0) and (step|int == 0)
|
|
tags: validation
|
|
- name: Stop ovn-controller service
|
|
when: (ovn_controller_enabled.rc == 0) and (step|int == 1)
|
|
service: name=ovn-controller state=stopped
|