161 Commits

Author SHA1 Message Date
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
Adit Sarfaty
e30d060cb2 Add security group extensions to OSC
Change-Id: Ic626c3efed3dfd90ae5045591f6949b2b81915b1
2016-11-10 15:50:22 +02:00
Adit Sarfaty
62e5881010 OCS plugin + initial extensions support
Create an openstack client plugin for vmware nsx, and add the some of
the extensions suport: router-type, router-size, subnet dhcp-mtu and
dns-search-domain and port provider security groups and vnic index

Work for future patches:
- More unit tests (provider-security-groups)
- Add the rest of the extensions

Change-Id: I5b335de000b310cbcbb9a2f81483fd28f8d9afea
2016-10-30 12:33:03 +02:00
Adit Sarfaty
ce9003f498 NSX-V Service insertion support
The service insertion feature allows us to redirect some of the NSX traffic to an external
security vendor like Palo-Alto or checkpoint for advanced inspection.

The implementation contains:
Enable the flow classifier plugin, and use it to create redirect rules on NSX
When the flow classifier plugin is initialized a new security group is created
and added to the configured service profile

When a vm port with port security is created/updated, it is added to this security group
When the admin user create a flow classifier entry, a backed redirect rule will be created.

DocImpact: new NSXV Configuration parameters:
service_insertion_profile_id = <service profile id, i.e. serviceprofile-1>

DocImpact: The flow classifier methods should be added to the policy.json as admin only

Change-Id: I67a132d4b35764c6940516a8365a2749d574aad2
2016-07-13 11:29:05 +03:00
Eric Brown
b152dda04b Add Python 3.5 venv and classifier
Now that there is a passing gate job, we can claim support for
Python 3.5 in the classifier. This patch also adds the convenience
py35 venv.

Change-Id: I14f4f90ca0f0c863f9175934f63c95b9115f9b8c
2016-07-09 22:31:01 -07:00
Boden R
2228c7afd5 Prep for pbr warnerrors
As per [1] the next version of pbr will properly support pbr/Sphinx
warnerrors during doc builds. We should enable warnerrors upon
the next pbr release and verify our doc build completes successfully.

[1] http://lists.openstack.org/pipermail/openstack-dev/2016-June/097849.html

Change-Id: I20cbbefb9dce05770dafa37a6ee1a59afc29c218
2016-06-24 08:12:39 -06:00
Kobi Samoray
30f372d1af Revert "Temporarily disable tempest plugin"
This reverts commit 9902635dc0387e745a7c36d5b6f9e8ba95eecb25.

Change-Id: I6a8caf96f00cf65898d140cc38b13a1356506afc
2016-06-21 08:28:41 +00:00
Kobi Samoray
9902635dc0 Temporarily disable tempest plugin
Tempest plugin breaks the CI due to changes to upstream tempest project.
This patch disables the tempest plugin to allow the CI to work.
Plugin should be re-enabled once issues are resolved.

Change-Id: I52bc8309d6b75f91ec66b3c11d10d1527da0177e
2016-06-19 08:12:31 +00:00
Aaron Rosen
a8443957cb Add neutron-api-reply cli tool
This tool reads from one neutron server and then replays all the
of the api calls required to create the resources on another server.
It requires the dest-neutron service to be in api-replay-mode to allow
us to specify the ids of resources.

This patch migrates all resources expect for floatingips and uplinking
the router.

This patch also makes some modifications to the plugin code to make migating
security groups especially the default security group and rules that
users have added possible.

Change-Id: Id79c880317bfbb45c4edad7cdb1e95a6c8dc21e6
2016-06-01 09:40:02 -07:00
Abhishek Raut
f70a8c4b8c [L2-gateway]: Fix l2gw plugin due to networking-l2gw changes
Change: Ib56ee8bfd182c031e468c503acb0cd75daea8c40 broke vmware-nsx
L2 gateway plugin for master and mitaka release. Due to this the
l2 gateway plugin for vmware-nsx would not load.

This patch makes the required changes in vmware-nsx to load l2gw
plugin.
This patch also adds a README file to include steps to bring up
L2 gateway plugin with devstack.

