206 Commits

Author SHA1 Message Date
asarfaty
0b6c219307 NSX|V3: Remove unused QoS message queue
Its not used by the driver, and not supported by neutron any more

Change-Id: I66d2cc021f4e48f7a75d4222b176d0a45b4bf351
2020-10-01 13:42:10 +02:00
asarfaty
9895c39488 Remove leftover MH code and configs
Change-Id: Iadff06ee8ac7a68d120f432e3fa5a599c9d65565
2020-07-29 17:29:39 +02:00
asarfaty
b5f175520d Complete dropping py27 support goal
This takes care of the last details for dropping py27 support by adding
a proper min version of python in setup.cfg.
See similar neutron commit: I911469d46fccf13bc7ead7a103a7d6e4e0ede7c3

Change-Id: I1176280b5d30b551774cdbe7b5ec65afc7978f6b
2020-01-16 08:52:31 +02:00
Adit Sarfaty
4a3e8191cd Stop testing python 2
Since it's no longer supported past Train, lets stop
running the tests.
Please also see the related neutron patch:
I1c171ab906a3b4c66558163ad26947ebf710a276

Change-Id: Ic5361ac8495493d45603a57fcaac5f8385c681b7
2019-11-02 08:21:10 +00:00
Kobi Samoray
24e93461d0 Octavia driver: agent implementation
The driver is loaded, then terminated whenever a request is issued.
This behavior causes termination of the Octavia listener which is
responsible to the processing of the driver status updates and
statistics processing.
The following change implements an agent which will execute the
listener.

Change-Id: I566aaa65df4ba7455577a539aa9eebb6cc36a099
2019-09-28 14:01:00 +03:00
Boden R
c3bf87fd05 update for python3 train jobs
Change-Id: Ic104e1a67e69a2e06fb47db23896a14cacf9ca24
2019-07-10 12:07:07 -06:00
Adit Sarfaty
d753ec6945 Remove neutron-lbaas support & dependencies
Commit Ia4f4b335295c0e6add79fe0db5dd31b4327fdb54 removed all the
neutron-lbaas code from the master (Train) branch

Change-Id: I9035f6238773aad0591436c856550b7a5e01e687
2019-05-19 11:16:45 +03:00
Boden R
841fa1a720 Dropping the py35 testing
All the integration testing has been moved to
Bionic now[1] and py3.5 is not tested runtime for
Train or stable/stein [2][3].

As per below ML thread, we are good to drop the py35
testing now:
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005097.html

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.html
[2] https://governance.openstack.org/tc/reference/runtimes/stein.html
[3] https://governance.openstack.org/tc/reference/runtimes/train.html

Depends-On: I1b0496d3048f832cd60be70703a23cc712f8693d

Change-Id: I071bd473617691ee72e29547e320dd8d9781ee75
2019-04-22 06:33:18 -06:00
Adit Sarfaty
d55e6c3503 NSX|P FWaaS V2 support
Adding FWaaS support for the Policy plugin, implementing hte NSX gateway policy

Depends-on: I97bcbd99fcced02592a6e5f10d0d43a3e99efbe6
Change-Id: I486a6f4ab766233942008b5677722fb14b8553d7
2019-03-13 11:59:15 +02:00
Adit Sarfaty
a36a1dba74 NSX|V: FWaaS-V2 driver
This patch adds a driver for FWaaS V2 support in the NSX-V plugin.
It supports setting firewall rules per router interface port on the router
edge firewall.

In addition, the FWaaS TVD driver will now support NSX-V as well.

The driver code is a combination of the NSX-V3 FWaas-V2 code, and the old
NSX-V FWaaS-V1 code that is being deleted.

Change-Id: Iacc7eaff0c70b68156516008cf0277c154edd76b
2019-02-11 09:09:44 +00:00
Adit Sarfaty
df47dde1cc Remove FWaaS V1 code
FWaaS is about to be removed from neutron, and should be removed from
vmware_nsx as well.

