TripleO network_data.yaml contents not enforced

asked 2019-02-04 18:32:07 -0500

jidar gravatar image

I'm attempting to deploy an overcloud using tripleo, during the deployment my ExternalNetCidr, ExternalAllocationPools, and ExternalInterfaceDefaultRoute are defined in network-environment.yaml and network_data.yaml. The values found in network-environment.yaml are the defaults like 10.0.0.0/24, the values found in network_data.yaml are from my environment. When I tried to only use the values found in network_data.yaml the deployment failed with the externalnet attempting to ping 10.0.0.1 on vlan 7.

Here is a snippet of my network_data.yaml

- name: External
  vip: true
  name_lower: external
  vlan: 7
  ip_subnet: '10.37.7.0/24'
  allocation_pools: [{'start': '10.37.7.4', 'end': '10.37.7.250'}]
  gateway_ip: '10.37.7.1'
  ipv6_subnet: '2001:db8:fd00:1000::/64'
  ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
  gateway_ipv6: '2001:db8:fd00:1000::1'

And here is what my deploy command looks like:

openstack overcloud deploy --templates \
        -r /home/stack/templates/roles_data.yaml \
        -e /home/stack/templates/overcloud_images.yaml \
        -e /home/stack/templates/node-info.yaml \
        -e /home/stack/templates-rendered/environments/ceph-ansible/ceph-ansible.yaml \
        -e /home/stack/templates/ceph-config.yaml \
        -n /home/stack/templates/network_data.yaml \
        -e /home/stack/templates-rendered/environments/network-isolation.yaml \
        -e /home/stack/templates-rendered/environments/network-environment.yaml \
        -e /home/stack/templates-rendered/environments/net-bond-with-vlans.yaml \
        -e /home/stack/templates/custom-network-configuration.yaml \
        --ntp-server foo.com

/home/stack/templates-rendered is where I stuck the rendered templates from the following command:

./tools/process-templates.py -o ~/templates-rendered

network-environment.yaml was modified with the following values when deployments failed otherwise:

parameter_defaults:
  <snip>
  ExternalNetCidr: '10.37.7.0/24'
  ExternalAllocationPools: [{'start': '10.37.7.4', 'end': '10.37.7.250'}]
  ExternalInterfaceDefaultRoute: '10.37.7.1'
  <snip>

One curious thing I noticed is that my custom-network-configuration.yaml (shown below) defines the VLANs for all networks, and those vars were used (it seems in my case network_data.yaml is entirely ignored). But when I tried to also define CIDRs and Allocation pools it failed with the deployment reporting "these were defined but not used"

resource_registry:
  OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/bond-with-vlans/compute.yaml
  OS::TripleO::ControllerNoCeph::Net::SoftwareConfig: /home/stack/templates/bond-with-vlans/controller.yaml
  OS::TripleO::CephAll::Net::SoftwareConfig: /home/stack/templates/bond-with-vlans/ceph-storage.yaml
parameter_defaults:
  # Gateway router for the provisioning network (or Undercloud IP)
  ControlPlaneDefaultRoute: 192.168.24.1
  # The IP address of the EC2 metadata server. Generally the IP of the Undercloud
  EC2MetadataIp: 192.168.24.1
  # Define the DNS servers (maximum 2) for the overcloud nodes
  DnsServers: ['10.2.0.40', '10.2.0.41']
  NeutronExternalNetworkBridge: "''"
  BondInterfaceOvsOptions: "mode=802.3ad lacp=active"
  # setting this here because its required even though it's set in the network_data.yaml
  StorageNetworkVlanID: 4
  StorageMgmtNetworkVlanID: 3
  InternalApiNetworkVlanID: 2
  TenantNetworkVlanID: 5
  ExternalNetworkVlanID: 7
  ManagementNetworkVlanID: 1
edit retag flag offensive close merge delete