Browse Source

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
changes/22/792222/3
Harald Jensås 9 months ago
parent
commit
f35479563a
  1. 8
      deployed-server/ctlplane-port.yaml
  2. 11
      deployed-server/deployed-neutron-port.yaml
  3. 8
      deployed-server/deployed-server.yaml
  4. 16
      network/ports/ctlplane_vip.yaml
  5. 3
      network/ports/from_service.yaml
  6. 3
      network/ports/from_service_v6.yaml
  7. 13
      network/ports/noop.yaml
  8. 16
      network/ports/ovn_mac_addr_port.yaml
  9. 39
      network/ports/port.j2
  10. 13
      network/ports/port_from_pool.j2
  11. 15
      network/ports/vip.yaml
  12. 16
      network/ports/vip_v6.yaml
  13. 7
      overcloud.j2.yaml
  14. 4
      puppet/role.role.j2.yaml

8
deployed-server/ctlplane-port.yaml

@ -1,6 +1,9 @@
heat_template_version: rocky
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:

11
deployed-server/deployed-neutron-port.yaml

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

8
deployed-server/deployed-server.yaml

@ -1,5 +1,8 @@
heat_template_version: rocky
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:

16
network/ports/ctlplane_vip.yaml

@ -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

3
network/ports/from_service.yaml

@ -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

3
network/ports/from_service_v6.yaml

@ -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

13
network/ports/noop.yaml

@ -57,6 +57,19 @@ parameters:
default: 0
description: Index of the IP to get from Pool
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:
ip_address:

16
network/ports/ovn_mac_addr_port.yaml

@ -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: ''
@ -20,6 +23,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:

39
network/ports/port.j2

@ -5,6 +5,9 @@ description: >
automatically if FixedIPs is empty.
parameters:
RootStackName:
description: The name of the stack/plan.
type: string
{{network.name}}NetName:
description: The name of the {{network.name_lower}} network.
default: {{network.name_lower|default(network.name|lower)}}
@ -47,6 +50,19 @@ parameters:
NodeIndex: # Here for compatibility with from_pool.yaml
default: 0
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:
network_is_ctlplane:
@ -81,6 +97,29 @@ resources:
- [{subnet: {get_param: ControlPlaneSubnet}}]
- get_param: FixedIPs
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:
ip_address:

13
network/ports/port_from_pool.j2

@ -60,6 +60,19 @@ parameters:
{%- endif %}
description: Cidr for the {{network.name_lower}} network.
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:
ip_address:

15
network/ports/vip.yaml

@ -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,6 +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:

16
network/ports/vip_v6.yaml

@ -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

7
overcloud.j2.yaml

@ -1139,6 +1139,12 @@ resources:
- [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, ctlplane]}}]
- get_param: ControlFixedIPs
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:
depends_on: [Networks, ServiceNetMap]
@ -1206,6 +1212,7 @@ resources:
- {get_param: {{network.name}}VirtualFixedIPs}
{%- endif %}
- [{subnet: {get_attr: [ServiceNetMap, vip_subnet_map, {{network.name}}]}}]
IsVirtualIP: true
{%- endfor %}
VipMap:

4
puppet/role.role.j2.yaml

@ -338,6 +338,10 @@ resources:
{%- endif %}
- {get_param: {{role.name}}IPs}
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 %}
{%- endfor %}

Loading…
Cancel
Save