← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1364344] Re: Nova client produces a wrong exception when user tries to boot an instance without specific network UUID

 

This is a bug in nova neutronv2 api.

** Also affects: nova
   Importance: Undecided
       Status: New

** No longer affects: python-novaclient

** Changed in: nova
   Importance: Undecided => Medium

** Changed in: nova
       Status: New => Confirmed

** Changed in: nova
     Assignee: (unassigned) => melanie witt (melwitt)

** Tags added: neutron

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1364344

Title:
  Nova client produces a wrong exception when user tries to boot an
  instance without specific network UUID

Status in OpenStack Compute (Nova):
  In Progress

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-novaclient-2.17.0-2

  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-2631-4308-89c4-cac502ef0bad (HTTP 403) (Request-ID: req-caacfa72-82f8-492a-8ce2-9476be8f3e0c)
  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 780, in main
      OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
    File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 716, in main
      args.func(self.cs, args)
    File "/usr/lib/python2.7/site-packages/novaclient/v1_1/shell.py", line 433, in do_boot
      server = cs.servers.create(*boot_args, **boot_kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/v1_1/servers.py", line 871, in create
      **boot_kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/v1_1/servers.py", line 534, in _boot
      return_raw=return_raw, **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/base.py", line 152, in _create
      _resp, body = self.api.client.post(url, body=body)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 312, in post
      return self._cs_request(url, 'POST', **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 286, in _cs_request
      **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 268, in _time_request
      resp, body = self.request(url, method, **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 262, in request
      raise exceptions.from_response(resp, body, url, method)
  Forbidden: It is not allowed to create an interface on external network 49d0cb8a-2631-4308-89c4-cac502ef0bad (HTTP 403) (Request-ID: req-afce2569-6902-4b25-a9b8-9ebf1a6ce1b9)
  ERROR: It is not allowed to create an interface on external network 49d0cb8a-2631-4308-89c4-cac502ef0bad (HTTP 403) (Request-ID: req-afce2569-6902-4b25-a9b8-9ebf1a6ce1b9)

  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-2ad7-4342-aa3c-1a9aa9f5e2a0)
  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 780, in main
      OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
    File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 716, in main
      args.func(self.cs, args)
    File "/usr/lib/python2.7/site-packages/novaclient/v1_1/shell.py", line 433, in do_boot
      server = cs.servers.create(*boot_args, **boot_kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/v1_1/servers.py", line 871, in create
      **boot_kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/v1_1/servers.py", line 534, in _boot
      return_raw=return_raw, **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/base.py", line 152, in _create
      _resp, body = self.api.client.post(url, body=body)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 312, in post
      return self._cs_request(url, 'POST', **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 286, in _cs_request
      **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 268, in _time_request
      resp, body = self.request(url, method, **kwargs)
    File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 262, in request
      raise exceptions.from_response(resp, body, url, method)
  BadRequest: Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-a4e90abd-2ad7-4342-aa3c-1a9aa9f5e2a0)
  ERROR: Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-a4e90abd-2ad7-4342-aa3c-1a9aa9f5e2a0)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1364344/+subscriptions