Commit Graph

1725 Commits

Author SHA1 Message Date
Tony Breeds ba60414dda Retire Packaging Deb project repos
This commit is part of a series to retire the Packaging Deb
project. Step 2 is to remove all content from the project
repos, replacing it with a README notification where to find
ongoing work, and how to recover the repo if needed at some
future point (as in
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project).

Change-Id: Ifedb11bcb9d0651f1d05d25b62de3bc6acc2d9ed
2017-09-12 15:42:09 -06:00
Carol Bouchard 708bd97dee Set RESTAPI Driver as default for ML2 Nexus
The ML2 Nexus Driver uses either a RESTAPI driver or the
ncclient driver to configure the Nexus devices.  This changeset makes
the REST API driver the default choice for use by the ML2 Nexus driver.
This replaces the original ssh/ncclient driver.  The Nexus 9K handles
the REST API more efficiently and with less session limitations.
Additionally, The REST API Driver will be enhanced with new features
while ncclient will not.  In time, the ncclient driver will become
deprecated in Queens release.

For the ML2 Nexus REST API driver to be successful, it requires more
recent Cisco Nexus N9K NXAPI images starting from Cisco NX-OS 7.0(3)I5.

Code has been added in this changeset to warn in log file that the
ncclient/ssh driver and associated config options are deprecated.

If ncclient is configured, the following warning will be logged.
DeprecationWarning: Using class 'CiscoNexusSshDriver' (either directly
or via inheritance) is deprecated in version 'Cisco 5.1.0' and will be
removed in version 'Cisco 7.0.0': CiscoNexusSshDriver replaced by
default CiscoNexusRestapiDriver.

Other configuration variables associated with ncclient have been tagged
for deprecation.  The following sample warning message will appear
for those marked as deprecated.
Option "never_cache_ssh_connection" from group "ml2_cisco" is deprecated
for removal.  Its value may be silently ignored in the future.

Change-Id: I20c9554999d2dcaa14de78d2d43da53e3d29317d
Closes-bug:  #1705036
2017-07-21 17:55:55 +00:00
Sandhya Dasu 924ea0b371 UCSM ML2 driver: Fix issue in parsing of single UCSM config
Since the single UCSM config is still being used (after introduction
of multi-UCSM config), a re-test revealed a issue. The credetials were
stored incorrectly.

Change-Id: Icbc465591bc496181652ae73fdaa4904b16394ad
Closes-bug: #1705532
2017-07-20 14:45:48 -04:00
Carol Bouchard 183b875f0d Re-enable non-trunk baremetal test cases
When baremetal trunk code was committed, test cases for baremetal
non-trunk were disabled. This changeset turns them all back on.

As part of trunk implementation, the 'is_native' flag is no longer
pass in the transaction.  Instead for non-trunk baremetal cases,
the native vlan will always be configured on nexus. As a result, all
test cases must additional check to verify if native vlan configuration
is sent while the 'is_native' flag is removed from input transaction.

Change-Id: I29e545fca34bb69f4218ee168a2d0e5d22655198
Closes-bug:  #1704802
2017-07-19 08:39:35 -04:00
Jenkins b447c84895 Merge "Disables return code check in REST API update calls from some unit tests" 2017-07-18 14:54:42 +00:00
Carol Bouchard c7c014abcb Handle multiple controllers in vpcid allocate db
This changeset includes changes to vpcid allocate db to handle
collisions when two controllers are trying to allocate same id at the
same time.  Changeset also addresses comments from review of
1691822.

Change-Id: Iad00f6a468bb2c3fcd35c6e39b75349aa8ff7fe2
Closes-bug:  #1701267
2017-07-17 10:53:50 -04:00
Rich Curran dbcdea1275 Nexus MD: Neutron trunk support
Add neutron trunk support to the cisco_nexus mechanism driver.

For baremetal deployments, the setting of 'switchport...native'
is now set for a trunk's parent port (also the vlan associated
with the trunk's parent port will also be configured as 'allowed').
All other ports (trunk subports) will be set as 'allowed'.

VM deployments nexus switchport setting isn't changed by this patchset.

Change-Id: I0992312dfba5c58302b050d409bbbb3d180ea0a0
2017-07-14 08:47:51 -04:00
Jenkins ffb7d971bb Merge "Switch mitaka tests to mitaka-eol tag instead of branch" 2017-07-10 19:56:01 +00:00
Sam Betts a39c6ef250 Switch mitaka tests to mitaka-eol tag instead of branch
Now stable/mitaka branch has been EOL'd and removed to continue to test
against it we must reference the mitaka-eol tag instead of the branch.

