heat_template_version: 2015-04-30 description: Configure hieradata for Network Cisco configuration parameters: server: description: ID of the controller node to apply this config to type: string NetworkUCSMIp: type: string description: Cisco UCSM IP default: 127.0.0.1 NetworkUCSMUsername: type: string description: Cisco UCSM username default: admin NetworkUCSMPassword: type: string description: Cisco UCSM password default: password NetworkUCSMHostList: type: string description: Cisco UCSM hostname default: 127.0.0.1 NetworkUCSMSupportedPciDevs: type: string description: Cisco UCSM SR-IOV and VM-FEX vendors supported default: '' NetworkNexusConfig: type: json description: Nexus switch configuration default: {} NetworkNexusManagedPhysicalNetwork: type: string description: The name of the physical_network default: '' NetworkNexusVlanNamePrefix: type: string description: A short prefix to prepend to the VLAN name default: 'q-' NetworkNexusSviRoundRobin: type: boolean description: A flag to enable round robin scheduling default: false NetworkNexusProviderVlanNamePrefix: type: string description: A short prefix to prepend to the VLAN name default: 'p-' NetworkNexusPersistentSwitchConfig: type: string description: To make Nexus device persistent default: false NetworkNexusSwitchHeartbeatTime: type: number description: Time interval to check the state of the Nexus device default: 0 NetworkNexusSwitchReplayCount: type: number description: Number of times to attempt config replay default: 3 NetworkNexusProviderVlanAutoCreate: type: boolean description: A flag whether to manage the creation and removal of VLANs default: true NetworkNexusProviderVlanAutoTrunk: type: boolean description: A flag whether to manage the trunk ports on the Nexus default: true NetworkNexusVxlanGlobalConfig: type: boolean description: A flag whether to manage the VXLAN global settings default: true NetworkNexusHostKeyChecks: type: boolean description: enable strict host key checks when connecting to Nexus switches default: false NetworkNexusVxlanVniRanges: type: string description: VXLAN Network IDs that are available for tenant network default: '' NetworkNexusVxlanMcastRanges: type: string description: Multicast groups for the VXLAN interface. default: '' resources: NetworkCiscoConfig: type: OS::Heat::StructuredConfig properties: group: os-apply-config config: hiera: datafiles: neutron_cisco_data: mapped_data: neutron::plugins::ml2::cisco::ucsm::ucsm_ip: {get_input: UCSM_ip} neutron::plugins::ml2::cisco::ucsm::ucsm_username: {get_input: UCSM_username} neutron::plugins::ml2::cisco::ucsm::ucsm_password: {get_input: UCSM_password} neutron::plugins::ml2::cisco::ucsm::ucsm_host_list: {get_input: UCSM_host_list} neutron::plugins::ml2::cisco::ucsm::supported_pci_devs: {get_input: UCSMSupportedPciDevs} neutron::plugins::ml2::cisco::nexus::nexus_config: {get_input: NexusConfig} neutron::plugins::ml2::cisco::nexus::managed_physical_network: {get_input: NexusManagedPhysicalNetwork} neutron::plugins::ml2::cisco::nexus::vlan_name_prefix: {get_input: NexusVlanNamePrefix} neutron::plugins::ml2::cisco::nexus::svi_round_robin: {get_input: NexusSviRoundRobin} neutron::plugins::ml2::cisco::nexus::provider_vlan_name_prefix: {get_input: NexusProviderVlanNamePrefix} neutron::plugins::ml2::cisco::nexus::persistent_switch_config: {get_input: NexusPersistentSwitchConfig} neutron::plugins::ml2::cisco::nexus::switch_heartbeat_time: {get_input: NexusSwitchHeartbeatTime} neutron::plugins::ml2::cisco::nexus::switch_replay_count: {get_input: NexusSwitchReplayCount} neutron::plugins::ml2::cisco::nexus::provider_vlan_auto_create: {get_input: NexusProviderVlanAutoCreate} neutron::plugins::ml2::cisco::nexus::provider_vlan_auto_trunk: {get_input: NexusProviderVlanAutoTrunk} neutron::plugins::ml2::cisco::nexus::vxlan_global_config: {get_input: NexusVxlanGlobalConfig} neutron::plugins::ml2::cisco::nexus::host_key_checks: {get_input: NexusHostKeyChecks} neutron::plugins::ml2::cisco::type_nexus_vxlan::vni_ranges: {get_input: NexusVxlanVniRanges} neutron::plugins::ml2::cisco::type_nexus_vxlan::mcast_ranges: {get_input: NexusVxlanMcastRanges} NetworkCiscoDeployment: type: OS::Heat::StructuredDeployment properties: config: {get_resource: NetworkCiscoConfig} server: {get_param: server} input_values: UCSM_ip: {get_param: NetworkUCSMIp} UCSM_username: {get_param: NetworkUCSMUsername} UCSM_password: {get_param: NetworkUCSMPassword} UCSM_host_list: {get_param: NetworkUCSMHostList} UCSMSupportedPciDevs: {get_param: NetworkUCSMSupportedPciDevs} NexusConfig: {get_param: NetworkNexusConfig} NexusManagedPhysicalNetwork: {get_param: NetworkNexusManagedPhysicalNetwork} NexusVlanNamePrefix: {get_param: NetworkNexusVlanNamePrefix} NexusSviRoundRobin: {get_param: NetworkNexusSviRoundRobin} NexusProviderVlanNamePrefix: {get_param: NetworkNexusProviderVlanNamePrefix} NexusPersistentSwitchConfig: {get_param: NetworkNexusPersistentSwitchConfig} NexusSwitchHeartbeatTime: {get_param: NetworkNexusSwitchHeartbeatTime} NexusSwitchReplayCount: {get_param: NetworkNexusSwitchReplayCount} NexusProviderVlanAutoCreate: {get_param: NetworkNexusProviderVlanAutoCreate} NexusProviderVlanAutoTrunk: {get_param: NetworkNexusProviderVlanAutoTrunk} NexusVxlanGlobalConfig: {get_param: NetworkNexusVxlanGlobalConfig} NexusHostKeyChecks: {get_param: NetworkNexusHostKeyChecks} NexusVxlanVniRanges: {get_param: NetworkNexusVxlanVniRanges} NexusVxlanMcastRanges: {get_param: NetworkNexusVxlanMcastRanges}