← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1191069] Re: image-create fails on a boot from volume when no image ref is specified

 

** No longer affects: nova/grizzly

-- 
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/1191069

Title:
  image-create fails on a boot from volume when no image ref is
  specified

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  If create a boot from volume like so without passing in the image
  argument

  nova boot --flavor 1 --key-name kerrin --block-device-mapping
  vda=5eb71b67-bfd2-4935-9b55-9ad92e14eae4::: bfv-vm2

  And then I try and create an image from this instance like so, I get
  the following exception.

  michael@controller:~/devstack$ nova --debug image-create b21282c1-02b3-4fc0-a9d1-73a19261b353 test1
  ....
  DEBUG (shell:768) The resource could not be found. (HTTP 404) (Request-ID: req-254dae37-b8c2-4e75-ac8e-3e44981bf1cc)
  Traceback (most recent call last):
    File "/opt/stack/python-novaclient/novaclient/shell.py", line 765, in main
      OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
    File "/opt/stack/python-novaclient/novaclient/shell.py", line 701, in main
      args.func(self.cs, args)
    File "/opt/stack/python-novaclient/novaclient/v1_1/shell.py", line 1225, in do_image_create
      image_uuid = cs.servers.create_image(server, args.name)
    File "/opt/stack/python-novaclient/novaclient/v1_1/servers.py", line 704, in create_image
      resp = self._action('createImage', server, body)[0]
    File "/opt/stack/python-novaclient/novaclient/v1_1/servers.py", line 872, in _action
      return self.api.client.post(url, body=body)
    File "/opt/stack/python-novaclient/novaclient/client.py", line 233, in post
      return self._cs_request(url, 'POST', **kwargs)
    File "/opt/stack/python-novaclient/novaclient/client.py", line 217, in _cs_request
      **kwargs)
    File "/opt/stack/python-novaclient/novaclient/client.py", line 199, in _time_request
      resp, body = self.request(url, method, **kwargs)
    File "/opt/stack/python-novaclient/novaclient/client.py", line 193, in request
      raise exceptions.from_response(resp, body, url, method)
  NotFound: The resource could not be found. (HTTP 404) (Request-ID: req-254dae37-b8c2-4e75-ac8e-3e44981bf1cc)

  In the nova-api logs I get the following exception:

  013-06-14 18:04:28.667 ERROR nova.api.openstack [req-9caaa082-9e1a-43a2-9c95-2a7179cf751e admin demo] Caught error: Image  could not be found.
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack Traceback (most recent call last):
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/__init__.py", line 109, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return req.get_response(self.application)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     application, catch_exc_info=False)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 461, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return self.app(env, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     response = self.app(environ, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 899, in __call__
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     content_type, body, accept)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 958, in _process_stack
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     action_result = self.dispatch(meth, request, action_args)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1039, in dispatch
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return method(req=request, **action_args)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/common.py", line 450, in inner
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return f(*args, **kwargs)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 1350, in _action_create_image
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     src_image = self.compute_api.image_service.show(context, img)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/image/glance.py", line 239, in show
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     _reraise_translated_image_exception(image_id)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/image/glance.py", line 237, in show
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     image = self._client.call(context, 1, 'get', image_id)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/nova/nova/image/glance.py", line 182, in call
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return getattr(client.images, method)(*args, **kwargs)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/python-glanceclient/glanceclient/v1/images.py", line 116, in get
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     % urllib.quote(image_id))
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/python-glanceclient/glanceclient/common/http.py", line 261, in raw_request
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     return self._http_request(url, method, **kwargs)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack   File "/opt/stack/python-glanceclient/glanceclient/common/http.py", line 222, in _http_request
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack     raise exc.from_response(resp, body_str)
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack ImageNotFound: Image  could not be found.
  2013-06-14 18:04:28.667 15808 TRACE nova.api.openstack
  2013-06-14 18:04:28.669 INFO nova.api.openstack [req-9caaa082-9e1a-43a2-9c95-2a7179cf751e admin demo] http://192.168.122.55:8774/v2/0bc1ce21a6d741d7a5603c66c33249cc/servers/b21282c1-02b3-4fc0-a9d1-73a19261b353/action returned with HTTP 404

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