Change-Id: Ic3b6cab001c87e5d77a1f9c9bd48805d8fc95afd
2017-07-07 16:26:49 +01:00
Bob Melander 22ca4a276d Disables return code check in REST API update calls from some unit tests
As a temporary workaround for bug #1676435 this patch disables the return
code check in the REST API update call for some ASR1k router type driver
unit tests. This will reduce the number of Jenkins failures while the
root caused of the unit test failures are investigated.

AKA: DE3463

Partial-Bug: #1676435

Change-Id: Ia411e2a9a3fce9fee9ed598357aef377c504592e
2017-07-05 14:46:23 +02:00
Jenkins e072b149d2 Merge "Fixes incorrect format strings in log statements" 2017-07-01 00:59:44 +00:00
Bob Melander 46261c24e6 Fixes incorrect format strings in log statements
One of the erroneous format strings in particular has been causing
intermittent failures for some of the ASR1k router type driver
unit tests. This patch therefore removes the workaround for those
UT failures provided in commit 0ac6a2ec0a.

AKA: DE3463

Partial-Bug: #1676435

Change-Id: Ifa9fa8ae8ca2f88e7339ac6aaf8b6adb56a80268
2017-06-30 12:38:01 +02:00
Jenkins 8a24884055 Merge "Nexus Baremetal Automated Port Channel Creation" 2017-06-28 20:33:13 +00:00
Jenkins c8b4149689 Merge "Handle missing ha:details attribute in router type driver unit tests" 2017-06-28 16:08:25 +00:00
Jenkins 569bc7def1 Merge "Takes hosting information into account when determining updated routers" 2017-06-28 15:59:16 +00:00
Carol Bouchard 19f1fef013 Nexus Baremetal Automated Port Channel Creation
This codeset implements the ability to automatically create port
channels for baremetal/ironic transactions when they carry multiple
ethernet interfaces.  Before allocating one, it checks if a port
channel is already applied on the nexus device by the user.
If already defined, it uses the port-channel found on the nexus
device.

For automated port channels to work, a list of port-channels must
be provided to ML2 Nexus driver for each switch.  A new switch
config attribute 'vnc_pool=start,end' has been provided in the
ml2_conf_cisco.ini file for this purpose. This is the list the
Nexus driver will allocate.  The Nexus driver get the list for
each switch in the baremetal transaction, derive an intersect
list between them, then select from this derived list.

Once the initial learning or allocation is performed and Nexus
device has been configured, the replay operation will persist
with these values upon switch recovery.

Limitation:  This ability is only supported with the RESTAPI driver.
The ssh/ncclient driver will no longer support new features.

Change-Id: I517dba977d39ae533521b33082fe8df9ad58d201
Closes-bug:  #1691822
2017-06-27 10:22:21 -04:00
Jenkins ac9ce559b9 Merge "Allow router actions to create/update the port resource" 2017-06-26 21:56:51 +00:00
Jenkins 4d45c0a192 Merge "Retry Config agent registration with the neutron server." 2017-06-26 16:40:53 +00:00
Shweta P 40baafb0a9 Retry Config agent registration with the neutron server.
This patch allows retries of the config agent to register with the
neutron server.

Closes-bug: #1699905

Change-Id: I6fe2c97ccd8d19243340f0993144f4ee8b8258c7
2017-06-22 18:42:00 -04:00
Shweta P 158b91cf6b Allow router actions to create/update the port resource
Port create and update actions are made GUARDED by the core plugin.
This patch is a partial fix to allow port modifications by the ASR1k plugin

Partial-Bug: #1699904
Change-Id: I89bd477cf5b5d3ad0e542e455ca02efd1240d129
2017-06-22 18:26:08 -04:00
Shweta P c6d13032aa Rename Column TenantId to ProjectID in DB
All occurences of ``tenant_id`` across the database are renamed
to ``project_id``. Both options are equally valid, but ``project_id``
is preferred.

Closes-bug: #1699900

Change-Id: I06bfd3851a21a83b882807f9439d62602f9fbeb3
2017-06-22 18:13:35 -04:00
Jenkins 2c5523f740 Merge "Workaround failing UT for asr1k router type driver" 2017-06-16 15:37:22 +00:00
Bob Melander 5abafee372 Handle missing ha:details attribute in router type driver unit tests
AKA: DE4039

Closes-Bug: #1698311

Change-Id: Ibc93c8c3f3cf7b522a0535435f2078d2268cf353
2017-06-16 10:22:04 +02:00
Bob Melander 0ac6a2ec0a Workaround failing UT for asr1k router type driver
This patch disables the pre_backlog_processing function during
the asr1k_routertype_driver unit tests as it is causing
intermittent failures. Once there is a root cause fix for the
failures this workaround will be removed.

Partial-Bug: #1676435

