Commit Graph

17 Commits (8ae82a47e1928f99dd32f08785f876b3d1d9c3cb)

Author SHA1 Message Date
Michael Johnson fc9163fce9 Fix member API handling of None/null updates
The current member API does not properly handle clearing/reseting
values on update. Some integer only fields, such as weight,
will accept null, but will store the value as "None". These will
will cause failures updating the amphora configuration.

This patch corrects this to appropriately handle None/null updates
to the member parameters.

Change-Id: I41038b1d8d882efa19d991c07dca47f06dcbb5ca
Story: 2005374
Task: 33523
4 years ago
wangxiyuan d62189366c Tags support for lb resources
Add tags support for all lb related resources. It includes:
load balancer, listener, member, pool, L7rule, L7policy
and health-monitor

Change-Id: Ib33a002b3b59820db29897454e9d4303c73310b2
Story: 2003890
Task: 26757
5 years ago
Adam Harwell e819e4521a Allow members to be set as "backup"
Setting a member as "backup" means no traffic will be sent to it unless
all non-backup members are marked as down.

This should be essentially the same in every backend provider AFAIU.

This was requested by at least one operator (me) and was agreed during
the PTG to add value.

Story: 2001777
Task: 12483
Change-Id: I953abe71a0988da78efc6b3961f7518c81c2a06d
5 years ago
Adam Harwell 45e39fa216 Allow PUT to /pools/<id>/members to batch update members
Also fix an incorrect exposure of /healthmonitors on /pools and a badly
ordered flow for member updates.

Change-Id: Id256ea94293519b75983f7a44945ac9bbbf25cd1
Implements: blueprint member-put-list
6 years ago
Jude Cross f5ea8ac085 Add statistics to V2 API
This patch implements stats to the Octavia API.

It also corrects the path for load balancer status.

Change-Id: I9405857ab4f62664daca13562cc07ee8e1a519c7
Co-Authored-By: Michael Johnson <>
6 years ago
Jude Cross ee08aaff56 Add status tree to V2 API
This patch implements status tree to the Octavia API.

Change-Id: I92a5bb7d1814c79e7d03c75916b5324f1497f2e4
Co-Authored-By: German Eichberger <>
Co-Authored-By: Michael Johnson <>
6 years ago
Jude Cross 487750a877 Add filtering and field selection to API
This patch implements API filtering based off of
query parameters passed to the Octavia API. Additonally
this patch implements field selection for the Octavia

Change-Id: I9fe26abe37f464d9c028b8c476485007143d3b5c
6 years ago
Adam Harwell 8fb7c17572 Pool name/desc needs to be "" when empty, not null
Switch to catching and filling these at the base types layer.

Change-Id: I0ade22b9e9ec0cfa456f0fe263d1cdd726d6a78e
6 years ago
Jenkins da2f3d4a7c Merge "Implement sorting and pagination for octavia" 6 years ago
Jenkins 73795fe26a Merge "Add support for single-create for APIv2" 6 years ago
cheng 594a5935e8 Add monitor address and port to pool member
Closes-Bug: #1541579

Change-Id: I8b49726bc2b7fbc37e1cd203a405f4bcbd0b7125
Signed-off-by: cheng <>
6 years ago
Carlos D. Garza 9bfa58af9f Implement sorting and pagination for octavia
Use glance sorting and pagination from inside the SQLAlchemy query
to handle the sorting and pagination for octavia.

Change-Id: I5489c5c89691b8871e32caf3f85ab1978bc3618c
Co-Authored-By: Adam Harwell <>
Co-Authored-By: Lubosz "diltram" Kosnik <>
Closes-Bug: #1596628
Closes-Bug: #1596625
6 years ago
Adam Harwell fb0da76c27 Add support for single-create for APIv2
Still need to fix the entry-points for each individual type, but that
wasn't even in the original spec. Not sure if we even want that.

I think this may not do things EXACTLY how the old one did it, we'll
need to look into whether it matters, as we never published docs for it
and I don't think it ever actually worked properly in neutron-lbaas.

Also closing a few bugs that are only peripherally related, because we
(possibly me) forgot to tag them on the individual CRs, but I'm
considering them closed as of this patch. See below for my reasoning on
each individual bug, and feel free to post counter-arguments.

For #1673546 (single-call create): This is the obvious one!
For #1673499 (lb return pool object): Rolled into this patch as a matter
of course, abandoned the original fix as it is no longer relevant.
For #1544214 (root tags): All existing resources now have root tags. Any
new ones will also need root tags, but I would consider this bug closed.
For #1596636 (tenant facing API): Every object is now creatable via the
v2 API, so I would consider this to be complete. Quotas and some
additional work is being finished, but it's not necessary for this IMO.
For #1665446 (hm id): This was resolved in the HM patch, I just forgot
to close it, and including it here will ensure it is release-tracked.
For #1685789 (listener quota): Just shoving it in here as I do the
single-create quotas.
For #1685827 (hm quota): Same as listener quota.

Closes-Bug: #1673546
Closes-Bug: #1673499
Closes-Bug: #1544214
Closes-Bug: #1596636
Closes-Bug: #1665446
Closes-Bug: #1685789
Closes-Bug: #1685827

Depends-On: I3d86482a2999197a60a81d42afc5ef7a6e71e313

Change-Id: I4ff03593e1cfd8dca00a13c0550d6cf95b93d746
6 years ago
Adam Harwell ed8867692f Purge more tenant_id references that I missed
Change-Id: I3adfeec5d4512bba9e7a640653346addb5eb3d19
6 years ago
Adam Harwell 7f6c1b5016 project_id should remain in the response for v2 objects
Also, finally completely remove tenant_id!

Change-Id: I435ace4d2bffdf323238b57499eba39e03de90f3
6 years ago
Sindhu Devale fd5c800ff9 Align Octavia API to n-lbaasv2 for L7Rules
The endpoint are as follows:

- /v2.0/lbaas/l7policies/
- /v2.0/l7policies/

GET all - /<policy-id>/l7rules/
GET one - /<policy-id>/l7rules/<rule-id>
POST - /<policy-id>/l7rules/ {<body>}
PUT - /<policy-id>/l7rules/<rule-id> {<body>}
DELETE - /<policy-id>/l7rules/<rule-id>

Partially Closes-Bug: #1616701
Co-Authored-By: Shashank Kumar Shankar <>
Co-Authored-By: Adam Harwell <>

Change-Id: I247988a2ea19a92f827756504a0ee46679bbc53b
6 years ago
Sindhu Devale 8b2f89b87a Introduce Octavia v2 API for Members
This patch aligns Octavia v2 API for members with

GET all - /v2.0/lbaas/pools/<pool-id>/members
GET one - /v2.0/lbaas/pools/<pool-id>/members/<member-id>
POST - /v2.0/lbaas/pools/<pool-id>/members {<body>}
PUT - /v2.0/lbaas/pools/<pool-id>/members/<member-id> {<body>}
DELETE - /v2.0/lbaas/pools/<pool-id>/members/<member-id>

Also fixes a few bugs from previous API commits and refactors
some test code / adds missing tests.

Note: This changes the default operating_status of Members from OFFLINE
to NO_MONITOR in the *v1* API, if the pool has no Health Monitor.
I see this as a bug fix.

Co-Authored-By: Nakul Dahiwade <>
Co-Authored-By: Adam Harwell <>

Partially-Implements: #1616642
Closes-Bug: #1678330
Closes-Bug: #1678336
Closes-Bug: #1678337
Change-Id: I0e15ab70afd5bbbc8b94db0dc9e64f13146003e8
6 years ago