Change-Id: I6e621e63896dc6a6e6bbacc464c79319fce1f92d
2019-02-05 06:21:45 +00:00
Akihiro Motoki
b7930ae821 Convert policy.json into policy-in-code
vmware-nsx specific policies are defined as policy-in-code.

- vmware_nsx/policies/lsn.py, qos_queue.py and maclearning.py
  are moved from the neutron repo.
- vmware_nsx/policies/providersecuritygroup.py is based on the difference
  between etc/policy.json and the old neutron policy.json
- vmware_nsx/policies/security_group.py is based on
  etc/policy.d/security-groups.json
- vmware_nsx/policies/network_gateway.py is based on
  etc/policy.d/network-gateways.json

etc/policy.d/dynamic-routing.json and etc/policy.d/neutron-fwaas.json
have no policies specific to vmware-nsx, so they can be dropped and
we can use policy-in-code definitions in neutron-fwaas and
neutron-dynamic-routing.

etc/policy.d/routers.json and flow-classifier.json cannot be
converted into policy-in-code because the default policies are
different from those defined in neutron and networking-sfc.
Note that etc/policy.d/routers.json now has policies which are
different from the default policies defined in the neutron repo.
(Others are clean up by this commit.)

This commit depends on the following patches under review:

(neutron-fwaas policy-in-code support)
Depends-On: https://review.openstack.org/527282
(neutron-dynamic-routing policy-in-code support)
Depends-On: https://review.openstack.org/625429
(networking-sfc policy-in-code support)
Depends-On: https://review.openstack.org/625431
(Drop 3rd-party plugin specific policies)
Depends-On: https://review.openstack.org/625394

Partially Implements: blueprint neutron-policy-in-code

Co-Authored-By: Michal Kelner Mishali <mkelnermishal@vmware.com>
Co-Authored-By: Adit Sarfaty <asarfaty@vmware.com>
Change-Id: I96a9dbd759d54308abbc12ce65c97b06a76453cd
2019-01-24 20:00:49 +00:00
Adit Sarfaty
45046b75ff NSX|P dns integration support
based on the v3 integration

Change-Id: Ie726525c7b1cd4006b932b280634df27b192db4e
2019-01-15 16:46:30 +00:00
melissaml
d2388b9fbc Change openstack-dev to openstack-discuss
Mailinglists have been updated. Openstack-discuss replaces openstack-dev.

Change-Id: I5903e21d4baf9d15b7437c8fbd10337c5b176e8b
2018-12-04 17:18:23 +08:00
Kobi Samoray
83d9b3abdd NSX|V+V3: Octavia driver
Implementing the Octavia support for NSX-V & NSX-T.
Follow up patches will handle the TVD plugin, Status updates,
and migration.

Since Octavia is not (yet?) in the requirements, using a hack to allow unittests
to be skipped.

Co-Authored-by: Adit Sarfaty <asarfaty@vmware.com>
Change-Id: Iadb24e7eadcab658faf3e646cc528c2a8a6976e5
2018-10-02 11:19:55 +03:00
Adit Sarfaty
3be8af0c37 NSX-Policy: Skeleton for the new NSX Policy plugin
Change-Id: Ia3195293270ceb3af1f14fa280de43019ca44b7f
2018-09-12 08:52:41 +03:00
Zuul
9d99f0f06d Merge "NSX|V3: VPN connection status update" 2018-08-27 08:43:00 +00:00
Adit Sarfaty
e3f103f269 NSX|V3: VPN connection status update
The VPNaaS plugin expects the driver to update the connection status
from a separate process/thread/agent.
When the user requests a connection/list, the status is retrived from the VPNaaS DB,
without calling the driver.

To avoid adding a process to actively query and update all connections statuses, this
patch creates a new VPNaaS plugin, to be used instead of hte default one.
This plugin (vmware_nsx_vpnaas) will issue a get-statuses call to the driver,
update the current statuses in the DB, and call the original plugin.

Change-Id: Ib750bfb8f0c8ad12265fa71506182ff5d7e8030a
2018-08-20 14:21:24 +03:00
Adit Sarfaty
bb0ea37a57 NSX|V3: LBaaS operating status support
The LBaaS V2 plugin expects the driver to update the LB objects operating
status from a separate process/thread.
When the user requests the LB status (or just the LB object itself with GET),
the operating status is retrived from the LBaaS DB, without calling the driver.

