Unable to associate FIP with Tungstenfabric Neutron backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
In Progress
|
Undecided
|
Unassigned |
Bug Description
Reproduced issue on the environment with TF Neutron backend and enabled 'enable_
It is possible to remove all FIPs from port via CLI at the TF environment. In case of enabled topology check it leads to error during FIP associate and disassociate operations.
Sample of traceback:
2023-01-12 11:23:41.841408 File "/var/lib/
, in __init__
2023-01-12 11:23:41.841412 targets = api.neutron.
2023-01-12 11:23:41.841415 File "/var/lib/
t_list_by_instance
2023-01-12 11:23:41.841419 return FloatingIpManag
2023-01-12 11:23:41.841425 File "/var/lib/
stance
2023-01-12 11:23:41.841429 reachable_subnets = self._get_
2023-01-12 11:23:41.841433 File "/var/lib/
nets
2023-01-12 11:23:41.841436 reachable_subnets = set(p.fixed_
2023-01-12 11:23:41.841440 File "/var/lib/
2023-01-12 11:23:41.841444 reachable_subnets = set(p.fixed_
2023-01-12 11:23:41.841446 IndexError: list index out of range
It leads to "Error occured" popup alert at the dashboard and reload of Instances page.
It would be great to catch this error and provide user more reasonable message
Changed in horizon: | |
status: | New → In Progress |
Which operation raises IndexError?
According to the bug description, it seems [1] raises an exception. fip_topology_ check == False).
I think "[0]" operation is the only operation which can raise IndexError.
However, we have the same operation at [2] (for a case where enable_
The proposed patch https:/ /review. opendev. org/c/openstack /horizon/ +/873623 tries to add an error message which suggests enable_ fip_topology_ check == False, but I wonder the same error can happen.
Could your provide more detail context when this error happens?
Especially I would like to know the contents of "router_ports".
I wonder some port does not have an IP addresses (because this is the only case I know where fixed_ips attribute is empty).
[1] https:/ /github. com/openstack/ horizon/ blob/5663e0865b 458fc67005049e6 8bc4ef73786e495 /openstack_ dashboard/ api/neutron. py#L806- L808 /github. com/openstack/ horizon/ blob/5663e0865b 458fc67005049e6 8bc4ef73786e495 /openstack_ dashboard/ api/neutron. py#L792
[2] https:/