Cisco-n1kv-neutron

= Nexus1000v Neutron Plugin =

Overview
Nexus1000v Neutron Plugin v2 implements the Neutron v2.0 API.

Requirements

 * Cisco Nexus1000v for KVM Release 5.2(1)SK(2.2) (or higher)

Nexus1000v Neutron Plugin Configuration

 * MySQL should be installed on the host. Initialize MySQL as follows (where $PASS = mysql password):

$ mysql -u root -p$PASS -e 'DROP DATABASE IF EXISTS cisco_neutron;' $ mysql -u root -p$PASS -e 'CREATE DATABASE IF NOT EXISTS cisco_neutron;' $ mysql -u root -p$PASS -e 'GRANT ALL ON cisco_neutron.* TO '$Neutron_User'@'%' IDENTIFIED BY '$Neutron_Pass';


 * Edit /etc/neutron/neutron.conf and set provider as:

[DEFAULT] core_plugin = neutron.plugins.cisco.network_plugin.PluginV2

[DATABASE] sql_connection = mysql:// : @:3306/cisco_neutron


 * Edit the file /etc/neutron/plugins/cisco/cisco_plugins.ini and comment out as need it:

[CISCO_PLUGINS]


 * 1) (StrOpt) Period-separated module path to the plugin class to use for
 * 2) the Cisco Nexus switches.
 * 3) nexus_plugin = neutron.plugins.cisco.nexus.cisco_nexus_plugin_v2.NexusPlugin
 * 1) nexus_plugin = neutron.plugins.cisco.nexus.cisco_nexus_plugin_v2.NexusPlugin

vswitch_plugin = neutron.plugins.cisco.n1kv.n1kv_neutron_plugin.N1kvNeutronPluginV2
 * 1) (StrOpt) Period-separated module path to the plugin class to use for
 * 2) the virtual switches on compute nodes.

[cisco]


 * 1) Cisco Nexus Switch configurations.
 * 2) Each switch to be managed by Openstack Neutron must be configured here.
 * 3) Cisco Nexus Switch Format.
 * 4) [NEXUS_SWITCH:]
 * 5) =                 (1)
 * 6) ssh_port=               (2)
 * 7) username=    (3)
 * 8) password=    (4)
 * 9) (1) For each host connected to a port on the switch, specify the hostname
 * 10)     and the Nexus physical port (interface) it is connected to.
 * 11) (2) The TCP port for connecting via SSH to manage the switch. This is
 * 12)     port number 22 unless the switch has been configured otherwise.
 * 13) (3) The username for logging into the switch to manage it.
 * 14) (4) The password for logging into the switch to manage it.
 * 15) Example:
 * 16) [NEXUS_SWITCH:1.1.1.1]
 * 17) compute1=1/1
 * 18) compute2=1/2
 * 19) ssh_port=22
 * 20) username=admin
 * 21) password=mySecretPassword
 * 1) ssh_port=22
 * 2) username=admin
 * 3) password=mySecretPassword


 * 1) [N1KV:]
 * 2) username=
 * 3) password=
 * 4) Example:
 * 5) [N1KV:2.2.2.2]
 * 6) username=admin
 * 7) password=mySecretPassword
 * 1) password=mySecretPassword

[cisco_n1k]


 * 1) (StrOpt) Specify the name of the integration bridge to which the VIFs are
 * 2) attached.
 * 3) Example: integration_bridge = br-int
 * 1) Example: integration_bridge = br-int


 * 1) (StrOpt) Name of the policy profile to be associated with a port when no
 * 2) policy profile is specified during port creates.
 * 3) Example: default_policy_profile = service_profile
 * 1) Example: default_policy_profile = service_profile


 * 1) (StrOpt) Name of the policy profile to be associated with a port owned by
 * 2) network node (dhcp, router).
 * 3) Example: network_node_policy_profile = dhcp_pp
 * 1) Example: network_node_policy_profile = dhcp_pp


 * 1) (StrOpt) Name of the network profile to be associated with a network when no
 * 2) network profile is specified during network creates. Admin should pre-create
 * 3) a network profile with this name.
 * 4) Example: default_network_profile = network_pool
 * 1) Example: default_network_profile = network_pool


 * 1) (StrOpt) Time in seconds for which the plugin polls the VSM for updates in
 * 2) policy profiles.
 * 3) Example: poll_duration = 180
 * 1) Example: poll_duration = 180

[database]


 * 1) (StrOpt) Connection to the neutron_l2network database
 * 2) connection = mysql:// : @127.0.0.1/cisco_neutron?charset=utf8
 * 3) Example: connection = mysql://root:mySecretPassword@127.0.0.1/cisco_neutron?charset=utf8
 * 1) Example: connection = mysql://root:mySecretPassword@127.0.0.1/cisco_neutron?charset=utf8

Configuration Example
[CISCO_PLUGINS] vswitch_plugin = neutron.plugins.cisco.n1kv.n1kv_neutron_plugin.N1kvNeutronPluginV2

[CISCO]

[N1KV:10.10.10.10] username = admin password = mySecretPassword

[CISCO_N1K]

integration_bridge = br-int default_policy_profile = service_pp network_node_policy_profile = dhcp_pp poll_duration = 10

[DATABASE] connection = mysql://root:cisco@127.0.0.1/cisco_neutron?charset=utf8

Start the neutron service by providing the relevant configuration files:

cd  && python /bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/cisco/cisco_plugins.ini

Devstack
Include in "localrc/local.conf" file the following variables:

Q_PLUGIN=cisco