Contents

Introduction

Prerequisites

Pre-Requisites for Installing Nexus 1000 Virtual Edge (VE)

ESXi Host Prerequisites

VSM Prerequisites

VSE Prerequisites

Upstream Switch Prerequisites

Requirements

Cisco Nexus 1000VE Manager vCenter Plugin

Cisco Nexus 1000VE Manager VCenter Plugin Software requirements

Installing the Cisco Nexus 1000VE Manager VCenter Plugin

Download Python script

Installing with Python 7.2.9+ in Windows

Running deploy_n1kve_plugin.py Script

Retrieving HTTPS SHA1 Thumbprint

VSE Deployment Using Cisco Nexus 1000VE Manager vCenter Plugin

Verify

Troubleshoot

Introduction

The Cisco Nexus 1000VE is a distributed virtual switch solution that is fully integrated within the VMware virtual infrastructure, including VMware vCenter, for the virtualization administrator. This solution offloads the configuration of the virtual switch and port groups to the network administrator to enforce a consistent data center network policy.

The Cisco Nexus 1000VE is compatible with any upstream physical access layer switch that is compliant with the Ethernet standard, including the Catalyst 6500 series switch, Cisco Nexus switches, and switches from other network vendors. The Cisco Nexus 1000VE is compatible with any server hardware that is listed in the VMware Hardware Compatibility List.

Contributed by Mohammed Majid Hussain and Jonathan Jordan, Cisco TAC Engineers.

Prerequisites

Pre-Requisites for Installing Nexus 1000 Virtual Edge (VE)

Cisco Nexus 1000 Virtual Edge installation has the following prerequisites:

- You have downloaded the Cisco Nexus 1000VE VSM and VSE images.

- You should have the VMware vCenter details and the administrator credentials.

- You have an ESXi host to deploy the Cisco Nexus 1000VE VSM.

- At least one ESXi host is available to deploy VSE for Cisco Nexus 1000VE.

- You have at least two IP addresses available for VSM and VSE (Virtual Services Engine).

- You have (N+1) IP addresses, where N is the number of ESXi hosts on which a VSE is deployed.

ESXi Host Prerequisites

ESX or ESXi hosts have the following prerequisites:

- You have already installed and prepared vCenter Server for host management using the instructions from VMware.

- You have already installed the VMware Enterprise Plus license on the hosts.

- All VSE hosts must be running ESXi 6.0 U3 or later releases.

- You have two physical NICs on each host for redundancy. Deployment is also possible with one physical NIC.

- If you are using a set of switches, make sure that the interswitch trunk links carry all relevant VLANs. The uplink should be a trunk port that carries all VLANs that are configured on the host.

- You must configure control and management VLANs on the host to be used for the VSM VM.

- Make sure that the VM to be used for the VSM meets the minimum requirements listed in the following table.

- All the vmnics should have the same configuration upstream.

Caution

- VSM hardware version 11 is not supported. See table below for supported versions.

- The VSM VM might fail to boot if RAM and CPU are not properly allocated. This document includes procedures for allocating RAM and setting the CPU speed.

This table lists the minimum requirements for hosting a VSM.

Table 1. Minimum Requirements for a VM Hosting a VSM

VSM VM Component

Minimum Requirement

VSM Hardware Version

7

Note

VSM hardware versions 7, 8, 9, and 10 are supported. VSM hardware version 11 is not supported.

Platform

64 bit

Type

Other 64-bit Linux (recommended)

Processor

2

RAM (configured and reserved)

4 GB[1]

NIC

3

SCSI Hard Disk

3 GB with LSI Logic Parallel adapter

CPU speed

2048 MHz[2]

[1]If you are installing the VSM using an OVA file, the correct RAM setting is made automatically during the installation of this file. If you are using the CD ISO image, see Deploying Virtual Supervisor Moduleto reserve RAM and set the memory size. [2]If you are installing the VSM using an OVA file, the correct CPU speed setting is made automatically during the installation. If you are using the CD ISO image, see Deploying Virtual Supervisor Moduleto reserve CPU and set the CPU reservation.

VSM Prerequisites

The Cisco Nexus 1000VE VSM software has the following prerequisites:

