Configuring Cisco Data Center Virtual Machine Fabric Extender technology
This topic contains information about configuring Cisco Data Center Virtual Machine Fabric Extender (VM-FEX) technology for use with BMC Network Automation and BMC Cloud Lifecycle Management.
For additional information on Cisco VM-FEX technology, see http://www.cisco.com/en/US/netsol/ns1124/index.html.
Configuring the Cisco VM-FEX
The following components need to be integrated to ensure that the Cisco VM-FEX works properly with BMC Network Automation and BMC Cloud Lifecycle Management:
- Cisco Unified Computing System (UCS) Manager
- Cisco VM-FEX DVS
- This DVS is created by the UCS and can only be managed by the UCS.
- Created during the integration of the UCS chassis and vCenter.
- Shared by the containers of the pod
- VMWare
You can refer to the following videos by a third-party expert on Cisco products for more information about configuring Cisco VM-FEX:
Configuring Cisco VM-FEX emulated mode
Configuring Cisco VM-FEX VMDirectPath mode
For information about integrating the Cisco UCS Manager, Cisco VM-FEX, and VMWare, you can refer to the following Cisco documents:
- Cisco UCS Manager VM-FEX for VMware GUI Configuration Guide
- Cisco UCS Manager VM-FEX for VMware CLI Configuration Guide, Release 2.1
Adding the devices in BMC Network Automation
You must add devices in BMC Network Automation for the Cisco UCS and the Cisco VM-FEX, using the procedure to add a device in the BMC Network Automation documentation. When you perform the procedure, you must configure the following values in the Device Type field for each device:
- Cisco UCS: Select Cisco 6120 and 6140 Fabric Interconnects
- Cisco VM-FEX: Select VMWare vSwitch
Configuring Pod and Container Management elements
The following sections provide example configurations for the BMC Network Automation Pod and Container Management (PCM) elements that need to be configured to support the management of the Cisco VM-FEX.
Example pod blueprint for configuring a VM-FEX DVS node
The VM-FEX DVS node is defined in the pod blueprint the same way as any other podHypervisorSwitchBlueprint node.
<balancedParamBlueprints/>
<category>2</category>
<defaultShareableFlag>false</defaultShareableFlag>
<name>VMFEX-DVS</name>
<optionalFlag>false</optionalFlag>
<paramBlueprints/>
<physicalAccessFlag>false</physicalAccessFlag>
<role>VMFEX-DVS</role>
<defaultMaxPortTypes>256</defaultMaxPortTypes>
<defaultMaxPorts>2048</defaultMaxPorts>
<portTypeBlueprints>
<portTypeBlueprint>
<legacyFlag>false</legacyFlag>
<managementFlag>true</managementFlag>
<name>VMFex-CLMMgmt3</name>
<networkName>VM Management Network</networkName>
<vlanName>VM Management VLAN</vlanName>
</portTypeBlueprint>
</portTypeBlueprints>
</nodeBlueprint>
Example network container blueprint for configuring a VM-FEX DVS node
The VM-FEX DVS node is defined in the network container blueprint the same way as any other containerHypervisorSwitchBlueprint node. The only real differences are the empty configureActionInfoBlueprints and unconfigureActionInfoBlueprints tags, since BMC Network Automation does not configure this device directly. The VM-FEX DVS is configured through the Cisco UCS.
<addressBlueprints/>
<category>2</category>
<configureActionInfoBlueprints/>
<name>VMFEX-DVS</name>
<numVrfs>0</numVrfs>
<physicalAccessFlag>false</physicalAccessFlag>
<role>VMFEX-DVS</role>
<unconfigureActionInfoBlueprints/>
<portTypeBlueprints>
<portTypeBlueprint>
<legacyFlag>false</legacyFlag>
<managementFlag>false</managementFlag>
<name>CustomerPortType1</name>
<networkName>Customer Network 1</networkName>
<vlanName>C_VLAN1</vlanName>
</portTypeBlueprint>
</portTypeBlueprints>
</nodeBlueprint>
Example pod blueprint for configuring a UCS node
The UCS is defined in the pod blueprint in the same way as any other vanilla node:
<balancedParamBlueprints/>
<category>2</category>
<defaultShareableFlag>true</defaultShareableFlag>
<name>UCS</name>
<optionalFlag>false</optionalFlag>
<paramBlueprints/>
<physicalAccessFlag>false</physicalAccessFlag>
<role>UCS</role>
</nodeBlueprint>
Example network container blueprint for configuring a UCS node
The UCS is defined in the network container blueprint in the same way as any other vanilla node:
<addressBlueprints/>
<category>2</category>
<configureActionInfoBlueprints>
<configureActionInfoBlueprint xsi:type="mergeActionInfoBlueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<description>Merge Action Info</description>
<templateGroups>
<item>VM-FEX-ConfigureUCSM</item>
</templateGroups>
</configureActionInfoBlueprint>
</configureActionInfoBlueprints>
<name>UCS</name>
<numVrfs>1</numVrfs>
<physicalAccessFlag>false</physicalAccessFlag>
<role>UCS</role>
<unconfigureActionInfoBlueprints>
<unconfigureActionInfoBlueprint xsi:type="mergeActionInfoBlueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<description>Merge Action Info</description>
<templateGroups>
<item>VM-FEX-UnconfigureUCSM</item>
</templateGroups>
</unconfigureActionInfoBlueprint>
</unconfigureActionInfoBlueprints>
</nodeBlueprint>
Example configuration for pod parameters
The following pod parameters needs to be defined properly to support the management of Cisco VM-FEX in BMC Cloud Lifecycle Management and BMC Network Automation:
- UCS_DVS: actual name of the VM-FEX DVS in vCenter.
- DataCenterFolder: vCenter data center folder where the UCS_DVS is found.
- DataCenter: vCenter data center where the DataCenterFolder is found.
The pod parameters are used in the UCS templates to configure container level port-profiles. In the following example, the pod parameters are in bold font:
scope vm-mgmt
scope vmware
scope profile-set
create port-profile ${container.nodes[DVS].portTypes[CustomerPortType1].name}
create vlan ${container.vlans[C_VLAN1]}
exit
set descr "Container ${container.name} Port Profile"
set host-nwio-perf High-Performance
set max-ports 100
commit-buffer
!
! Create port profile client
!
create client PortTypeClient
set descr "Container ${container.name} Port Profile Client"
set data-center ${pod.params[DataCenter]}
set folder ${pod.params[DataCenterFolder]}
set dvs ${pod.params[UCS_DVS]}
commit-buffer</contents>{code}