Change-Id: I6ced1d98184089d62f76856e5ca84fbb42164ac9
2017-06-16 09:10:07 +02:00
Jenkins eb4ffe1010 Merge "Reject REST API operations on L3 resources owned by ASR1k L3 router plugin" 2017-06-15 21:12:47 +00:00
Jenkins 512c8d0721 Merge "Fixing devstack issues" 2017-06-15 20:24:34 +00:00
Bob Melander 38e2ffaf6d Takes hosting information into account when determining updated routers
In some (rare) cases a vrf is removed because the cfg agent is not taking
hosting device into account when determining routers that have been deleted
by the user. This patch fixes this issue.

AKA: DE3934

Change-Id: I34b2883f322bdf492db18c155fff635281f7bfdb
Closes-Bug: #1694674
2017-06-15 11:38:15 +02:00
Bob Melander 00e088b830 Reject REST API operations on L3 resources owned by ASR1k L3 router plugin
The plugin will now reject REST API operations (even when performed by admins)
on L3 resources that the router service itself owns and manages.

AKA: DE3496

Closes-Bug: #1694215

Change-Id: I19ccca674dfb8e84ff231ca1954e3284f1238abf
2017-06-15 11:37:05 +02:00
Jenkins 977f5217ba Merge "Change name of HA redundancy router automatically" 2017-06-14 17:56:21 +00:00
Arvind Somya 916c46f884 Fixing devstack issues
This patch fixes two devstack issues with the ASR1k plugin:
- Incorrect config file paths
- Implement the NEUTRON_CREATE_INITIAL_NETWORKS flag

Change-Id: I1d6e73026809da76fa6ed8126ba4146176ee97cd
2017-06-14 11:36:13 -04:00
Carol Bouchard e27ec5a03b ML2 Nexus Add Host/interface mapping table
This code set adds new host to interface mapping table to
ML2 Nexus Driver.  It allows for VMs on baremetal host to
be spawned after learning baremetal node.  Additionally
static host to interface mapping learned from configuration
file also moved to this data base.

Change-Id: I5749176a381ac4b5140feb1f98c5b73aa1601025
Closes-bug:  #1691194
2017-06-02 16:47:36 +00:00
Carol Bouchard aef4474411 Stabilize Ocata Jenkins runs
Need to stabilize Ocata Jenkins runs by locking upper constraints
in place for Ocata branch.

Change-Id: I498793b65ac3a301f477d6a35032d3984fffb2a5
Closes-bug:  #1695254
2017-06-02 09:48:25 -04:00
Bob Melander 1bb9cdd47d Change name of HA redundancy router automatically
With this patch the initial part of the name of a HA redundancy router
will be automatically updated when the name of its HA user visible router
peer is updated.

That way it is easier to understand for admins which user visible router a
certain HA redundancy router is a peer of.

AKA: DE3462

Change-Id: If83e7c3bdd6c2ddee77d102bdc93f70918befc1c
Closes-Bug: #1680113
2017-05-29 11:45:19 +02:00
Tim Swanson f83d6ffcfa Nexus: Add additional router device owner types to support.
The nexus driver needs to act on router interface types for non-HA and
the router gateway.

Change-Id: Iad6933a9798f0e4e164f2f1297d05ac5663ff3f6
Closes-Bug: 1692542
2017-05-23 12:09:55 +00:00
Carol Bouchard f7fa876082 Resolve latest set of Jenkins errors
Update networking-cisco code to handle latest changes in upstream code.
I was running the following to find errors:
tox -e master
tox -e ocata
tox -e newton
tox -e py27

Change-Id: Id1fbf3d38724b25caa079d70862889700398e445
Closes-bug:  #1691196
2017-05-22 12:36:18 -04:00
Sandhya Dasu e7f2cab359 Portbinding extension moved to neutron_lib
Modifying UCSM driver to import portbindings from backwards_compatibility.py.
Modifying backwards_compatibility.py to take of importing portbinding extension
correctly for each release.

Change-Id: Ib17fe9361bf6ee25d52825fb7223b734aa00fdba
Closes-Bug: 1686438
2017-05-02 11:02:04 -04:00
Luong Anh Tuan 597b25cc77 Use function is_valid_mac from oslo.utils
Oslo.utils 3.17 provides same function, just use it.

Change-Id: I4994397fefb540c657c9e714d6564270b12d8d71
2017-04-06 15:27:09 +00:00
Sandhya Dasu 1204d1ac37 UCSM plugin: Auto detection of compute hosts
UCSM plugin should be able to get the Service Profile Template
configuration for a compute host by getting it from UCSM directly
instead of being provided as a configuration to UCSM plugin.