- You have the VSM IP address.

- You have installed the appropriate VMware vCenter Server.

- If you are installing redundant VSMs, make sure that you first install and set up the software on the primary VSM before installing and setting up the software on the secondary VSM.

- If you are using the OVA file for installation, make sure that the CPU speed is 2048 MHz or greater. If the CPU speed is less than 2048 MHz, then use ISO image for installation.

- You have already identified the HA role for this VSM from the list in the following table.

Table 2. HA Roles

HA Role

Single Supervisor System

Dual Supervisor System

Standalone (test environment only)

X

HA

X

Note

A standalone VSM is not supported in a production environment.

- You are familiar with the Cisco Nexus 1000VE topology diagram that is shown inTopology for Layer 3 Control Mode.

VSE Prerequisites

The Cisco Nexus 1000VE VSE software has the following prerequisites:

- If the hosts are in ESXi stateless mode, enable the PXE booted ESXi host settings underHome>Update Manager>Configuration>ESXi host/cluster.

- You have a copy of your VMware documentation available for installing software on a host.

- You have already obtained a copy of the VSE software file.

- The ESXi server is capable of hosting a VSE that reserves two vCPUs and 8 GB of memory.

Upstream Switch Prerequisites

The upstream switch from the Cisco Nexus 1000VE has the following prerequisites:

- If you are using a set of switches, make sure that the interswitch trunk links carry all relevant VLANs. The uplink must be a trunk port that carries all the VLANs that are configured on the host.

- The following spanning tree prerequisites apply to the upstream switch from the Cisco Nexus 1000VE on the ports that are connected to the VSE.

- On upstream switches, the following configuration is mandatory:

On your Catalyst series switches with Cisco IOS software, enter thespanning-tree portfast trunkorspanning-tree portfast edge trunkcommand.

- On upstream switches we highly recommend that you enable Global BPDU Filtering and Global BPDU Guard globally.

- On upstream switches, where you cannot globally enable BPDU Filtering and BPDU Guard, we highly recommend that you enter thespanning-tree bpdu filterandspanning-tree bpdu guardcommands.

For more information about spanning tree and its supporting commands, see the documentation for your upstream switch.

- Enter the following commands on the upstream switch:

show running interface interface number

interface GigabitEthernet interface number

description description of interface

switchport

switchport trunk encapsulation dot1q

switchport trunk native VLAN native VLAN

switchport trunk allowed vlan list of VLANs

switchport mode trunk

end

Requirements

Before installing the software, make topology decisions and gather any necessary information, as follows:

- Decide whether to deploy the VSM as a VM on a vSphere host, cluster, or on a CSP.

- Decide whether the management and Layer 3 control ports will be unified or separate.

- Determine the domain ID.

- Determine the management, subnet, and gateway IP addresses for the VSM.

- Determine the administrative password for the VSM and VSEs.

Cisco Nexus 1000VE Manager vCenter Plugin

Cisco Nexus 1000VE Manager VCenter Plugin Software requirements

Platform Series

Recommended Release

vCenter

- 6.0 Linux Appliance

- 6.5 Linux Appliance

- 6.0 U3 Windows Server

- 6.5 Windows Server

Cisco Nexus 1000VE VSM

5.2(1)SV5(1.1)

Installing the Cisco Nexus 1000VE Manager VCenter Plugin

This section describes how to install the Cisco Nexus 1000VE vCenter Plugin. You must have working HTTPS traffic between your vCenter and Cisco Nexus 1000VE VSM, as vCenter will be downloading the plugin directly from the VSM.

If you cannot enable HTTPS traffic between your vCenter and Cisco Nexus 1000VE VSM, and you wish to use your own web server to host the Cisco Nexus 1000VE vCenter Plugin zip file, then download the Plugin Zip from Cisco Nexus 1000VE VSM by going to https://<N1KVE-VSM-IP>/vcplugin/.

Place the .Zip file in your preferred Web server path accessible over HTTPS from vCenter.

Follow the below steps to proceed with vCenter plugin installation.

Download Python script

- Deploy VSM.

- Browse to VSM using HTTPS://<VSM ip>.

