Commit Graph

20 Commits

Author SHA1 Message Date
Adit Sarfaty f6b0643782 NSX|V+V3: Preparations for Octavia support
Create internal drivers for each object that will use dictionaries
instead of objects, and will use a generic fail/success notifiers.
The LBaaS nsx-v/v3 drivers will translate the objects to dictionaries
and use the LBaaS callbacks for successful_completion and failed_completion.
Later we can add drivers for Octavia that will use the same internal
drivers.

Change-Id: I5f99f979bd5333ccfc781217379d217d611cb015
2018-06-06 09:17:51 +03:00
Kobi Samoray 35c8968b66 NSXv: Handle listener failures on backend
Backend doesn't produce NotFound exception when deleting a virtual server
or an application profile which doesn't exist.
Instead it produces RequestBad exception which should be caught and handled.

Change-Id: I9f3e7e55ddfea470c69c46b95dd0ac64136ecf97
2018-05-27 16:43:17 +03:00
Kobi Samoray a3b33ee499 NSXv: Handle LBaaSv2 listener inconsistency
When backend is inconsistent with Neutron DB, resume LB listener deletion.

Change-Id: Iedf65d17468b66cf01427fc16394201d83084b2f
2017-12-12 13:53:57 +02:00
Adit Sarfaty 03548e289b NSX|v: Fix LBaaS session persistence
If the pool persistence type was SOURCE_IP, the ackend was not updated.

Change-Id: Ie4a5f88af1263d44cee3627167bc49fd729ff418
2017-06-19 08:07:40 +00:00
Adit Sarfaty 78932d045a NSX|V: Fix LBaaS session persistence without cookie name
When the cookie name is missing, we must use a default one or else
the backend will fail.

Change-Id: I6e37a02d8e8f26366f72d5f89948ec6e4e131681
2017-06-01 15:05:30 +00:00
Tong Liu 315c135431 LBaaS: Share lb_const module for nsxv and nsxv3
Since nsxv and nsxv3 LBaaS driver use most of the same constant
definitions, move the lb_const module under base lbaas directory
to share between nsxv and nsxv3 driver.

Change-Id: I314939675ebbed8a0bd571514c0075f1cf6af999
2017-05-28 00:58:19 +00:00
Tong Liu 931c5a89f1 LBaaS: Share base_mgr between nsxv and nsxv3
In vmware-nsx lbaas service folder, the base_mgr module can be
shared between nsxv and nsxv3. Thus move it under lbaas folder so
it can be use by nsxv3 as well. To have minimum impact on nsxv
side, rename base to LoadbalancerBaseManager and subclass
EdgeLoadbalancerBaseManager from it.

Also, this patch fixes a few pep8 error.

Change-Id: I994d39a5dbdb38e1b7805b2eec97e8ef7719f556
2017-05-23 04:27:42 -07:00
Adit Sarfaty 4c49c9c390 NSX|v: Fix LBaaS session persistence
Session persistense of the pool should be configured in the relevant
listener backend application profile.
This should happen both when the user configures the pool before the listener,
and when the user configured the listener first.
It should also be updated/deleted if the pool definition is changed.

Change-Id: I727c83056af861bdd18e7e4bcc2929c47ae78293
2017-05-22 10:53:05 +03:00
Gary Kotton 6228a06399 Drop log translations
Log messages are no longer being translated. This removes all use of
the _LE, _LI, and _LW translation markers to simplify logging and to
avoid confusion with new contributions.

See:
http://lists.openstack.org/pipermail/openstack-i18n/2016-November/002574.html
http://lists.openstack.org/pipermail/openstack-dev/2017-March/113365.html

Change-Id: I9d37ae28a3fecbe910e60dc7f22e229a7b65940c
2017-03-26 05:09:02 -07:00
Adit Sarfaty 2256459aa1 NSX-v| LBAAS L7 support
Supporting L7 policies and rules in LBAAS-v2
Including a new db table nsxv_lbaas_l7policy_bindings
for mapping between the lbaas policy ID and the nsx application rules.