Closes-Bug: #1573327
Change-Id: I433c7f51df80ff6ea4250e38c981ffb363cf1b17
2016-04-09 02:44:36 -07:00
Adit Sarfaty
6fbf7ff64c NSX|V3 add qos support for ports
Add support for the qos service in NSX|V3, including:
- Attach/Detach qos policy to a new or updated port
- Allow qos configuration on ports with internal networks only
- Update the switch profile with the BW limitations and tags
  through the qos notification driver
- Add a new mapping db table to link the policy id and the
  nsx-v3 switch profile id

For this to work, the following configuration should appear under the 'qos' section in the neutron.conf:
notification_drivers = vmware_nsxv3_message_queue

Change-Id: I4016de756cebe0032e61d3c2a5250527e44b49e4
2016-04-20 09:11:41 +03:00
Abhishek Raut
5f1a62a0f1 Remove vmware-nsx's static example configuration file
This patch is a follow up to the auto generate config file patch[1]
which removes the static example nsx.ini file from the repo as
it is now redundant.

[1]: https://review.openstack.org/#/c/303673/

Depends-On: Iff4ea37b52616295b262ead53947acb5b0cd9cd7

Change-Id: I61ee6fe873cfeac9dfe6d9eb7b0f90dd7c251d51
Partial-bug: #1568215
2016-04-07 04:36:14 -07:00
Abhishek Raut
6c1d841ff3 Automatically generate vmware-nsx configuration files
This patch adds support to automatically generate config files
for vmware-nsx repo using oslo config generator[1] for all
VMware plugins.
Tox can be used to generate a sample config file using the
following command:
    tox -e genconfig
This will generate a config file "nsx.ini.sample" under
vmware-nsx/etc/ folder.

This patch also modifies devstack scripts to use the
auto-generated config files and adds more information to help
texts in config modules.

[1] http://docs.openstack.org/developer/oslo.config/generator.html

Change-Id: Iff4ea37b52616295b262ead53947acb5b0cd9cd7
Partial-Bug: #1568215
2016-04-13 07:24:06 +00:00
Adit Sarfaty
24a84004ff NSX|V add qos support for networks
Add support for the qos service in NSX|V, including:
- Attach/Detach qos policy to a new or updated network
- Allow qos configuration on a backend network only,
  and only if use_dvs_features is True
- Update the bw limitations on the edge through the dvs
- Update the networks bw limitations when a policy or rule changes
  through the QoS notification driver

Change-Id: Icee25b59e8e0f3c1c093077b631250a908e127c1
2016-04-06 14:51:57 +03:00
Akihiro Motoki
b27265cc2c Update translation setup
Follow new infra setup for translations, see spec
http://specs.openstack.org/openstack-infra/infra-specs/specs/translation_setup.html
for full details.

This basically renames
vmware-nsx/locale/vmware-nsx.pot to
vmware_nsx/locale/vmware_nsx.pot. For this we need to update
setup.cfg.

Update also domain name in _i18n.py.

Let's remove the po and pot files in the outdated paths.
The updated scripts work without them. So, we can just
delete the files and once the infra script runs,
an updated pot file together with translations
will be imported automatically.

Change-Id: Id4bade9ffd23c57153b415514c82b384fd0977aa
2016-01-29 07:15:35 +09:00
Alex Kang
00c98dce02 init release of vmware-nsx tempest tests in tempest external plugin
installation procedure & tech-notes at vmware_nsx_tempest/README.rst
With this plugin method, vmware_nsx_tempest tests can be treated as
tempest tests and executed under tempest environment.

Fix nsxv_client to support multiple transport zones.