- Download “deploy_n1kve_plugin.py” python script to Python environment.

- Python environment should be able to reach the vCenter Server.

- Place the deploy_n1kve_plugin.py python script in a Python environment where the pyvmomi package is installed. Python version 2.7.9 or greater is mandatory.

Installing with Python 7.2.9+ in Windows

Commands you run are bold.

Download and install python 2.7.9+ to an easy to find folder such as c:\python27

C:\Python27\Scripts>easy_install-2.7.exe -U requests

Searching for requests

Reading https://pypi.python.org/simple/requests/

Best match: requests 2.21.0

Downloading https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38/requests-2.21.0.tar.gz#sha256=502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e

Processing requests-2.21.0.tar.gz

Writing c:\users\admini~1\appdata\local\temp\2\easy_install-zmetvu\requests-2.21.0\setup.cfg

Running requests-2.21.0\setup.py -q bdist_egg --dist-dir c:\users\admini~1\appdata\local\temp\2\easy_install-zmetvu\requests-2.21.0\egg-dist-tmp-ylyskc

C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'python_requires'

warnings.warn(msg)

C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'long_description_content_type'

warnings.warn(msg)

warning: no files found matching 'NOTICE'

warning: no files found matching 'requirements.txt'

Adding requests 2.21.0 to easy-install.pth file

Installed c:\python27\lib\site-packages\requests-2.21.0-py2.7.egg

Processing dependencies for requests

Finished processing dependencies for requests

C:\Python27\Scripts>cd ..

Download the get-pip.py script from https://bootstrap.pypa.io/get-pip.py

If it doesn't get downloaded as a file, copy the entire content and paste it in notepad and name it <file>.py and then execute the below command

C:\Python27>python get-pip.py

Collecting pip

Downloading https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl (1.3MB)

100% |################################| 1.3MB 2.5MB/s

Collecting wheel

Downloading https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl (41kB)

100% |################################| 51kB 1.2MB/s

Installing collected packages: pip, wheel

Found existing installation: pip 7.0.1

Uninstalling pip-7.0.1:

Successfully uninstalled pip-7.0.1

The script wheel.exe is installed in 'C:\Python27\Scripts' which is not on PATH.

Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Successfully installed pip-10.0.1 wheel-0.31.1

C:\Python27>cd Scripts

C:\Python27\Scripts>pip install pyvmomi

Collecting pyvmomi

Downloading https://files.pythonhosted.org/packages/ba/45/d6e4a87004f1c87bdee2942a8896289684e660dbd76e868047d3319b245f/pyvmomi-6.7.0-py2.py3-none-any.whl (249kB)

100% |################################| 256kB 3.3MB/s

Collecting requests>=2.3.0 (from pyvmomi)

Downloading https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl (91kB)

100% |################################| 92kB 2.8MB/s

Collecting six>=1.7.3 (from pyvmomi)

Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl

Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.3.0->pyvmomi)

Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)

100% |################################| 143kB 3.0MB/s

Collecting urllib3<1.24,>=1.21.1 (from requests>=2.3.0->pyvmomi)

Downloading https://files.pythonhosted.org/packages/bd/c9/6fdd990019071a4a32a5e7cb78a1d92c53851ef4f56f62a3486e6a7d8ffb/urllib3-1.23-py2.py3-none-any.whl (133kB)

100% |################################| 143kB 3.7MB/s

Collecting certifi>=2017.4.17 (from requests>=2.3.0->pyvmomi)

Downloading https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl (150kB)

100% |################################| 153kB 3.7MB/s

Collecting idna<2.8,>=2.5 (from requests>=2.3.0->pyvmomi)

Downloading https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl (58kB)

100% |################################| 61kB 1.2MB/s

Installing collected packages: chardet, urllib3, certifi, idna, requests, six, pyvmomi

The script chardetect.exe is installed in 'c:\python27\Scripts' which is not on PATH.

Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Successfully installed certifi-2018.4.16 chardet-3.0.4 idna-2.7 pyvmomi-6.7.0 requests-2.19.1 six-1.11.0 urllib3-1.23

C:\Python27\Scripts>cd ..

C:\Python27>python.exe deploy_n1kve_plugin.py

