Support for relax_scale_validation for LBS is postponed to NSX 3.0.0.
Updated related version check for MP and Policy in nsxlib. Previous unit
test is still working after this change. Thus no additional UT added.
Change-Id: I26ce4b1af9e9b6c19a3245675a3db2c027361acb
Use host switch to get overlay transport zone from 3.0.0.
Get from tn['host_switch_spec']['host_switches'][0]
['transport_zone_endpoints'] since 3.0.0.
Get from tn['transport_zone_endpoints'] before 3.0.0.
Change-Id: I26b5756fe28fcaff7541002623dc982eb2dbee70
Starting from NSX version 2.5.1, LBService will have a new property
'relax_scale_validation'. If this flag is set to true, scale
validation for vs, pool, pool member and rule will be relaxed for lbs
Checks are added to prevent including this flag in API calls on older
versions of NSX backend. feature_supported for this new flag is added
in NsxLib for MP. For Policy, ResourceDef and LBServiceDef are
responsible for the checks.
For MP, checks are added in _build_args() in load_balancer.py >
Service class so that the new flag is only passed when NSX meets
the version requirement.
For Policy, ResourceDef now has a new attribute nsx_version and two
new methods: _set_attr_if_supported() and _attr_supported().
get_obj_dict() will use them to check if a certain attr meets
version requirement, and only include it in body if true.
Change-Id: I4f9c3bfd7995bca85a51a6971fc9d784e574301a
Change number of max allowed host routes to 26.
option121 is set as 27, but there's 1 host route set by default.
Change-Id: I4c0c9b8fec3ac44ed98fc66d2b8499baac7d65a0
Signed-off-by: Michal Kelner Mishali <mkelnermishal@vmware.com>
Early versions of policy APIs do not support partial PATCH update
for most objects.
This change alters policy api to fetch a resource for update call,
and perform update based on existing object. This will only happen
for backend versions prior to 2.6.0
Change-Id: Ic9bc657d17a84121a32cd1645cc6cb03e49d241f
Add a resource for managing create/list/delete
operation on Bridge Endpoint Profiles
Also, switch Bridge Endpoints to leverage Bridge
Endpoint Profiles rather than Bridge Clusters.
Change-Id: I6540937b7f6584a2e28e7a62a7b0503db9d8e8f0
Add a parameter that sets the max allowed static routes
per subnet to be set.
Change-Id: Ifa52a1cbb0ad7c0087612a9d349cd0581fa43a12
Signed-off-by: Michal Kelner Mishali <mkelnermishal@vmware.com>
Adding parameter that notes limit on number of allowed address
pairs per port, excluding fixed IP.
Change-Id: I1ce3fe17b089967fcab26d5466c65c317f58bc74
Signed-off-by: Michal Kelner Mishali <mkelnermishal@vmware.com>
The platform is adding resiliency on T1 using LR HA relocation
The goal is to have it enabled by default on Neutron created
routers and have a admin-util to enable on existing ones.
Change-Id: I3d9ec704d42a79f5f9f858d503416025e8664ad4
Signed-off-by: Michal Kelner Mishali <mkelnermishal@vmware.com>
This will be used in a single-tier topology,
where only one T1 is configured (like the T0
in a two-tier topology).
Change-Id: I9028837ff204554b27d92d4dceececc2f5144b3d
Adding a section for handling API call to enable/disable
firewall on logical router.
Change-Id: I5527f8316445e27ba0f96f71c089c27e2bd8bbb0
Signed-off-by: Michal Kelner Mishali <mkelnermishal@vmware.com>
To be used by a neutron plugin using the policy API
The version check of the policy manager will temporarily use the
nsx-manager api, until the backend implements it.
Change-Id: Ife5f47e0f41026d1da063001544123466d61274c
This patch add functions to retrieve overlay_tz id
from debug-info of T0 router. To be noted, a T0 router
will and will only has one DR associated with.
In the DR configuration, 'transportId' is either an
one-element list or a NoneType variable.
Change-Id: I1f1f58fbf1a9bd2dcddf75986a8a23621ebd06b1
Previously we used allocation pool for this feature. But it makes
it more readable to use FEATURE_ROUTER_ALLOCATION_PROFILE instead.
Change-Id: Iee6d3e0073ba6359190ce77ad662ad63f2ae1ff2
Recently, platform exposes new API to create LR with allocation
profile so that user can specify allocation pool for LoadBalancer.
Also update the feature support util since this feature is only
available on version 2.3 and after. This feature can be enabled
based on nsx version.
e.g. Create LR with LB SMALL allocation pool
allocation_pool = {
"allocation_pool_type": "LoadBalancerAllocationPool",
"allocation_size": "SMALL"}
create(..., allocation_pool=allocation_pool)
Change-Id: I55cd17a81b3ff6705345b170d15f26fc9a5b0f74
Support changes in backend for ICMP types and codes
while maintaining backwards compatibility.
Change-Id: I7478904b5549345d7e2227ee89836e0b9dbe9d11
Signed-off-by: Michal Kelner Mishali <mkelnermishal@vmware.com>
NSXT backend recently enforced POST FW rule API to have the
revision id in the request body. This patch added revision id
for both add_rule and add_rules method.
If the revision is not valid we will do a retry.
Change-Id: If343c6f256dda6bcbe300c10863df6cc6cfa4b3e
Adding flag ro mark the support of new NAAT rules actions in version
2.2, and adding validation for this field on create & update.
Change-Id: I4d99193caac6940911cc071016359a1361428967
In NSX 2.2 & up, there is a logical router advanced config of
an overlay transport-zone-id.
Also adding a router api to get the tier0 router overlay TZ to
be used here.
Change-Id: I3a447202785b7b6ac320ddbb6a3f2cdeac1f78aa
Rate limit is returned as a part of node/services/http response
In order to update one should:
1. GET the current configuration
2. PUT the updated configuration (the http response will be 202)
3. POST a restart action request (the http response will be 202)
Change-Id: I35a05f9810832e9a22ec9db43f167f13df0744a4
Adding support for trunk vlan for logical switches in NSX 2.2 and up
This flag can be used for guest vlan, and is mutual exclusive from
the vlan id.
Change-Id: I0d08a84df796c226678a27c29cdd1e637f356e72
Version 2.2 has a logging feature wher the NSX can log via the
X-NSX-EUSER header details of who the request was made for.
This feature will enable the plugin to determine whether or
not to send this header.
Change-Id: Ib87d5df2fbf5e15856511a50013ea47dbd4ca728
NSX 3.0.0 (version may change later) will support adding a vlan
router interface and not just overlay ones.
This patch adds a feature for this, so the plugin can check if this
is supported or not.
Change-Id: I86d79e5a14a326db5659bd7a746fefb9b44dbf46
Create/update a router port with a DHCP service UUID
This will be supported only if the nsx version is 2.0.0
or above.
Change-Id: I0843fd91e1631bec80ec19e9fa1edcc013523c28
The new NSX-V3 backend supports allocating specific IPs from a pool.
Adding relevant error codes for this.
Change-Id: Ic717023a41657e2de9200e38a3354ca76ee134f5
This patch adds a utility method to create complex expressions
for NSGroups in order to create a dynamic membership criteria
to match multiple tags.
Change-Id: I8a15db52e8df889af7fb4b73579873bc86bfa30d