Enable Cisco Nexus and UCSM plugins
This enables support for the Cisco UCS Manager and Cisco Nexus plugins Change-Id: I1bc28a4768d5d6857a0504ca1f77dd71259570b8
This commit is contained in:
parent
55d7c4ff33
commit
773324a6d0
|
@ -0,0 +1,26 @@
|
|||
# A Heat environment file which can be used to enable a
|
||||
# a Cisco Neutron plugin.
|
||||
resource_registry:
|
||||
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/network-cisco.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NetworkUCSMIp: '127.0.0.1'
|
||||
NetworkUCSMUsername: 'admin'
|
||||
NetworkUCSMPassword: 'password'
|
||||
NetworkUCSMHostList: 'host1:profile1, host2: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'
|
||||
|
|
@ -876,6 +876,7 @@ resources:
|
|||
- '"%{::osfamily}"'
|
||||
- common
|
||||
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
|
||||
- neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
|
||||
datafiles:
|
||||
controller_extraconfig:
|
||||
mapped_data: {get_param: ControllerExtraConfig}
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
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}
|
|
@ -243,6 +243,14 @@ if hiera('step') >= 3 {
|
|||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
|
||||
if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::ucsm
|
||||
}
|
||||
if 'cisco_nexus' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus
|
||||
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
|
||||
}
|
||||
|
||||
Service['neutron-server'] -> Service['neutron-dhcp-service']
|
||||
Service['neutron-server'] -> Service['neutron-l3']
|
||||
Service['neutron-server'] -> Service['neutron-ovs-agent-service']
|
||||
|
|
|
@ -605,6 +605,14 @@ if hiera('step') >= 3 {
|
|||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
|
||||
if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::ucsm
|
||||
}
|
||||
if 'cisco_nexus' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus
|
||||
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
|
||||
}
|
||||
|
||||
include ::cinder
|
||||
class { '::cinder::api':
|
||||
sync_db => $sync_db,
|
||||
|
|
Loading…
Reference in New Issue