Running deploy_n1kve_plugin.py Script

================================================================

.:|:.:|:. Cisco Systems Inc

================================================================

N1KVE Plugin for the vSphere Web Client deployment tool

----------------------------------------------------------------

In order to install the N1KVE Plugin for the vSphere Web Client, the following wizard will prompt you the following information:

- vCenter IP : The IP address of the vCenter where the plugin needs to be installed.

- vCenter Username / password : The login information of a user with root privileges

- Plugin version number : The version of the plugin to deploy

- Plugin zip file URL : The URL where the vCenter will be able to download the N1KVE Plugin zip archive (HTTP or HTTPS).

- Https server Thumbprint: The SHA thumbprint of the HTTPS server where the zip archive is located

vCenter IP: <Enter_IP_Address>

vCenter Username: administrator@vsphere.local

Password:

Plugin zip file URL: https://<IP_Address>/vcplugin/n1kve-vcenter-plugin-1.0.1.zip      <-------- We recommended using HTTPS for this as vCenter does not allow http connections by default. See troubleshooting section if customer used HTTP.

Https server Thumbprint: 02:B5:C2:6A:37:00:3D:76:1D:F1:EA:79:71:55:B1:F5:35:BE:FE:E5   <-------- You need the : every 2 digits. Some browsers do not add this by default so you may need to add it to the thumbprint before pasting.

Connecting to the vCenter ...

Fetching service instance content ...

Checking the API version ...

Installing the plugin ...

The plugin information was successfully installed on the vCenter <IP_Address>

--- Please Read ---

The information provided was successfully pushed to the vCenter, but plugin installation is not over.

You need to login into the vSphere Web Client and check for the Cisco N1KVE Plugin icon to ensure that the installation is successful

If the plugin does not appear in the UI, check the vSphere Web Client log file to see what went wrong

https://<N1KVE-VSM-IP>/vcplugin/n1kve-vcenter-plugin-1.0.1.zip

OR

- If the Zip file is placed in any other webserver, then provide the URL for the same

https://<WEB-SERVER-IP>/<Relative-path-if-any-to-Zip-file>/n1kve-vcenter-plugin-1.0.1.zip

Note: Ensure you have not renamed the .zip file.

- In the Https server thumbprint field, leave this empty, if you are using HTTP. Otherwise, enter the SHA1 Thumbprint of the Web server used. The fields are separated with colons. For example:

D7:9F:07:61:10:B3:92:93:E3:49:AC:89:84:5B:03:80:C1:9E:2F:8B

Retrieving HTTPS SHA1 Thumbprint

To retrieve the HTTPS SHA1 Thumbprint used by the web server hosting the zip file.

Step 3 :

- Log into the vSphere Web Client once the registration is completed.

Note: First login may take longer, as the vCenter will be downloading and deploying the plugin from the Web server.

Once the VMware vSphere Web Client loads, you will see the Cisco Nexus 1000VE Manager icon under Home > Operations and Policies. This allows you to manage your Nexus 1000VE.

N1KV-NG(config)# svs connection vCenter

N1KV-NG(config-svs-conn)# remote ip address <vCenter_IP_Address>

N1KV-NG(config-svs-conn)# vmware dv

dvs dvs-version

N1KV-NG(config-svs-conn)# vmware dvs datacenter-name Datacenter

N1KV-NG(config-svs-conn)# protocol vmware-vim

N1KV-NG(config-svs-conn)# register-plugin remote username administrator@vsphere.local password password

N1KV-NG(config-svs-conn)# connect

Warning: Connection successful.ipg creation in progress.Check 'show ipg-info' for status

N1KV-NG(config-svs-conn)# show svs connections

connection vCenter:

hostname: -

ip address: 10.10.0.11

ipv6 address: -

remote port: 80

transport type: ipv4

vrf: management

protocol: vmware-vim https

certificate: default

datacenter name: Datacenter

admin:

max-ports: 12000

extension key: Cisco_Nexus_1000V_196637146

DVS uuid: 50 2e dd 5a 90 2f 08 ac-0e 71 40 6e 0d d4 f4 d9

dvs version: 5.0.0

config status: Enabled

