Octavia v2 API Requesting a VIP address is not working
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
octavia |
Fix Released
|
Critical
|
Nir Magnezi |
Bug Description
When I create a new load balancer requesting an vip address from the subnet specified, I do not get the requested VIP address.
(octaviaclient) michjohn@
+------
| Field | Value |
+------
| Admin State Up | True |
| Created At | 2017-06-02T16:49:26 |
| Description | My description |
| Flavor | |
| ID | 94d8f3cb-
| Listeners | |
| Name | my lb |
| Operating Status | OFFLINE |
| Pools | |
| Project ID | 0abf90fddd82430
| Provider | octavia |
| Provisioning Status | PENDING_CREATE |
| VIP Address | 10.0.0.66 |
| VIP Network ID | 0f39a434-
| VIP Port ID | None |
| VIP Subnet ID | 8d80351a-
+------
(octaviaclient) michjohn@
+------
| Field | Value |
+------
| Admin State Up | True |
| Created At | 2017-06-02T16:49:26 |
| Description | My description |
| Flavor | |
| ID | 94d8f3cb-
| Listeners | |
| Name | my lb |
| Operating Status | ONLINE |
| Pools | |
| Project ID | 0abf90fddd82430
| Provider | octavia |
| Provisioning Status | ACTIVE |
| VIP Address | 10.0.0.13 |
| VIP Network ID | 0f39a434-
| VIP Port ID | 3ac614ba-
| VIP Subnet ID | 8d80351a-
+------
Querying the neutron database, 10.0.0.66 is available on the subnet requested.
Changed in octavia: | |
assignee: | nobody → Pradeep Kumar Singh (pradeep-singh-u) |
Changed in octavia: | |
status: | Triaged → In Progress |
Changed in octavia: | |
assignee: | Michael Johnson (johnsom) → Nir Magnezi (nmagnezi) |
Hello Michal,
I have analysed the issue, below are my findings.
When we call v1 apis via neutron, port is already provided to octavia, so octavia need not to do any thing[1].
But when we use V2 api and don't provide the port_id, then port is created in octavia[1]
Then in DB fixed IP of this port is assigned to vip.ip_address[2].
If my understanding is correct i will fix it by assigning the vip.ip_address to port during its creation.
[1]https:/ /github. com/openstack/ octavia/ blob/623eec6015 a73cc739a796bda 470f7a19a50c701 /octavia/ network/ drivers/ neutron/ allowed_ address_ pairs.py# L331 /github. com/openstack/ octavia/ blob/623eec6015 a73cc739a796bda 470f7a19a50c701 /octavia/ network/ drivers/ neutron/ base.py# L75
[2]https:/
Could you please confirm my understanding.