To avoid adding a process to actively query and update all objects statuses,
this patch creates a new LBaaSV2 plugin, to be used instead of the default one.
This plugin (vmware_nsx_lbaasv2) will issue a get-statuses call to the driver,
update the current statuses in the DB, and call the original plugin.

Depends-on: I71a56b87144aad743795ad1295ec636b17429035
Change-Id: I3c4e75d92a1bacdb14292a8db727deb4923a85d9
2018-08-20 11:13:30 +00:00
Adit Sarfaty
f2589aefb2 NSX|V3: Add housekeeping jobs
Adding houskeeper for NSX V3 including handling orphaned DHCP server,
logical swithces, firewall sections & logical routers, and handling
mismatched logical ports.

Change-Id: Id5e038a5c713796a83e485343cdc1672d0c1fd24
2018-07-20 12:30:17 +03:00
Kobi Samoray
d9dcd99d9e LBaaS pending objects housekeeping
Monitor LBaaS objects which are stuck in PENDING_CREATE or
PENDING_UPDATE states, and optionally change their mode to ERROR so
they can be cleaned up.

Change-Id: Ic3409590e52f885d367dae3b34f0066d01003b06
2018-05-14 13:07:21 +00:00
Adit Sarfaty
db005d3221 TVD IPAM support
Adding an IPAM driver for the TVD plugin which will redirect the
requests to the V/T driver.

Change-Id: Iea48c7de053b0e7545fdae2a8e38c7b489d61409
2018-02-21 12:38:56 +02:00
Adit Sarfaty
c6c155c1aa TVD: Add service plugins to separate list results
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
2018-02-20 10:34:18 +02:00
Nguyen Hung Phuong
68a9b50cf8 Remove pbr warnerrors in favor of sphinx check
This change removes the now unused "warnerrors" setting, which is
replaced by "warning-is-error" in sphinx releases >= 1.5 [1].

[1] http://lists.openstack.org/pipermail/openstack-dev/ 2017-March/113085.html

Change-Id: Ie82fce03c73f4a78b557caecc5bcf4ad9c8b7cb1
Closes-Bug:#1693670
2018-02-01 13:48:04 +07:00
Adit Sarfaty
4530377c60 TVD: FWaaS plugins
Adding FWaaS v1/v2 plugins to be used with the TVD core plugin.
The plugins will make sure to separate the v/t returned lists
using the same solution that was introduced for the LBass, now as a
general class decorator.

Change-Id: I5f01b8cf093d5ef3b340dce2d12fc41031dd12e9
2018-01-23 10:18:21 +02:00
Gary Kotton
69d87b94ce TVD: support lbaasv2 'provider' filtering
The patch ensures that only a V tenant can see v resources and the
same for a T tenant/project.

NOTES:
1. In the neutron configuration file a new service plugin is created.
   So we need the following:
[DEFAULT]
service_plugins = vmware_nsxtvd_lbaasv2

2. The extensions path needs to be updated so that the default LBaaS
   extensions can be loaded.

So for example in the devstack case we need to configure:
[DEFAULT]
api_extensions_path = /opt/stack/neutron-lbaas/neutron_lbaas/extensions

Change-Id: Iea497cbb150048bedf712a195c7854e4836ad4a5
2018-01-14 22:02:15 -08:00
Kobi Samoray
84da10cf22 NSXv HK: recover broken backup edge appliances
When there is a failure during the recycling of an edge appliace to the
backup pool, the edge at the backend may still be attached to networks
and use IP addresses which are free for reuse by Neutron.
Housekeeping job should address such cases.