Change-Id: Id103c0ce03d75749fe6295108db48493f565b05a
Implements:  blueprint vmware-nsx-tempest-plugin
2016-01-21 10:02:00 -08:00
Boden R
70fa532032 Move python_nsxadmin out of a top-level namespace
It is not a good idea to have a top-level "tools" namespace, this
name is too generic and already taken in PyPi (see
https://pypi.python.org/pypi/tools).

This patch moves python_nsxadmin to the vmware_nsx.tools namespace,
adjusting all imports and making sure setup.cfg is adapted
accordingly.

Change-Id: I75922db2010194fe59db424cc4615c7ba57c1b81
2015-12-17 15:34:45 -07:00
Akash Gangil
874b1127a9 Install the tools folder on vmware_nsx install
Previously we have tools/python_nsxadmin folder get added
to /usr/local/lib/python2.7/dist-packages, however this didn't
capture the __init__.py file in tools folder. The __init__.py
is needed for any pakcage to be imported without that

import tools.python_nsxadmin would fail, since python won't recognize
tools as a module.

Original intention to have tools/python_nsxadmin was towards having
python_nsxadmin in the dist-packages instead of tools. But haven't yet
figured out how to do that in setuptools (setup.cfg)

Change-Id: I3641235e462866ccb85b7ada625f8ccaa282e1ba
2015-12-04 08:02:46 -08:00
Akash Gangil
72d72623a9 Admin util should work from any dir
It wasn't working because of two reasons:
1. The packages filed in setup.cfg takes a directory name.
so specifying tools.python_nsxadmin.admin didn't put the py files
in /usr/local/lib/python2.7/dist-packages when we pip installed
vmware-nsx package. (sudo pip install .). So changing it to tools
installs all the code in tools including python_nsxadmin there. Read
2 to know why we need this.

2. To enable admin utility to dynamically pick up any hooks that users
might add we use the importlib module. The bug was here, as the path was
absolute tools/python_nsxadmin/.... So when we executed it from other
diretory those modules were not imported. So I changed that to relative
path. Though, over here there could be a case where the hooks location
directory path contains a '-' / dash, which will cause it to fail.

>>> import
>>> home.gangil.t1-review.e_nsx.tools.python_nsxadmin.admin.plugins.nsxv.resources.edges

  File "<stdin>", line 1

    import
home.gangil.t1-review.vmware_nsx.tools.python_nsxadmin.admin.plugins.nsxv.resources.edges

                         ^

SyntaxError: invalid syntax

So we install the tools code using setup.cfg and then just import
resources from there.

Now it works from any directory.

Change-Id: Idc414fabc769d0503974e8f77b84d32008b3c08a
2015-12-02 07:10:00 -08:00
Gary Kotton
6b91e5f42f Fix translation file names
It should have been in the directory vmware-nsx and not
vmware_nsx.

Change-Id: I40fd8dc1de15da367bacde0be019a4a04385b448
2015-11-29 23:55:15 -08:00
Gary Kotton
0e9bb23849 Setup for translation
To start translation, we need to initially import the
translation file - and place it at the proper place so that
the usual CI scripts can handle it.

The proper place is for all python projects
$PROJECT/locale/$PROJECT.pot - see setup.cfg.

Further imports will be done by the OpenStack Proposal bot.

Setup also setup.cfg with the usual babel commands and add the default
babel.cfg file.

Change-Id: I2c0350e15c68bcae2a0611dade5f5a0705a9387d
2015-11-29 03:13:04 -08:00
Shih-Hao Li
09d19bb138 Divide vmware_nsx/plugins into plugin-specific subdirectories
This patch will create:
vmware_nsx/plugins/dvs for DVS specific files
vmware_nsx/plugins/nsx_mh for MH specific files
vmware_nsx/plugins/nsx_v for nsx_v specific files
vmware_nsx/plugins/nsx_v3 for nsx_v3 specific files

also move vmware_nsx/vsphere/ to vmware_nsx/plugins/nsx_v/vsphere/.

This is part of new vmware_nsx directory structure proposed in
https://goo.gl/GdWXyH.

Change-Id: I00ee12da2eea0add988bae3d4f3e12940ea829bb
2015-09-16 16:14:47 -07:00
Shih-Hao Li
453994f57e Divide vmware_nsx/services into plugin-specific subdirectories
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
2015-09-15 15:53:58 -07:00
Shih-Hao Li
d8eeda9baf Move vmware_nsx/neutron/plugins/vmware to vmware_nsx
This is part of new vmware_nsx directory structure proposed in
https://goo.gl/GdWXyH.

Change-Id: I60d6ef62eb724df71dfda90137e00f107e220971
2015-09-14 18:51:57 -07:00
Shih-Hao Li
128996f3f9 Move vmware_nsx/neutron/services to vmware_nsx/services
This is part of new vmware_nsx directory structure proposed in
https://goo.gl/GdWXyH.

Change-Id: I9207851bd1db3c005efa6880ca717058fde7707d
2015-09-14 16:59:23 -07:00
Shih-Hao Li
7203f2c671 Move vmware_nsx/neutron/db to vmware_nsx/db
This is part of new vmware_nsx directory structure proposed in
https://goo.gl/GdWXyH.

Change-Id: I50468e8ecf81a636ac6a0f195c75b4bef25423b4
2015-09-14 16:45:18 -07:00
Jenkins
c198990c86 Merge "Update references for vmware plugin config (etc part)" 2015-09-11 10:48:29 +00:00
Shih-Hao Li
9641d4987e Update references for vmware plugin config (etc part)
Because vmware plugin config nsx.ini is now moved
from neutron:/etc/neutron/plugins/vmware/ to vmware-nsx:/etc/,
we need to update associated references in setup.cfg.

The new path to nsx.ini is defined in Q_PLUGIN_SRC_CONF_PATH.

This is the first part of vmware plugin decomposition
(etc, extensions, and database).

Partial-bug: #1483453
Depends-On: I3caf25ce91ff425d815f35ed3efd599a572d595b
Change-Id: I326dc1eaf549ac631caf71e9adc3c7a218a7723f
2015-09-10 11:35:15 -07:00
Salvatore Orlando
d9ec9ab7d1 Remove version attribute from setup.cfg
According to the new release process, it's the git tag now
that determines the release.

Change-Id: I126c0e4fabce4407fa1543623a3fb7d79ddf6758
2015-09-09 15:48:10 -07:00
Salvatore Orlando
5a66d17fc7 Bump version to 7.0.0
This will align vmware-nsx release scheme with openstack/neutron

Change-Id: I79de0d1a57e506d41d262f0c41a428efb1fed31e
2015-09-07 02:27:28 -07:00
Amey Bhide
abd9b627ff Adds CRD operations for NSX Qos Service Plugin
This is an initial patch; only adds support for:
neutron qos-policy-create
neutron qos-policy-show
neutron qos-policy-list
neutron qos-policy-delete

Change-Id: I01572452bd72834b73b6e4b542d70400540d1b7c
2015-08-21 00:03:09 +00:00
Abhishek Raut
865fccf9ab NSX: Move DB models as part of core vendor decomposition
As part of core vendor decomposition, this patch moves the models
from neutron repository to vmware-nsx repository.

Change-Id: I99f358af73fd80246aea0c40ecbeb8ce84f5453d
Depends-On: I5d5b0acf34417889c2a449f22b92fd105697d90d
Partial-bug: #1483453
2015-08-18 04:34:42 -07:00
Abhishek Raut
10fa4d2869 Initialize alembic branches for vmware-nsx repo
Add alembic migration branch for vmware-nsx repo. Scripts for new
tables owned by vmware-nsx must now be added here.

Partially-Implements: blueprint online-schema-migrations

Change-Id: Ia3b805bb7a4583c96c61f322a45a91db0d67cc9c
2015-08-13 07:55:46 -07:00
Abhishek Raut
e760c30a6f Add support for L2 gateway service plugin
This patch adds the service plugin module which integrates the
networking-l2gw APIs with NSX. This module is the common framework
for the Layer 2 gateway support for NSX-T and NSX-V backends.
The corresponding backend drivers will be controlled via the config
parameter introduced here. This parameter will be configured with the
class path to the backend driver. Backend drivers will be responsible
for adding backend-specific logic. The corresponding backend drivers
for NSX-T and NSX-V will be addressed in separate follow up patches.

Change-Id: If997df17a1379a3775d29c1377f0f4e1ce9be328
Partial-bug: #1481087
2015-08-06 12:15:48 -07:00
Ihar Hrachyshka
f1e5826ecb stop using namespace packages
There is no reason to do it for the plugin since it does not split
namespace into pieces. By doing it, we avoid the need to generate and
ship .pth file with the package.

Change-Id: Ia6e676e4b0817678c289dda8d021a27d9875027a
2015-07-22 14:27:32 +02:00
Salvatore Orlando
c6e1736603 Add check-nsx-config to console scripts
This script is moving from openstack/neutron to stackforge/vmware-nsx,
and should therefore be installed with the latter package.

Change-Id: If1f1a3b55d5e68658f63a759dbad7e616ed14eca
2015-03-03 12:56:45 -08:00
linb
2eb68aa2c3 Exclusive Router Support
Exclusive router is the router who exclusivly occupies one edge.
You can create an exclusive router with "--router_type exclusive"
For distributed router, it would always be exclusive router.

Change-Id: Ice8cbc20912bc9becc5a82a646c76b9153418189
DocImapct:
2015-02-26 13:46:02 +08:00
Gary Kotton
3a96a43c53 VMware: fix gitreview
Fix the correct repo

Change-Id: I1deed42fb003f06bc97634e3908c6d82c8620e85
2014-12-21 23:24:18 -08:00
Moshe Levi
6099eb6970 Remove mlnx plugin
Mellanox plugin was marked deprecated in Juno.
This commit actually removes the code for Kilo.

Mellanox recommends users to use mlnx or SR-IOV MD

DocImpact
Closes-Bug: #1386539

Change-Id: I7d109bf62f71b2996aef4e0002f447ca3439a5cf
Signed-off-by: Moshe Levi <moshele@mellanox.com>
2014-12-15 16:04:23 +02:00
Carl Baldwin
b0cdbc84ab Move classes out of l3_agent.py
The file l3_agent.py has become too large.  This patch is a simple
pure refactor to move some of the functionality in to other files
where things aren't too tangled up.  There is no functional change
with this patch and I avoided gratuitous other fixups in this patch in
order to make it easier to review.

I plan to follow up on the new l3_dvr and l3_agent_router modules with
more restructuring in the near future.

Partially-Implements: bp restructure-l3-agent

Change-Id: I3529fe4146c50c940f41eb26d0b5efc5870b3af9
2014-12-10 15:19:28 -07:00
Jenkins
dfed086b35 Merge "Remove Python 2.6 classifier" 2014-11-27 03:42:12 +00:00
Julien Danjou
c2b41870ee Remove Python 2.6 classifier
Neutron does not support Python 2.6 anymore starting with Kilo and might
not work correctly with it, so remove the classifier.

Change-Id: Ib7cddecdbec2c5152fe526bada6587129cf63ffd
2014-11-25 16:59:34 +01:00
YAMAMOTO Takashi
7f0bcb3af0 Remove ryu plugin
Ryu plugin was marked deprecated in Juno.
This commit actually removes the code for Kilo.

We (Ryu team) recommend users to migrate to ofagent, on which
we aim to concentrate our development resources by this deprecation.

DocImpact
Partial-Bug: #1391714
Change-Id: I4916ce3c246730dc00516404471f8a1a008e27b6
2014-11-25 06:16:14 +00:00
Jenkins
d2fe95c872 Merge "Add rootwrap filters for ofagent" 2014-11-21 00:13:44 +00:00
YAMAMOTO Takashi
752af596ac Add rootwrap filters for ofagent
neutron-ofagent-agent currently relies on the fact the rootwrap
filters for neutron-openvswitch-agent covers what it needs.
as they are independent agents and their requirements are
getting more different, introduce a dedicated rootwrap filters
for ofagent.

Closes-Bug: #1392560
Change-Id: Iba205260a238431432caf8d9697268ceeef85eca
2014-11-14 02:20:59 +00:00
Cedric Brandily
ec5e49e61a Remove openvswitch core plugin entry point
The openvswitch core plugin has been removed but not its associated
"neutron.core_plugins" entry point. This change removes it from
setup.cfg.

Change-Id: I79f7c334cdeb0f4d0d68743734f69c0ec8523467
Related-Bug: #1323729
Closes-Bug: #1391326
2014-11-10 23:05:04 +01:00