Snapshots can fail silently
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Triaged
|
Wishlist
|
Unassigned | ||
OpenStack Dashboard (Horizon) |
Invalid
|
Wishlist
|
Gabriel Hurley |
Bug Description
If a snapshot fails when it is being created it will do so silently and will disappear from the snapshot list.
Example:
Creating a snap shot the status will go to queued then to saving. If saving fails eg swift backend issue in glance etc. then the snapshot disappears from the dashboard completely with no error message.
Not sure exactly how to fix it as it involves nova and glance too.
On the nova-compute node that the instance is running on that is being snapshoted and error is caught eg.
2012-05-22 05:14:31 ERROR nova.rpc.amqp [req-aa82909d-
2012-05-22 05:14:31 TRACE nova.rpc.amqp Traceback (most recent call last):
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp rval = node_func(
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp return f(*args, **kw)
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp sys.exc_info())
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp self.gen.next()
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp return function(self, context, instance_uuid, *args, **kwargs)
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp self.driver.
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp return f(*args, **kw)
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp image_file)
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp _reraise_
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp image_meta = client.
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp res = self.do_
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp return func(self, *args, **kwargs)
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp headers=headers)
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp return func(self, method, url, body, headers)
2012-05-22 05:14:31 TRACE nova.rpc.amqp File "/usr/lib/
2012-05-22 05:14:31 TRACE nova.rpc.amqp raise exception.
2012-05-22 05:14:31 TRACE nova.rpc.amqp Invalid: Data supplied was not valid.
2012-05-22 05:14:31 TRACE nova.rpc.amqp Details: 400 Bad Request
2012-05-22 05:14:31 TRACE nova.rpc.amqp
2012-05-22 05:14:31 TRACE nova.rpc.amqp The server could not comply with the request since it is either malformed or otherwise incorrect.
2012-05-22 05:14:31 TRACE nova.rpc.amqp
2012-05-22 05:14:31 TRACE nova.rpc.amqp Error uploading image: (BackendException): Failed to add object to Swift. Got error from Swift: put_object(
2012-05-22 05:14:31 TRACE nova.rpc.amqp
In glance the entry for the snapshot exists but it is in status 'killed' maybe I need to lodge a bug against glance too to mark it as "failed" or something and then have the ability for a client (dashboard) to see this.
Changed in glance: | |
status: | Incomplete → Triaged |
importance: | Undecided → Wishlist |
I just made a similar comment on another ticket involving volumes, but this is a case of an asynchronous call that we have very little ability to track in the dashboard. We're working on longer-term solutions to consume notifications from Nova, et. al. and push them back to the client in real time, but that's a ways off still.
If Glance did continue to return the image with a status of "failed" (and allow a delete action on it so that it didn't hang around forever) that would at least let dashboard users know what happened.