operational status: Connected

sync status: Complete

version: VMware vCenter Server 6.5.0 build-7070488

vc-uuid: bfb1259b-5967-470d-a9c2-b5af1bf78cc8

ssl-cert: self-signed or not authenticated

VSE Deployment Using Cisco Nexus 1000VE Manager vCenter Plugin

Cisco Nexus 1000VE Manager VCenter Plugin Software Requirements

Platform

Recommended Release

VMware vCenter

- 6.0 Linux Appliance

- 6.5 Linux Appliance

- 6.0 U3 Windows

- 6.5 Windows

Cisco Nexus 1000VE VSM

5.2(1)SV5(1.1)

- Ensure that you have configured a static IP pool or DHCP server in VMware vCenter. Also, make sure that you have associated it with a an appropriate network

- Ensure that the VSM is already deployed.

On the Navigator Pane, click Content Libraries to open the Content Libraries page.

On the Getting Started tab, click Create new content library.

On theName and Locationpage, enter the content library name in theName text field and select the vCenter Server IP address from thevCenter Serverdrop-down list.

ClickNext.

On theConfigure content librarypage, verify that the default option,Local content library,is selected.

ClickNext.

On theAdd Storagepage, choose theSelect a datastoreoption and from theFiltertab, select a storage location.

ClickNext.

On theNavigatortab, select the new content library that you just created.

On theGetting Startedtab, underBasic Taskssection, clickImport Itemto openNew Content Library – Import Library Itemdialog box.

ChooseLocal fileoption and clickBrowseand navigate to the location of the VSE OVF file. Select the VSE OVF file and clickOpen.

In theSelect referenced filesdialog box, select the OVF referenced files and clickOpen.

On theSelect referenced filesdialog box, clickOk.

On theNew Content Library – Import Library Itemdialog-box, clickOk.

On theHomepage, clickRecent Taskstab at the bottom to check VSE file upload progress.

Navigate to Home tab on the VMware vSphere Web Client.

Click N1KVE Manager, and enter the VMware vCenter password and click Login. The N1KVE Manager page opens.

On the Installation tab, select a data center from the Select a DC drop-down list.

Select a vDS from the Select a VDS drop-down list to list the available Hosts.

Select the check-box for a Host from the list of Hosts and click the Physical Adapter icon to open Select PNICS for Outside VDS dialog-box.

In the Select PNICSs for Outside VDS dialog box, select a physical adapter and click Submit.

Select an OVF file from the OVF File drop-down list.

Enter the VSM IP address for the VSM IP text field.

Enter the Domain ID for the Domain IDtext field.

Select an Uplink Port Profile from the Uplink Port Profile drop-down list.

Select a Management Port Group from the Management Port Group drop-down list.

Select Auto for Datastore drop-down list.

Enter the VSE administrator password in the VSE Admin Password text-field.

Confirm the password in the Confirm Password text field.

Click Install.

Confirm that you are adding the physical adapters to the Vmware DVS and not the Nexus 1000VE DVS.

If you add the adapter to the N1KVE mamaged DVS then the traffic won't be switched by the VSE.

Verify

The module(s) should show up like so:

Troubleshoot

1. Unable to see Nexus 1000VE plugin in vCenter

If you are not able to see the Nexus 1000VE plugin in vCenter, check the following file in the vSphere Web Client:

vi /var/log/vmware/vsphere-client/logs/vsphere_client_virgo.log

If you encounter an error like so:

[ERROR] c-extensionmanager-pool-1841 70000645 100035 200016 com.vmware.vise.vim.extension.VcExtensionManager .  The plugin package download was blocked because the URL is not secure.  To allow http URLs add allowHttp=true to webclient.properties

Add allowHttp=true to webclient.properties:

/etc/vmware/vsphere-ui/webclient.properties

Note: The location could be different based on the OS

2. Unable to see VSE as a module after deploying it

Make sure you created the IP Pool in vCenter before the VSE was created, If not the VSE will not show up as a module.

You will have to assign ip address to it statically. Please open a case with Cisco TAC, in order to address this.

Use the ip addr del <IP_Address/Subnet mask> <Interface> to delete an entry.