Change-Id: I3a8ba622f742064bdc8906ba745da0a54a4576ac
2017-12-28 14:42:02 +00:00
Adit Sarfaty
5517d697c1 TVD: Update devstack doc with different services
Change-Id: Iaf6fb4227df7c919d6bd757a8b47d1c96b289758
2017-12-24 13:12:22 +00:00
Zuul
30885efb36 Merge "Plugin housekeeper" 2017-12-21 16:41:30 +00:00
Kobi Samoray
33c1830734 Plugin housekeeper
Implements a generic mechanism to cleanup and fix various breakages and
issues between neutron, plugin and backend.
Also adds a housekeeping job which detects and handles broken DHCP edge
issues.

Change-Id: I5324befbe2c7740b8ed47e0a20586f8aca0726f1
2017-12-20 16:02:47 +02:00
Adit Sarfaty
189d8d6955 NSX-TV fwaas drivers
Drivers for FWaaS V1/V2 for the NSX-TV plugin
Those drivers are just wrappers calling the right driver according to
the project of the firewall object.

Change-Id: Ia073da9c91cb4d69d772b3e0d0ab6f5c3fd60795
2017-12-19 08:49:32 +02:00
Gary Kotton
792a6a0103 NSX TVD: V, T and simple DVS Coexist in the same plugin
Introduce a plugin that can work with all of the VC and NSX
offerings under the same umbrella of a single plugin.

Co-Authored-By: Adit Sarfaty <asarfaty@vmware.com>

Change-Id: I0449d64e3cf79b7a3a846dacba95e8854d53bdf8
2017-12-17 01:31:43 -08:00
Pierre Hanselmann
1d9d363bba DVS: Add support for dns-integration extension
One can enable DNS integration for the upstream neutron
DNS integration extension by setting:
nsx_extension_drivers = vmware_dvs_dns

Closes-Bug: #1727626
Change-Id: If776d21679acfa2abf8018a8f6f19b58be24cb4b
2017-10-30 15:45:17 +00:00
Adit Sarfaty
afdb9ea7ac NSX|V3 refactor fwaas to support plugin rules
For DHCP relay support, and possibly other features, there is a need to
add specific allow rules to the router firewall between the FWaas v1/v2
rules, and the default drop rule.
This patch set the structure to do that, without actually adding new rules.
In case of FWaaS v2 the additional rules are per router interface.

Change-Id: I63d754495f56ec9081d84dcea6fb688ee1c41dbd
2017-10-04 18:19:17 +00:00
Jenkins
1328bc1fd7 Merge "Remove wrong alias from setup" 2017-09-19 12:38:39 +00:00
Adit Sarfaty
32e95f47b5 NSX|v3: FWaaS v2 support
FWaaS V2 support in NSX-v3.
Support different firewall group per router interface port for
igress/egress.
limitation: cannot support egress rules with source ip, or ingress
rules with destination ips.

Depends-on: I2a37be5518bfc8124ffca2ab05f684d8c1c3d673
Change-Id: I3ed70fa48d078bed15f30e855b73bdfb11d11c6e
2017-09-18 07:42:30 +00:00
Tong Liu
00be925de3 Remove wrong alias from setup
In vmware_nsx/plugin.py, NSX|mh plugin has been defined as
NsxPlugin and there is no NsxMhPlugin. To use alias for NSX|mh
plugin, vmware_nsx should be used instead of vmware.

Change-Id: Iff5cfe5a60809cf3c26d4445f0c3fb4b89db968f
2017-09-14 09:46:37 +00:00
Gary Kotton
508c6262a2 Remove vmware_nsx_tempest
This now existsin the vmware_nsx_tempest_plugin

Change-Id: I76e5856deeeb06b87675314635d06aa0291143eb
Depends-On: I804c3fd1e0c9cbeb454677e7951072ad74391fec
2017-08-15 17:02:55 +00:00
Adit Sarfaty
754e0e7561 NSX|V3: FWaaS-v1 support
Adding FW rules to protect the traffic north-south behind a T1 router.
This will be done only if a firewall was attached to the router.
This includes:
- FWaaS rules
- Drop all default rule

When the firewall is deleted or the router removed from it,
a default allow all rule will be set.

For the rotuer firewall to work, the rotuer NAT rules should set
nat-bypass=False.