Depends-on: I3b14d107dbe0a72a6e24239f06bd6c3ac597cfbb
Change-Id: Ic760be8956cea00b972b5f11f6acff294630892d
2017-02-07 11:33:17 +02:00
Kobi Samoray ccdf5f8e49 NSXv: LBaaS enable acceleration for TCP listener
When TCP listener protocol is TCP, enable acceleration on NSXv LB.

Change-Id: I9cdfb08a5a7b5aa0d95d4513f2f5328eaa049137
2016-12-18 16:15:20 +02:00
Kobi Samoray 4383b9d391 NSXv: LBaaSv2 shared pools
Support shared pool fuctionality of LBaaSv2 for NSXv driver.

Change-Id: If3368b341658fe0f6073d19e6d2ca2eadb2222d3
2016-08-22 10:09:30 +03:00
Boden R 28c14f567e Update gate logic
As bug 1568706 uncovered, we were using zuul-cloner
in our gate jobs; this was preventing our translation from
syncing.

After digging into this issue a number of changes in this
associated logic were found to not be in sync with neutron.
This patch updates out tox/tools logic to follow that of neutron.
In addition this patch fixes any pylint checks that were failing to
make pep8 pass.

IMPORTANT:
Please review closely, not only to the tools/tox updates but also
to the ignored pylint checks in the code. We only want to disable
checks where appropriate.

Change-Id: I6c5fee3ca3073ad079eac1636cc3b9ec45926a68
Closes-Bug: #1568706
2016-07-12 09:05:22 -06:00
Aaron Rosen c7ac488a5f python3: make unit tests pass
now all tests pass with tox -epy34

Depends-On: I5894485e55c04a8ca69825128798227714550c9d

Change-Id: I719a6cddcbe7f2b7a15bcd35375075affc2513b8
2016-07-07 14:42:35 -07:00
Kobi Samoray 512ed7e72a Add missing translation to LBaaSv2 listener
Protocol translation was missing for application profile template field.

Change-Id: If42773b79814e16b3e7820c580cfce5192c5025c
2016-03-08 07:00:00 +00:00
Kobi Samoray 42342b3cfa Translate LBaaS TERMINATED_HTTPS to NSX equivalent
When LBaaS specifies protocol as TERMINATED_HTTPS, NSX Edge should be
configured with protocol-type=https.
Also, as Edge supports HTTPS without termination as well, we do not need
to use TCP as protocol type for HTTPS as well.

Change-Id: I16ae69537706862634e1f1bda3be6ae0aeb052d3
2016-03-02 09:02:12 +00:00
Kobi Samoray 34475f4fc4 Reorganize locking for NSXv
Do the following for NSXv locking:
- Drop external=True from get_lock() calls: this is redundant as
 locking wrapper appends this anyway.
- Add locking for distributed router module.
- Use edge-id as lock id when locking various edge attributes.
- Drop the use of lock_file_prefix as it is not supported by
 distributed locking.

Change-Id: I13115f65a89d5fae507f87f7fb1ac096089e385a
2016-02-18 11:35:43 +02:00
Gary Kotton a67d0ad9bd Use the correct _ from vmware_nsx._i18n file
Ensure that the correct _ method is used.

Change-Id: I7ff4cb24bbde47e480dc6dd410b122693bd63ad3
2015-12-06 07:04:17 -08:00
Gary Kotton 4afa13c3c4 Switch to internal _i18n pattern, as per oslo_i18n guidelines
- Guidelines referenced from:
  http://docs.openstack.org/developer/oslo.i18n/usage.html

Change-Id: I938919958525b2db0c8a517b951a23f974a7762e
2015-12-02 06:59:23 -08:00
Kobi Samoray 9b6d3b1b47 LBaaSv2 driver
Implement LBaaSv2 driver for NSXv Edge appliance load balancer.
Includes TLS support for Edge appliance, and certificate management
For SSL termination.

Change-Id: I60093c0186cce3e99fb26e1fc6bd5175cbd1a560
2015-10-27 07:42:47 +02:00