Nova client produces a wrong exception when user tries to boot an instance without specific network UUID
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
melanie witt |
Bug Description
Description of problem:
=======
pyhton-novaclient produces a wrong exception when user tries to boot an instance without specific network UUID.
The issue will only reproduce when an external network is shared with the tenant, but not created from within it (I created it in admin tenant).
Version-Release:
================
python-
How reproducible:
=================
Always
Steps to Reproduce:
===================
1. Have 2 tenants (admin + additional tenant would do).
2. In tenant A (admin), Create a network and mark it as both shared and external.
3. In tenant B, Create a network which is not shared or external.
4. Boot an instance within tenant B (I tested this via CLI), do not use the --nic option.
Actual results:
===============
DEBUG (shell:783) It is not allowed to create an interface on external network 49d0cb8a-
Traceback (most recent call last):
File "/usr/lib/
OpenStackCo
File "/usr/lib/
args.
File "/usr/lib/
server = cs.servers.
File "/usr/lib/
**boot_kwargs)
File "/usr/lib/
return_
File "/usr/lib/
_resp, body = self.api.
File "/usr/lib/
return self._cs_
File "/usr/lib/
**kwargs)
File "/usr/lib/
resp, body = self.request(url, method, **kwargs)
File "/usr/lib/
raise exceptions.
Forbidden: It is not allowed to create an interface on external network 49d0cb8a-
ERROR: It is not allowed to create an interface on external network 49d0cb8a-
Expected results:
=================
This is what happens if:
1. The shared network is no longer marked as external.
2. The tenant itself has two networks.
(+ no network UUID is speficied in the 'nova boot' command)
DEBUG (shell:783) Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-a4e90abd-
Traceback (most recent call last):
File "/usr/lib/
OpenStackCo
File "/usr/lib/
args.
File "/usr/lib/
server = cs.servers.
File "/usr/lib/
**boot_kwargs)
File "/usr/lib/
return_
File "/usr/lib/
_resp, body = self.api.
File "/usr/lib/
return self._cs_
File "/usr/lib/
**kwargs)
File "/usr/lib/
resp, body = self.request(url, method, **kwargs)
File "/usr/lib/
raise exceptions.
BadRequest: Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-a4e90abd-
ERROR: Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-a4e90abd-
Changed in python-novaclient: | |
assignee: | nobody → Kanchan Gupta (kanchan-gupta1) |
Changed in python-novaclient: | |
assignee: | Kanchan Gupta (kanchan-gupta1) → nobody |
Changed in python-novaclient: | |
assignee: | nobody → Kanchan Gupta (kanchan-gupta1) |
Changed in nova: | |
milestone: | none → juno-rc1 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | juno-rc1 → 2014.2 |
I tried to replicate this bug on the following version: dev42.g9758ffc
Name: python-novaclient
Version: 2.18.2.
When I try to boot an instance within tenant B without the --nic option, It throws the expected error, 50c1-4b63- 9137-66ec6e52cf 91)
ERROR (BadRequest): Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID:
req-dfc746f5-
So, as per the expected reslut mentioned in the bug description it seems that it has been fixed.