Merge "Remove CI env for net-config-multinode-os-net-config.yaml"
This commit is contained in:
commit
cdbef3b960
@ -1,271 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Software Config to drive os-net-config for a simple bridge configured
|
|
||||||
with a static IP address for the ctlplane network.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
ControlPlaneIp:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the ctlplane network
|
|
||||||
type: string
|
|
||||||
ControlPlaneSubnetCidr:
|
|
||||||
default: ''
|
|
||||||
description: >
|
|
||||||
The subnet CIDR of the control plane network. (The parameter is
|
|
||||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
|
||||||
type: string
|
|
||||||
ControlPlaneDefaultRoute:
|
|
||||||
default: ''
|
|
||||||
description: The default route of the control plane network. (The parameter
|
|
||||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
|
||||||
type: string
|
|
||||||
ControlPlaneStaticRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the ctlplane network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
ControlPlaneMtu:
|
|
||||||
default: 1500
|
|
||||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
||||||
guaranteed to pass through the data path of the segments in the network.
|
|
||||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
|
||||||
type: number
|
|
||||||
ExternalIpSubnet:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the external network
|
|
||||||
type: string
|
|
||||||
ExternalInterfaceRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the external network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
ExternalMtu:
|
|
||||||
default: 1500
|
|
||||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
||||||
guaranteed to pass through the data path of the segments in the
|
|
||||||
External network.
|
|
||||||
type: number
|
|
||||||
ExternalInterfaceDefaultRoute:
|
|
||||||
default: ''
|
|
||||||
description: default route for the external network
|
|
||||||
type: string
|
|
||||||
InternalApiIpSubnet:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the internal_api network
|
|
||||||
type: string
|
|
||||||
InternalApiInterfaceRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the internal_api network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
InternalApiMtu:
|
|
||||||
default: 1500
|
|
||||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
||||||
guaranteed to pass through the data path of the segments in the
|
|
||||||
InternalApi network.
|
|
||||||
type: number
|
|
||||||
StorageIpSubnet:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the storage network
|
|
||||||
type: string
|
|
||||||
StorageInterfaceRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the storage network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
StorageMtu:
|
|
||||||
default: 1500
|
|
||||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
||||||
guaranteed to pass through the data path of the segments in the
|
|
||||||
Storage network.
|
|
||||||
type: number
|
|
||||||
StorageMgmtIpSubnet:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the storage_mgmt network
|
|
||||||
type: string
|
|
||||||
StorageMgmtInterfaceRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the storage_mgmt network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
StorageMgmtMtu:
|
|
||||||
default: 1500
|
|
||||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
||||||
guaranteed to pass through the data path of the segments in the
|
|
||||||
StorageMgmt network.
|
|
||||||
type: number
|
|
||||||
StorageNFSIpSubnet:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the storage_nfs network
|
|
||||||
type: string
|
|
||||||
StorageNFSRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the storage_nfs network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
TenantIpSubnet:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the tenant network
|
|
||||||
type: string
|
|
||||||
TenantInterfaceRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the tenant network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
TenantMtu:
|
|
||||||
default: 1500
|
|
||||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
||||||
guaranteed to pass through the data path of the segments in the
|
|
||||||
Tenant network.
|
|
||||||
type: number
|
|
||||||
ManagementIpSubnet:
|
|
||||||
default: ''
|
|
||||||
description: IP address/subnet on the management network
|
|
||||||
type: string
|
|
||||||
ManagementInterfaceRoutes:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
Routes for the management network traffic.
|
|
||||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
Unless the default is changed, the parameter is automatically resolved
|
|
||||||
from the subnet host_routes attribute.
|
|
||||||
type: json
|
|
||||||
ManagementMtu:
|
|
||||||
default: 1500
|
|
||||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
||||||
guaranteed to pass through the data path of the segments in the
|
|
||||||
Management network.
|
|
||||||
type: number
|
|
||||||
OvSBridgeMtu:
|
|
||||||
default: 1300
|
|
||||||
description: The mtu of the OvS bridge
|
|
||||||
type: number
|
|
||||||
DnsServers: # Override this via parameter_defaults
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
|
||||||
If not set the nameservers configured in the ctlplane subnet's
|
|
||||||
dns_nameservers attribute will be used.
|
|
||||||
type: comma_delimited_list
|
|
||||||
# NOTE(hjensas): We need these because the default network_data.yaml define
|
|
||||||
# vlan for all networks.
|
|
||||||
ExternalNetworkVlanID:
|
|
||||||
default: 10
|
|
||||||
description: Vlan ID for the external network traffic.
|
|
||||||
type: number
|
|
||||||
InternalApiNetworkVlanID:
|
|
||||||
default: 20
|
|
||||||
description: Vlan ID for the internal_api network traffic.
|
|
||||||
type: number
|
|
||||||
StorageNetworkVlanID:
|
|
||||||
default: 30
|
|
||||||
description: Vlan ID for the storage network traffic.
|
|
||||||
type: number
|
|
||||||
StorageMgmtNetworkVlanID:
|
|
||||||
default: 40
|
|
||||||
description: Vlan ID for the storage_mgmt network traffic.
|
|
||||||
type: number
|
|
||||||
TenantNetworkVlanID:
|
|
||||||
default: 50
|
|
||||||
description: Vlan ID for the tenant network traffic.
|
|
||||||
type: number
|
|
||||||
|
|
||||||
resources:
|
|
||||||
|
|
||||||
OsNetConfigImpl:
|
|
||||||
type: OS::Heat::SoftwareConfig
|
|
||||||
properties:
|
|
||||||
group: script
|
|
||||||
config:
|
|
||||||
list_join:
|
|
||||||
- ''
|
|
||||||
- - |
|
|
||||||
#!/bin/bash
|
|
||||||
function network_config_hook {
|
|
||||||
primary_private_ip=$(cat /etc/nodepool/primary_node_private)
|
|
||||||
sed -i "s/primary_private_ip/$primary_private_ip/" /etc/os-net-config/config.json
|
|
||||||
subnode_private_ip=$(cat /etc/nodepool/node_private)
|
|
||||||
sed -i "s/subnode_private_ip/$subnode_private_ip/" /etc/os-net-config/config.json
|
|
||||||
# We start with an arbitrarily high vni key so that we don't
|
|
||||||
# overlap with Neutron created values. These will also match the
|
|
||||||
# values that we've been using previously from the devstack-gate
|
|
||||||
# code.
|
|
||||||
vni=1000002
|
|
||||||
subnode_index=$(grep -n $(cat /etc/nodepool/node_private) /etc/nodepool/sub_nodes_private | cut -d: -f1)
|
|
||||||
let vni+=$subnode_index
|
|
||||||
sed -i "s/vni/$vni/" /etc/os-net-config/config.json
|
|
||||||
export interface_name="br-ex_$primary_private_ip"
|
|
||||||
|
|
||||||
# Until we are fully migrated to os-net-config we need
|
|
||||||
# to clean up the old bridge first created by
|
|
||||||
# devstack-gate. However, if $interface_name is already
|
|
||||||
# present in `ovs-vsctl show`, assume our br-ex is
|
|
||||||
# already configured. (Mainly for upgrade job, to avoid
|
|
||||||
# deleting br-ex during upgrade.)
|
|
||||||
if ! ovs-vsctl show | grep $interface_name &> /dev/null; then
|
|
||||||
ovs-vsctl del-br br-ex
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
-
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_file: ../../network/scripts/run-os-net-config.sh
|
|
||||||
params:
|
|
||||||
$network_config:
|
|
||||||
network_config:
|
|
||||||
- type: ovs_bridge
|
|
||||||
name: bridge_name
|
|
||||||
mtu:
|
|
||||||
get_param: OvSBridgeMtu
|
|
||||||
use_dhcp: false
|
|
||||||
addresses:
|
|
||||||
- ip_netmask:
|
|
||||||
list_join:
|
|
||||||
- "/"
|
|
||||||
- - get_param: ControlPlaneIp
|
|
||||||
- get_param: ControlPlaneSubnetCidr
|
|
||||||
members:
|
|
||||||
- type: ovs_tunnel
|
|
||||||
name: interface_name
|
|
||||||
tunnel_type: vxlan
|
|
||||||
ovs_options:
|
|
||||||
- list_join:
|
|
||||||
- "="
|
|
||||||
- - key
|
|
||||||
- vni
|
|
||||||
- list_join:
|
|
||||||
- "="
|
|
||||||
- - remote_ip
|
|
||||||
- primary_private_ip
|
|
||||||
- list_join:
|
|
||||||
- "="
|
|
||||||
- - local_ip
|
|
||||||
- subnode_private_ip
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
OS::stack_id:
|
|
||||||
description: The OsNetConfigImpl resource.
|
|
||||||
value: {get_resource: OsNetConfigImpl}
|
|
@ -1,6 +1,6 @@
|
|||||||
resource_registry:
|
resource_registry:
|
||||||
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode.yaml
|
||||||
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode.yaml
|
||||||
# Some infra instances don't pass the ping test but are otherwise working.
|
# Some infra instances don't pass the ping test but are otherwise working.
|
||||||
# Since the OVB jobs also test this functionality we can shut it off here.
|
# Since the OVB jobs also test this functionality we can shut it off here.
|
||||||
OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml
|
OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
resource_registry:
|
resource_registry:
|
||||||
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode.yaml
|
||||||
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode.yaml
|
||||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../../deployment/neutron/neutron-plugin-ml2.yaml
|
OS::TripleO::Docker::NeutronMl2PluginBase: ../../deployment/neutron/neutron-plugin-ml2.yaml
|
||||||
OS::TripleO::Services::NeutronApi: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
OS::TripleO::Services::NeutronApi: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
||||||
OS::TripleO::Services::NeutronCorePlugin: ../../deployment/neutron/neutron-plugin-ml2-container-puppet.yaml
|
OS::TripleO::Services::NeutronCorePlugin: ../../deployment/neutron/neutron-plugin-ml2-container-puppet.yaml
|
||||||
|
@ -79,10 +79,6 @@ if [ -n '$network_config' ]; then
|
|||||||
# Note these variables come from the calling heat SoftwareConfig
|
# Note these variables come from the calling heat SoftwareConfig
|
||||||
echo '$network_config' > /etc/os-net-config/config.json
|
echo '$network_config' > /etc/os-net-config/config.json
|
||||||
|
|
||||||
if [ "$(type -t network_config_hook)" = "function" ]; then
|
|
||||||
network_config_hook
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -i "s/: \"bridge_name/: \"${bridge_name:-''}/g" /etc/os-net-config/config.json
|
sed -i "s/: \"bridge_name/: \"${bridge_name:-''}/g" /etc/os-net-config/config.json
|
||||||
sed -i "s/interface_name/${interface_name:-''}/g" /etc/os-net-config/config.json
|
sed -i "s/interface_name/${interface_name:-''}/g" /etc/os-net-config/config.json
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user