tripleo-heat-templates/environments/neutron-ml2-cisco-nexus-ucsm.yaml
Steven Hardy 81785633bd Port Cisco Nexus/UCSM ExtraConfig to AllNodes
Switch the implemention from a pre_deploy ExtraConfig to an
AllNodesExtraConfig, so we can collect the mac->hostname mapping
for all nodes, then calculate a NexusConfig based on that and
a provided mapping of switch ports to mac address.
The same conversion is also done to the NetworkUCSMHostList:

The port mappings are provided via parameter_defaults like:

parameter_defaults:
  NetworkNexusConfig: {
    "bxb-tor-1": {
      "username": "admin",
      "ssh_port": 22,
      "password": "lab",
      "ip_address": "10.86.7.204",
      "nve_src_intf": 0,
      "physnet": "datacentre",
      "servers": {
        "fa:16:3e:fa:be:ef": "1/11",
        "fa:16:3e:fa:5e:cf": "1/23",
        "fa:16:3e:fa:12:34": "2/34"
      }
    }
  }
  NetworkUCSMHostList: 'fa:16:3e:fa:be:ef:profile1'

This results in an entry like this appended to
/etc/puppet/hieradata/neutron_cisco_data.yaml:

neutron::plugins::ml2::cisco::nexus::nexus_config:\
 {"bxb-tor-1": {"username": "admin", "nve_src_intf": 0, "ssh_port": 22,
"servers": {"overcloud-compute02": "2/34", "overcloud-compute01": "1/23",
"overcloud-control01": "1/11"}, "password": "lab", "ip_address": "10.86.7.204",
"physnet": "datacentre"}}
neutron::plugins::ml2::cisco::ucsm::ucsm_host_list: overcloud-control01:profile1

Co-Authored-By: Rob Pothier <rpothier@cisco.com>
Co-Authored-By: Tim Swanson <tiswanso@cisco.com>

Change-Id: I372c3ffb6bd85b7239fcb9f3fc4fa51cd4a39332
2015-09-17 15:50:39 +01:00

26 lines
983 B
YAML

# A Heat environment file which can be used to enable a
# a Cisco Neutron plugin.
resource_registry:
OS::TripleO::AllNodesExtraConfig: ../puppet/extraconfig/all_nodes/neutron-ml2-cisco-nexus-ucsm.yaml
parameter_defaults:
NetworkUCSMIp: '127.0.0.1'
NetworkUCSMUsername: 'admin'
NetworkUCSMPassword: 'password'
NetworkUCSMHostList: '12:34:56:78:9a:bc:profile1, 12:34:56:78:9a:de:profile2'
NetworkUCSMSupportedPciDevs: ''
NetworkNexusConfig: {}
NetworkNexusManagedPhysicalNetwork: ''
NetworkNexusVlanNamePrefix: 'q-'
NetworkNexusSviRoundRobin: 'false'
NetworkNexusProviderVlanNamePrefix: 'p-'
NetworkNexusPersistentSwitchConfig: 'false'
NetworkNexusSwitchHeartbeatTime: 0
NetworkNexusSwitchReplayCount: 3
NetworkNexusProviderVlanAutoCreate: 'true'
NetworkNexusProviderVlanAutoTrunk: 'true'
NetworkNexusVxlanGlobalConfig: 'true'
NetworkNexusHostKeyChecks: 'false'
NetworkNexusVxlanVniRanges: '0:0'
NetworkNexusVxlanMcastRanges: '0.0.0.0:0.0.0.0'