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
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
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
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
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
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
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
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
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
Implement LBaaSv2 driver for NSXv Edge appliance load balancer.
Includes TLS support for Edge appliance, and certificate management
For SSL termination.
Change-Id: I60093c0186cce3e99fb26e1fc6bd5175cbd1a560