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

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.

Partial-Implements: blueprint network-data-v2-ports
Change-Id: I3d43ae22cc45e5528ecfb1a6b2cb8602faa162a0
This commit is contained in:
Harald Jensås 2021-03-05 00:05:31 +01:00
parent e48eef930a
commit 73684d0a89
15 changed files with 118 additions and 11 deletions

View File

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

View File

@ -39,6 +39,9 @@ parameters:
DeployedServerPortMap:
default: {}
type: json
IsVirtualIP: # Here for compatibility
default: false
type: boolean
outputs:

View File

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

View File

@ -5,6 +5,9 @@ description: >
The IP address will be chosen automatically if FixedIPs is empty.
parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ServiceName: # Here for compatibility with from_service.yaml
description: Name of the service to lookup
default: ''
@ -45,6 +48,9 @@ parameters:
[{'ip_address':'1.2.3.4'}]
default: []
type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
conditions:
fixed_ip_not_set:
@ -67,7 +73,15 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs
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:
ip_address:
description: Virtual IP network IP

View File

@ -51,6 +51,9 @@ parameters:
A map of deployed port data
default: {}
type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
resources:

View File

@ -46,7 +46,7 @@ parameters:
NodeIndex: # Here for compatibility with from_pool.yaml
default: 0
type: number
VipPort: # Here for compatibility
IsVirtualIP: # Here for compatibility
type: boolean
default: false
VipPortMap:

View File

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

View File

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

View File

@ -57,6 +57,9 @@ parameters:
default: 0
description: Index of the IP to get from Pool
type: number
IsVirtualIP: # Here for compatibility
type: boolean
default: false
outputs:
ip_address:

View File

@ -4,6 +4,9 @@ description: >
Port without IP address, used to allocate MAC addresses for OVN chassis.
parameters:
RootStackName:
description: The name of the stack/plan.
type: string
PortName:
description: Name of the port
default: ''
@ -29,6 +32,19 @@ resources:
name: {get_param: PortName}
network: {get_param: OVNMacAddressNetworkName}
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:
mac_address:

View File

@ -63,6 +63,9 @@ parameters:
Whether this interface is used for the default route
type: boolean
default: false
IsVirtualIP:
type: boolean
default: false
conditions:
network_is_ctlplane:
@ -99,14 +102,24 @@ resources:
- get_param: FixedIPs
replacement_policy: AUTO
tags:
- 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}
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}
outputs:
ip_address:

View File

@ -65,6 +65,9 @@ parameters:
Whether this interface is used for the default route
type: boolean
default: false
IsVirtualIP: # Here for compatibility
default: false
type: boolean
outputs:
ip_address:

View File

@ -5,6 +5,9 @@ description: >
The IP address will be chosen automatically if FixedIPs is empty.
parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ServiceName: # Here for compatibility with from_service.yaml
description: Name of the service to lookup
default: ''
@ -53,6 +56,9 @@ parameters:
default: delete
constraints:
- allowed_values: [delete, retain]
IsVirtualIP: # Here for compatibility
type: boolean
default: false
conditions:
network_is_ctlplane:
@ -83,6 +89,15 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs
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:
ip_address:

View File

@ -5,6 +5,9 @@ description: >
The IP address will be chosen automatically if FixedIPs is empty.
parameters:
RootStackName:
description: The name of the stack/plan.
type: string
ServiceName: # Here for compatibility with from_service.yaml
description: Name of the service to lookup
default: ''
@ -45,6 +48,9 @@ parameters:
[{'ip_address':'1.2.3.4'}]
default: []
type: json
IsVirtualIP: # Here for compatibility
type: boolean
default: false
conditions:
network_is_ctlplane:
@ -74,7 +80,15 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs
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:
ip_address:
description: Virtual IP network IP

View File

@ -1176,6 +1176,7 @@ resources:
- {get_param: {{network.name}}VirtualFixedIPs}
{%- endif %}
- [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, {{network.name}}]}}]
IsVirtualIP: true
{%- endfor %}
VipMap: