Store the segmentation id for a connection even when not specified
on the connection create request, but inherited from l2gw device
configuration
Change-Id: I3ce91eed538ef467129c83e58d560961835db255
Replace NSX bridge cluster with bridge endpoint profiles as the
backend resource used to implement L2 gateways.
The logic for creating a gateway connection is not changed,
with the only exception that bridge endpoints now have a reference
to a bridge endpoint profile.
Connections created using bridge clusters can be safely removed,
while creation of new connection on gateways leveraging bridge
clusters will fail.
Change-Id: I29cd9a2501ab4b7dd226729f33ab962bbba2dfff
This patch switches BEFORE_DELETE callback events for PORT resources
over to the payload style args use a DBEventPayload object in prep for
the depends on patch.
Change-Id: I8c4b2f3700bbf8ca9aad82c32a54e33c1ad06c3d
1. Do not allow creating a connection with the same seg-id & bridge cluster again
as the NSX fails it
2. In case creation failed, allow delete to succedd (for rollback of the create)
Change-Id: I9db62a2b895bfac93381ba5200f96c96163e39a5
Adds missing methods. Something changed witht he way in which
the callbacks were invoked which showed that we did not support
the correct methods.
Change-Id: I253ceee343d829923b874057603a32ccd8c662f6
The public APIs that are part of neutron.plugins.common.utils were
rehomed into neutron-lib with Iabb155b5d2d0ec6104ebee5dd42cf292bdf3ec61
and will removed in neutron with commit
I1d63cbea463e92e1d2e053f8e1a564ed52cb84f8
This patch consumes the common plugin utils from neutron-lib
Change-Id: I54ef960de54bc3ae781af7ba9473729c94197d0d
Adding service plugins for QoS, VPNaaS and L2Gateway
and updating the BGP plugin
to prevent users from getting objects belonging to a different
plugin
Change-Id: I3545c3acefaf50ca6937a0b7a65c131c569317cd
This patch switches callbacks over to the payload object style events
[1] for BEFORE_SPAWN and AFTER_SPAWN based notifications. As no event
data is passed for SPAWN notifications, an actual payload object is
not needed and thus this change uses publish() rather than notify()
and updates and callback receivers to accept the payload parameter.
Depends-On: Ifad4781d82aa07f213f4e075b0c9455aa95e94bb
[1] https://docs.openstack.org/neutron-lib/latest/contributor/callbacks.html#event-payloads
Change-Id: Icca5213d7372ea28204db50108d5f77e1acf400d
Creating a wrapper driver for l2gw for hte TVD plugin
This driver choose the actual driver based on the project id.
Change-Id: I2edda8c780b7e14b36e3033108186ad63dd0449e
This patch refactors vmware-nsx to use provider net
from neutron-lib. For more details see [1].
Also note that vmware-nsx code uses the private API
_raise_if_updates_provider_attributes(). While it's a bad
practice to use private APIs, I've submitted a patch to try
and get it into lib [2].
NeutronLibImpact
[1] https://review.openstack.org/421562/
[2] https://review.openstack.org/421961/
Change-Id: I340550a5564c5bbff2e20745f21a8c97a64b7395
1. new config class was added to allow all the classes to use the same object
2. removing dependencies of the neutron project in nsxlib code & tests
Change-Id: I15ace2ab60c1e4307d7076426c48ecc7a242e792
Separating the nsxlib apis into sub classed like
firewall, nsgroup, logical router, in order to make the api simpler
Change-Id: If67fae83515bd9e72aba116a78bb6afce1fe1ab9
- separate nsxlib/v3 constants and utils from the common ones
- separate the nsxlib/v3 tests
- update the nsxlib tests to cover create_firewall_rules
- remove all of the DB calls from the nsxlib/v3
- merge security & dfw_api classes
To be done in future patches:
- Avoid using the nsx configuration values directly
- Improve nsxlib interface (as Aaron suggested in If2fe1e014b78703ff0a9cdff1e4e8d45f3a4a16d)
Change-Id: I43257f557ce1e98b4f64b8157d723cc84ea58c2b
Recent change If2fe1e014b78703ff0a9cdff1e4e8d45f3a4a16d
broke L2GW driver for NSXv3. This patch makes sure that the driver
starts and creates bridge clusters using the new nsxlib.
This patch adds a callback to create default l2 gw after the core
plugin is initialized.
Change-Id: Iced699b13e265f515c23fcc952ba9bb1e64b5762
This patch refactors the current codebase to be more modular
and testable. The main changes are:
- pull out all of the profile setup logic from the __init__
method to it's own method _init_nsx_profiles method to make
testing the code easier.
- refactors the nsxlib.v3 code to break out all neutron related
exceptions and cleans up the interface so we can make nsxlib.v3
it's own standalone library eventually.
To improve:
- Currently we have nsxlib.v3.dfw_api and nsxlib.v3.firewall,
we should refactor this code and merge them into one file.
- refactor nsxlib to section of each api component to it's own
subclass. For example, nsxlib().port.create() rather than
nsxlib().create_port(). I think this would be most useful
for the security group/firewall integration as there are many
methods there that are needed to interface with nsx as the security
group feature is requires the most orchestration with nsx.
Breaking them into a sub class will make things more easy to understand.
Change-Id: If2fe1e014b78703ff0a9cdff1e4e8d45f3a4a16d
Commit Ib56ee8bfd182c031e468c503acb0cd75daea8c40 refactored code
in L2 gateway base plugin. This patch removes unused NSX plugin
code and makes appropriate changes to NSX-V driver.
This patch also adds a couple of update_l2_gateway methods to
both NSX|V and NSX|V3 L2GW drivers. These methods are added
since the base plugin expects the driver to define them.
Change-Id: Ifda5401ec5134268b8a9c3276ed7abf4cf8874aa
Partial-Bug: #1591413
Commit Ib56ee8bfd182c031e468c503acb0cd75daea8c40 refactored code
in L2 gateway base plugin. This patch makes appropriate changes
in NSX plugin and v3 driver.
Change-Id: I45d546e59e99d49d2a9b18258af94d90e91333ca
Partial-Bug: #1591413
neutron_lib should be used instead of the attributes and constants
imports. This patch moves to using neutron_lib. This removes all of
the deprecated warnings (there are still some from neutron and
l2gw - those are addressed in other patches).
Change-Id: I796d749c46a69107a1a484e8774c5d501fc4704f
Support configuration of name or uuid (instead of only uuid) for 4 nsx_v3
parameters: default_overlay_tz, default_vlan_tz, default_bridge_cluster
and default_tier0_router.
Assert on init if the uuid or name was no found on the backend, or if the
name is not unique.
DocImpact: Configuration options default_overlay_tz_uuid, default_vlan_tz_uuid,
default_bridge_cluster_uuid and default_tier0_router_uuid were
replaced with default_overlay_tz, default_vlan_tz, default_bridge_cluster
and default_tier0_router and support name or uuid now.
Change-Id: Id153d4d69165b161c04c403b578657c51af20e9c
If no seg-id is passed during l2 gateway connection create, we
must retrieve the seg-id from l2 gateway resource. This patch
makes sure we retrieve the seg-id from the l2 gateway resources
interface list.
This patch also adds validation to make sure only one interface
is created for a given L2GW resource.
Change-Id: Ida957f7b2e048574ee7ea48958a875c679bb2d07
Closes-Bug: #1569622
Commit 87a79256c494c36f2d9597313f430b24c0110161 added neutron_lib
for shared exceptions. This patch moves us to make use of the
aforementioned library.
Change-Id: I9fe014c5da85faca87bf88a80c4ee19f7f123123
Commit 3082949cffeefd7ef0dcc3f63f235ce597539ef3 deleted the
API method _get_tenant_id_for_create.
Commit 526d28c5dba75e517bf833b895b69b840f03c6a4 added in a use
case not relevant for NSX|V3
Change-Id: I039165be0e49e5dd58284750b08b091b120c0468
Add in a resource type to the tags. This will enable the
admin to know what the correspoinding neutron resource is.
Th elength of the scope is also validate to not exceed 20.
That is the maximum length on the backend.
Closes-bug: #1527208
Change-Id: I3a9a8cac6e7e42a424717d58380b56d32ce5b4f6
Currently the l2gw port is created as a logical port for the switch
but not plugged in the bridge endpoint for bridging.
This check will ensures that the port is plugged in the bridge
endpoint.
Change-Id: Ifeabd1111fdd1a29c32cab1d4a0fbf8a833a4706
This patch will create:
vmware_nsx/services/common for common plugin files
vmware_nsx/services/nsx_v3 for nsx_v3 specific plugin files
This is part of new vmware_nsx directory structure proposed in
https://goo.gl/GdWXyH.
Change-Id: I30753aef1c06e2a1b15d336e1d661f3b44ea669e