[SRU] Cannot Create Port with Fixed IP Address
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| OpenStack Dashboard (Horizon) |
Fix Released
|
High
|
Akihiro Motoki | ||
| Ubuntu Cloud Archive |
Fix Released
|
Undecided
|
Unassigned | ||
| Ussuri |
New
|
Undecided
|
Unassigned | ||
| Victoria |
Fix Released
|
Undecided
|
Unassigned | ||
| Wallaby |
Fix Released
|
Undecided
|
Unassigned | ||
| Xena |
Fix Released
|
Undecided
|
Unassigned | ||
| horizon (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
| Focal |
New
|
Undecided
|
Unassigned | ||
| Groovy |
Fix Released
|
Undecided
|
Unassigned | ||
| Hirsute |
Fix Released
|
Undecided
|
Unassigned | ||
| Impish |
Fix Released
|
Undecided
|
Unassigned | ||
Bug Description
[Impact]
Fixes python 3.8 compatibility issue with port creation code.
[Test Plan]
* deploy openstack ussuri
* create a network port on horizon
* ensure creation successful
[Regression Potential]
No unexpected behaviour is anticipated from this patch since it is minor and does not impact any code outside of the feature that it fixes.
=======
With Ussuri on Ubuntu 20.04, I can create port with fixed IP address by CLI but I cannot do the same by Horizon GUI. I find some error like following on /var/log/
openstack_
By more inspection, I can find that horizon never send that create port request to neutron. So I think it is horizon problem. Is this expected result or is this horizon bug? Is this related to policy?
Following debug logs maybe related too.
[Wed Oct 21 17:48:06.123807 2020] [wsgi:error] [pid 3095280:tid 140002354386688] [remote 192.168.
[Wed Oct 21 17:48:06.125925 2020] [wsgi:error] [pid 3095280:tid 140002354386688] [remote 192.168.
[Wed Oct 21 17:48:06.126064 2020] [wsgi:error] [pid 3095280:tid 140002354386688] [remote 192.168.
Related branches
- Corey Bryant: Disapprove
-
Diff: 120 lines (+98/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/Fix-create-update_port-with-python3.patch (+90/-0)
debian/patches/series (+1/-0)
| Changed in horizon: | |
| importance: | Undecided → High |
| assignee: | nobody → Akihiro Motoki (amotoki) |
| tags: | added: victoria-backport-potential |
| Changed in horizon: | |
| status: | In Progress → Fix Released |
| Changed in horizon (Ubuntu Impish): | |
| status: | New → Fix Released |
| Changed in horizon (Ubuntu Hirsute): | |
| status: | New → Fix Released |
| Changed in horizon (Ubuntu Groovy): | |
| status: | New → Fix Released |
| description: | updated |
| summary: |
- Cannot Create Port with Fixed IP Address + [SRU] Cannot Create Port with Fixed IP Address |
I got the same error adding a port using horizon and was also able to create that port using CLI.
Google suggested the problem might be python3 related so I tried one of the suggested solutions: using a copy of the keys of the dictionary for the iteration. With that change I could create ports in Horizon again.
Horizon 18.3.2, Ubuntu 20.10 (groovy), python 3.8
Solution: python3/ dist-packages/ openstack_ dashboard/ api/neutron. py.bak /usr/lib/ python3/ dist-packages/ openstack_ dashboard/ api/neutron. py python3/ dist-packages/ openstack_ dashboard/ api/neutron. py.bak 2020-11-14 13:54:14.495049228 +0000 python3/ dist-packages/ openstack_ dashboard/ api/neutron. py 2020-11-14 14:04:38.716062069 +0000
# diff -Nur /usr/lib/
--- /usr/lib/
+++ /usr/lib/
@@ -1362,7 +1362,8 @@
def unescape_ port_kwargs( **kwargs) : keys())
kwargs[ ':'.join( key.split( '__'))] = kwargs.pop(key)
- for key in kwargs:
+ key_copy = tuple(kwargs.
+ for key in key_copy:
if '__' in key:
return kwargs