Change-Id: I762d491c2722f93407e295cd26df108bc7342a93
Implements: blueprint ucsm-autodetect-compute-host
Closes-Bug: #1588045
2017-04-03 13:54:19 -04:00
Sandhya Dasu 1a0e03c3dc UCSM Driver retry Port Profile deletes
When VMs attached to a Port Profile are deleted, and the neutron
network associated with this Port Profile is deleted, the Port
Profile might not be deleted. That is because UCSM is unaware of the
deletion on the VMs until it syncs up the UCS Servers. During this
time Port Profiles will not be deleted by the UCSM which thinks they
are inuse. This fix adds a retry mechanism where the plugin keeps
track of Port Profiles that need to be deleted and retries every 10
minutes.

Change-Id: Iedc22d80f193d9b1482abdd6d68e7bda352dfe3f
Closes-Bug: #1476721
2017-03-21 10:42:46 -04:00
Bob Melander 9d13d885de Use correct netmask for router interfaces in ASR1k
Change-Id: Ic843d34f0f5825a708177f15ef930cb2724662dd
Closes-bug: #1674331
2017-03-20 19:22:19 +01:00
Jenkins 5d93dafd7c Merge "Accept ucsm_host_list as part of Multi-UCSM config" 2017-03-14 19:17:17 +00:00
Sandhya Dasu 39330d3bba Accept ucsm_host_list as part of Multi-UCSM config
The plugin has been modified to parse ucsm_host_list specified
as part of Multi-UCSM config. If that config is missing, it
will try to read Service Profile information directly from the
UCSM.

Change-Id: Idd306d994bebbec2ef4ecf625bfea47be057c1ce
Closes-Bug: #1648849
2017-03-14 11:52:27 -04:00
Jenkins 1ba5e69f4d Merge "Adds support for multiple subnets per external network" 2017-03-13 16:48:42 +00:00
Bob Melander 6e6e2025d5 Adds support for multiple subnets per external network
With this patch neutron routers hosted in ASR1k devices can now
be attached to external networks that have multiple subnets.

The global routers in the ASR1k will always be connected to
*all* subnets of an external network regardless if the tenant
gateway routers are connected to all those subnets.

The patch also adds UTs for the new capability.

Addresses: DE3191, DE3092, DE2865, DE2877, DE2882, DE2886

Change-Id: I65775b58361bcfee9ea3d36ff87b9981ba750601
Closes-Bug: #1660988
2017-03-10 19:08:51 +01:00
Jenkins eb95a7d2de Merge "Implement Rest API in ML2 Nexus Driver" 2017-03-07 16:32:10 +00:00
Sandhya Dasu 11deb5e50b Update imports for Agent, Router and RouterPort in networking-cisco
Change-Id: I0d065401d1359aec663e6e5809e8f20c5323ac33
Closes-Bug: #1669909
2017-03-04 14:06:11 -05:00
Carol Bouchard 6de0f6026b Implement Rest API in ML2 Nexus Driver
Supercedes https://review.openstack.org/429897

This change set includes the ability to configure Nexus 9K using
REST API drivers instead of ncclient ssh Drivers.  By default,
ssh drivers are used.  To utilize REST API drivers, the user must
configure 'use_restapi_driver' to True in the ml2 config file.

The benefit of using REST API drivers is there are no limits
on the number of session limits on the Nexus side.  Also there
is significant performance improvements.  However, to utilize
this driver, the Nexus 9K must support the ability to
configure VLANS and VXLANS by way of REST. The N9K image
which meets all required REST API configuration is
version 7.0(3)I5(2).

Removed methods 'create_vlan_svi' and 'get_version' from the file
nexus_network_driver.py since it is not being called by any code.
I want the capability in this driver to match the
new rest api driver. There was no sense in creating unused
methods in the new rest api driver.

Change-Id: I841fc46af5fc7cd668935c1c734f74d7a4cd888a
Closes-bug:  #1655097
2017-03-02 13:30:52 -05:00
Jenkins d88831a06e Merge "ML2 Nexus driver fails on SessionCloseError" 2017-03-02 18:02:42 +00:00
Jenkins 7737f3233c Merge "ML2 Nexus VXLAN TunnelTypeDriver needs upgrade" 2017-03-02 17:33:49 +00:00
Carol Bouchard 13533392ce ML2 Nexus VXLAN TunnelTypeDriver needs upgrade
At some point, TunnelTypeDriver class was replaced by
ML2TunnelTypeDriver.  This initially caused CI errors but a patch
came in which made CI failure go away.  However, when performing
a devstack stack with VXLAN config, another failure occurred during
start-up.  By upgrading to the ML2TunnelTypeDriver, the failure
has gone away and VXLAN works as expected.
Changes were also made to be backward compatible up to
branch newton.

Change-Id: I0419a64a0a223b165bcc8c376e6f1c209be64846
Closes-bug:  #1664339
2017-02-28 11:34:05 -05:00