Set tags on all OS::Neutron::Port resources

This combines several changes that added tags to port
resources into one commit.

Set up tag hints on all OS::Neutron::Port resources.
The network-data-v2 work uses tags on neutron resources
to find existing resources so that we update instead
of create. Also for generating environment files info
in the neutron tag field is utilized.

Conflicts:
  network/ports/deployed_port.j2

Related: blueprint network-data-v2-ports
(cherry picked from commit 28f2a70912)
(cherry picked from commit 6d39c90a22)
(cherry picked from commit cea78ad4fd)
(cherry picked from commit 73684d0a89)
(cherry picked from commit d3b8515c4f)
(cherry picked from commit b4b2bc5d70)
(cherry picked from commit 659cc55277)
Change-Id: I178ac067e4fd77ddfa0eed963c79603576994433
This commit is contained in:
Harald Jensås 2020-11-09 00:51:38 +01:00
parent cf17ac91ed
commit f35479563a
14 changed files with 170 additions and 2 deletions

View File

@ -1,6 +1,9 @@
heat_template_version: rocky heat_template_version: rocky
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
network: network:
type: string type: string
default: ctlplane default: ctlplane
@ -33,6 +36,11 @@ resources:
- - {get_param: name} - - {get_param: name}
- port - port
replacement_policy: AUTO replacement_policy: AUTO
tags:
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
outputs: outputs:
fixed_ips: fixed_ips:

View File

@ -33,9 +33,20 @@ parameters:
replacement_policy: replacement_policy:
default: '' default: ''
type: string type: string
tags:
default: []
type: comma_delimited_list
DeployedServerPortMap: DeployedServerPortMap:
default: {} default: {}
type: json type: json
IsVirtualIP: # Here for compatibility
default: false
type: boolean
Role: # Here for compatibility
description: >
The TripleO Role Name
type: string
default: ''
outputs: outputs:

View File

@ -1,5 +1,8 @@
heat_template_version: rocky heat_template_version: rocky
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
image: image:
type: string type: string
default: unused default: unused
@ -76,6 +79,11 @@ resources:
- - {get_param: name} - - {get_param: name}
- ctlplane - ctlplane
replacement_policy: AUTO replacement_policy: AUTO
tags:
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
outputs: outputs:
OS::stack_id: OS::stack_id:

View File