Change-Id: Iba03db8ca67ee10d1c54b96fb41a888cb549684d
2017-06-17 05:18:15 +00:00
Chandan Kumar
eb293bd418 Fixes vmware_nsx_tempest tempest plugin issues with tempest
* Added vmware_nsx_tempest under packages in setup.cfg so that
  tempest can discovers it.
* Removed pbr version from vmware_nsx_tempest (in-tree tempest plugin)
  as it causes versioning issue with the main package vmware_nsx.
* Added all sections and options defined in tempest plugin conf
  so that tempest can retrive all the tempest sample configurations.

Depends-on: Iab0202a28bfa525c4cd91e776ac2bdba56a807f6

Change-Id: I2f706b8cdb31c53d951b059f939fb0d6afc32958
Closes-Bug: #1691122
2017-05-17 10:24:53 +00:00
shaofeng_cheng
1f59123100 Add firewall_drivers entry_point in setup
Add firewall_drivers entry_point for vmware_edge.

Change-Id: I25aa8fb2620ccbf6cdc19a711022c82bea70919d
2017-05-15 15:45:44 +08:00
Jenkins
add5a5bfc8 Merge "Rename api-replay to nsx-migration" 2017-05-11 23:37:30 +00:00
shaofeng_cheng
baef191d1f Add vmware_nsxv entry_point in setup
If config neutron.core_plugins values for vmware_nsx.plugin.NsxVPlugin.
It throw warning for 'stevedore.named [-] Could not load vmware_nsx.plugin.NsxVPlugin'.
So,Add vmware_nsx vmware_nsxv vmware_nsxv3 and vmware_dvs entry_point in neutron.conre_plugins group.

Change-Id: Ie2a5a4d00bd15ad838737948e2eb8eec69f3303b
2017-05-11 14:34:55 +08:00
Adit Sarfaty
6cc71fc758 Rename api-replay to nsx-migration
Change-Id: I2a8889119b52123427a4ae269cc1fb669375c36e
2017-05-10 18:14:56 +03:00
Eric Brown
0294eaed7d Use https for *.openstack.org references
The openstack.org pages now support https and our references to
the site should by default be one signed by the organization.

Change-Id: I0448c7bc0294db867bc1766da7aaf07912575dbe
2017-02-06 15:45:18 -08:00
Shih-Hao Li
64dec92beb NSXV+NSXV3: Add support for dns-integration extension
One can enable DNS integration for the upstream neutron
DNS integration extension by setting:
nsx_extension_drivers = vmware_nsxv_dns (for NSXV)
nsx_extension_drivers = vmware_nsxv3_dns (for NSXV3)

Change-Id: Id100f8034e602d92310d22f900c48d9dfbe59a8d
2017-01-15 09:06:09 -08:00
Adit Sarfaty
1266099049 NSX|V3 IPAM support
The NSX-V3 plugin will use the NSX-V3 backend IPAM.
An IP pool will be created for each subnet, and port IPs will be allocated
from this pool.
The current backend limitation is that we cannot allocate a specific IP,
so port create/update with fixed_ips will fail, unless the requested ip
is the subnet gateway ip.

To enable this option set 'ipam_driver = vmware_nsxv3_ipam' in the
neutron.conf

Change-Id: I5263555cbb776018a5d01f19d0997fd2adf6483d
2017-01-15 12:49:00 +00:00
Adit Sarfaty
8d7f6e07d0 Fix IPAM drivers entry point in setup.cfg
Change-Id: If45878f800bb669595d77bbb56823f7c2f026036
2017-01-10 09:56:21 +02:00
Eric Brown
53b8498fc6 Remove references to Python 3.4
Now that there exists only a gate job for Python 3.5 and not 3.4,
we should remove those references to the 3.4 that is untested.

Change-Id: Idb66d124611de879b33c0f8bd20f37f24da443b4
2017-01-05 15:42:39 -08:00
Adit Sarfaty
b8f5312bb4 NSX|v add IPAM driver to setup.cfg
This will allow simpler configuration of the ipam_driver in the neutron.cong

Change-Id: Icc81117ab778528b901a9eeaad152a507acad0c2
2016-12-08 13:32:55 +00:00