@ -5,6 +5,9 @@ description: >
The IP address will be chosen automatically if FixedIPs is empty. The IP address will be chosen automatically if FixedIPs is empty.
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ServiceName: # Here for compatibility with from_service.yaml ServiceName: # Here for compatibility with from_service.yaml
description: Name of the service to lookup description: Name of the service to lookup
default: '' default: ''
@ -45,6 +48,9 @@ parameters:
[{'ip_address':'1.2.3.4'}] [{'ip_address':'1.2.3.4'}]
default: [] default: []
type: json type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
conditions: conditions:
fixed_ip_not_set: fixed_ip_not_set:
@ -67,7 +73,15 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}] - [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs - get_param: FixedIPs
replacement_policy: AUTO replacement_policy: AUTO
tags:
- str_replace:
template: tripleo_vip_net=$NET_NAME
params:
$NET_NAME: {get_param: ControlPlaneNetwork}
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
outputs: outputs:
ip_address: ip_address:
description: Virtual IP network IP description: Virtual IP network IP

View File

@ -44,6 +44,9 @@ parameters:
[{'ip_address':'1.2.3.4'}] [{'ip_address':'1.2.3.4'}]
default: [] default: []
type: json type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
ServiceVips: ServiceVips:
default: {} default: {}
type: json type: json

View File

@ -40,6 +40,9 @@ parameters:
[{'ip_address':'1.2.3.4'}] [{'ip_address':'1.2.3.4'}]
default: [] default: []
type: json type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
ServiceVips: ServiceVips:
default: {} default: {}
type: json type: json

View File

@ -57,6 +57,19 @@ parameters:
default: 0 default: 0
description: Index of the IP to get from Pool description: Index of the IP to get from Pool
type: number type: number
IsVirtualIP: # Here for compatibility
type: boolean
default: false
DefaultRoute: # Here for compatibility
description: >
Whether this interface is used for the default route
type: boolean
default: false
Role: # Here for compatibility
description: >
The TripleO Role Name
type: string
default: ''
outputs: outputs:
ip_address: ip_address:

View File

@ -4,6 +4,9 @@ description: >
Port without IP address, used to allocate MAC addresses for OVN chassis. Port without IP address, used to allocate MAC addresses for OVN chassis.
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
PortName: PortName:
description: Name of the port description: Name of the port
default: '' default: ''
@ -20,6 +23,19 @@ resources:
name: {get_param: PortName} name: {get_param: PortName}
network: {get_param: OVNMacAddressNetworkName} network: {get_param: OVNMacAddressNetworkName}
fixed_ips: [] fixed_ips: []
tags:
- str_replace:
template: tripleo_ovn_mac_port_name=$PORT_NAME
params:
$PORT_NAME: {get_param: PortName}
- str_replace:
template: tripleo_ovn_mac_net=$NET_NAME
params:
$NET_NAME: {get_param: OVNMacAddressNetworkName}
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
outputs: outputs:
mac_address: mac_address:

View File

@ -5,6 +5,9 @@ description: >
automatically if FixedIPs is empty. automatically if FixedIPs is empty.
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
{{network.name}}NetName: {{network.name}}NetName:
description: The name of the {{network.name_lower}} network. description: The name of the {{network.name_lower}} network.
default: {{network.name_lower|default(network.name|lower)}} default: {{network.name_lower|default(network.name|lower)}}
@ -47,6 +50,19 @@ parameters:
NodeIndex: # Here for compatibility with from_pool.yaml NodeIndex: # Here for compatibility with from_pool.yaml
default: 0 default: 0
type: number type: number
DefaultRoute:
description: >
Whether this interface is used for the default route
type: boolean
default: false
IsVirtualIP:
type: boolean
default: false
Role:
description: >
The TripleO Role Name
type: string
default: ''
conditions: conditions:
network_is_ctlplane: network_is_ctlplane:
@ -81,6 +97,29 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}] - [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs - get_param: FixedIPs
replacement_policy: AUTO replacement_policy: AUTO
tags:
if:
- {get_param: IsVirtualIP}
- - str_replace:
template: tripleo_vip_net=$NET_NAME
params:
$NET_NAME: {get_param: {{network.name}}NetName}
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
- - str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
- str_replace:
template: tripleo_default_route=$BOOL
params:
$BOOL: {get_param: DefaultRoute}
- str_replace:
template: tripleo_role=$ROLE
params:
$ROLE: {get_param: Role}
outputs: outputs:
ip_address: ip_address:

View File

@ -60,6 +60,19 @@ parameters:
{%- endif %} {%- endif %}
description: Cidr for the {{network.name_lower}} network. description: Cidr for the {{network.name_lower}} network.
type: string type: string
DefaultRoute: # Here for compatibility
description: >
Whether this interface is used for the default route
type: boolean
default: false
IsVirtualIP: # Here for compatibility
default: false
type: boolean
Role: # Here for compatibility
description: >
The TripleO Role Name
type: string
default: ''
outputs: outputs:
ip_address: ip_address:

View File

@ -5,6 +5,9 @@ description: >
The IP address will be chosen automatically if FixedIPs is empty. The IP address will be chosen automatically if FixedIPs is empty.
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ServiceName: # Here for compatibility with from_service.yaml ServiceName: # Here for compatibility with from_service.yaml
description: Name of the service to lookup description: Name of the service to lookup
default: '' default: ''
@ -45,6 +48,9 @@ parameters:
[{'ip_address':'1.2.3.4'}] [{'ip_address':'1.2.3.4'}]
default: [] default: []
type: json type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
conditions: conditions:
network_is_ctlplane: network_is_ctlplane:
@ -74,6 +80,15 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}] - [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs - get_param: FixedIPs
replacement_policy: AUTO replacement_policy: AUTO
tags:
- str_replace:
template: tripleo_service_vip=$SERVICE_NAME
params:
$SERVICE_NAME: {get_param: ServiceName}
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
outputs: outputs:
ip_address: ip_address:

View File

@ -5,6 +5,9 @@ description: >
The IP address will be chosen automatically if FixedIPs is empty. The IP address will be chosen automatically if FixedIPs is empty.
parameters: parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ServiceName: # Here for compatibility with from_service.yaml ServiceName: # Here for compatibility with from_service.yaml
description: Name of the service to lookup description: Name of the service to lookup
default: '' default: ''
@ -45,6 +48,9 @@ parameters:
[{'ip_address':'1.2.3.4'}] [{'ip_address':'1.2.3.4'}]
default: [] default: []
type: json type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
conditions: conditions:
network_is_ctlplane: network_is_ctlplane:
@ -74,7 +80,15 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}] - [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs - get_param: FixedIPs
replacement_policy: AUTO replacement_policy: AUTO
tags:
- str_replace:
template: tripleo_service_vip=$SERVICE_NAME
params:
$SERVICE_NAME: {get_param: ServiceName}
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: RootStackName}
outputs: outputs:
ip_address: ip_address:
description: Virtual IP network IP description: Virtual IP network IP

View File

@ -1139,6 +1139,12 @@ resources:
- [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, ctlplane]}}] - [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, ctlplane]}}]
- get_param: ControlFixedIPs - get_param: ControlFixedIPs
replacement_policy: AUTO replacement_policy: AUTO
tags:
- tripleo_vip_net=ctlplane
- str_replace:
template: tripleo_stack_name=$STACK_NAME
params:
$STACK_NAME: {get_param: 'OS::stack_name'}
RedisVirtualIP: RedisVirtualIP:
depends_on: [Networks, ServiceNetMap] depends_on: [Networks, ServiceNetMap]
@ -1206,6 +1212,7 @@ resources:
- {get_param: {{network.name}}VirtualFixedIPs} - {get_param: {{network.name}}VirtualFixedIPs}
{%- endif %} {%- endif %}
- [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, {{network.name}}]}}] - [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, {{network.name}}]}}]
IsVirtualIP: true
{%- endfor %} {%- endfor %}
VipMap: VipMap:

View File

@ -338,6 +338,10 @@ resources:
{%- endif %} {%- endif %}
- {get_param: {{role.name}}IPs} - {get_param: {{role.name}}IPs}
NodeIndex: {get_param: NodeIndex} NodeIndex: {get_param: NodeIndex}
{%- if role.default_route_networks is defined and network.name in role.default_route_networks %}
DefaultRoute: true
{%- endif %}
Role: {{role.name}}
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}