[SRU] Unable to list volumes after building from snapshot

Bug #962615 reported by Brian Waldon
52
This bug affects 9 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
John Griffith
Essex
Fix Released
High
Vish Ishaya
Folsom
Fix Released
High
John Griffith
nova (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Undecided
Unassigned

Bug Description

On a fresh devstack install, if I build a volume, snapshot that volume, then build a volume from that snapshot, I can no longer list all volumes:

vagrant@devstack:~/devstack$ nova volume-create 1
vagrant@devstack:~/devstack$ nova volume-snapshot-create 1
vagrant@devstack:~/devstack$ nova volume-create --snapshot_id=1 1
vagrant@devstack:~/devstack$ nova volume-list
ERROR: The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)

Traceback from nova-api.log:
(nova.api.openstack.wsgi): TRACE: Traceback (most recent call last):
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 851, in _process_stack
(nova.api.openstack.wsgi): TRACE: action_result = self.dispatch(meth, request, action_args)
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 926, in dispatch
(nova.api.openstack.wsgi): TRACE: return method(req=request, **action_args)
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/api/openstack/volume/volumes.py", line 201, in detail
(nova.api.openstack.wsgi): TRACE: return self._items(req, entity_maker=_translate_volume_detail_view)
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/api/openstack/volume/volumes.py", line 207, in _items
(nova.api.openstack.wsgi): TRACE: volumes = self.volume_api.get_all(context)
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/volume/api.py", line 164, in get_all
(nova.api.openstack.wsgi): TRACE: context.project_id)
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/db/api.py", line 1015, in volume_get_all_by_project
(nova.api.openstack.wsgi): TRACE: return IMPL.volume_get_all_by_project(context, project_id)
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 129, in wrapper
(nova.api.openstack.wsgi): TRACE: return f(*args, **kwargs)
(nova.api.openstack.wsgi): TRACE: File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 2517, in volume_get_all_by_project
(nova.api.openstack.wsgi): TRACE: return _volume_get_query(context).filter_by(project_id=project_id).all()
(nova.api.openstack.wsgi): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 1611, in all
(nova.api.openstack.wsgi): TRACE: return list(self)
(nova.api.openstack.wsgi): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 1830, in instances
(nova.api.openstack.wsgi): TRACE: rows = [process[0](row, None) for row in fetch]
(nova.api.openstack.wsgi): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 2291, in _instance
(nova.api.openstack.wsgi): TRACE: populate_state(state, dict_, row, isnew, only_load_props)
(nova.api.openstack.wsgi): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 2169, in populate_state
(nova.api.openstack.wsgi): TRACE: populator(state, dict_, row)
(nova.api.openstack.wsgi): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/strategies.py", line 130, in new_execute
(nova.api.openstack.wsgi): TRACE: dict_[key] = row[col]
(nova.api.openstack.wsgi): TRACE: TypeError: expected string or Unicode object, long found

Related branches

CVE References

Changed in nova:
importance: Undecided → Critical
tags: added: essex-rc-potential
Thierry Carrez (ttx)
Changed in nova:
importance: Critical → High
status: New → Confirmed
Revision history for this message
John Griffith (john-griffith) wrote :

I took a look at this tonight and was not able to reproduce. Initially I received some errors on the volume-create --snapshot command because the backing store by default was not large enough.

After increasing the backing to 4GB I was able to run the sequence of commands successfully. Not sure if this has been fixed indirectly or if it's specific to Precise?

Revision history for this message
Brian Waldon (bcwaldon) wrote :

I can't reproduce on Oneiric. This could have been a side-effect of the volumes api attribute changes that has since been fixed.

Changed in nova:
status: Confirmed → Invalid
tags: removed: essex-rc-potential
Revision history for this message
Édouard Thuleau (ethuleau) wrote :
Download full text (4.7 KiB)

Hi stackers,

I have the same problem than Brian.
I use the last milestone proposed.

I create a volume and a snapshot from this volume.
And if I try to create a new volume from the created snapshot, I cannot list volume anymore:

2012-04-03 12:50:45 INFO nova.api.openstack.wsgi [req-656f9d29-7916-4f19-b231-a75d5644cef2 ab79adcd89b04c6498ea267154f9443f bc919cb0d95d4629aa740a9353f7f9c0] GET http://p-novamaster2.rd.francetelecom.fr:8776/v1/bc919cb0d95d4629aa740a9353f7f9c0/volumes/detail
2012-04-03 12:50:45 DEBUG nova.api.openstack.wsgi [req-656f9d29-7916-4f19-b231-a75d5644cef2 ab79adcd89b04c6498ea267154f9443f bc919cb0d95d4629aa740a9353f7f9c0] Unrecognized Content-Type provided in request from (pid=9739) get_body /usr/local/src/nova/nova/api/openstack/wsgi.py:697
2012-04-03 12:50:45 ERROR nova.api.openstack.wsgi [req-656f9d29-7916-4f19-b231-a75d5644cef2 ab79adcd89b04c6498ea267154f9443f bc919cb0d95d4629aa740a9353f7f9c0] Exception handling resource: expected string or Unicode object, long found
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi Traceback (most recent call last):
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/api/openstack/wsgi.py", line 851, in _process_stack
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi action_result = self.dispatch(meth, request, action_args)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/api/openstack/wsgi.py", line 926, in dispatch
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi return method(req=request, **action_args)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/api/openstack/volume/volumes.py", line 201, in detail
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi return self._items(req, entity_maker=_translate_volume_detail_view)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/api/openstack/volume/volumes.py", line 207, in _items
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi volumes = self.volume_api.get_all(context)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/volume/api.py", line 167, in get_all
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi volumes = self.db.volume_get_all(context)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/db/api.py", line 953, in volume_get_all
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi return IMPL.volume_get_all(context)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/db/sqlalchemy/api.py", line 102, in wrapper
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi return f(*args, **kwargs)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/src/nova/nova/db/sqlalchemy/api.py", line 2391, in volume_get_all
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi return _volume_get_query(context).all()
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2066, in all
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi return list(self)
2012-04-03 12:50:45 TRACE nova.api.openstack.wsgi File "/usr/loca...

Read more...

tags: added: essex-rc-potential
Thierry Carrez (ttx)
Changed in nova:
status: Invalid → Incomplete
Revision history for this message
Brian Waldon (bcwaldon) wrote :

I just built a new devstack environment based on milestone-proposed, and I could not reproduce this. Edouard, can you make sure all of your components are up to date?

Thierry Carrez (ttx)
tags: removed: essex-rc-potential
Revision history for this message
Jérôme Gallard (jerome-gallard) wrote :

Hi all,

I would like to confirm the bug explained by Édouard.
My OpenStack configuration is : Ubuntu Precise with the last packages available.

The issue happens after:
1. I create a volume (via horizon)
2. I snapshot the volume (via horizon)
2bis. I can check that everything is right (via horizon or via nova client : "nova volume-list" and "nova volume-snapshot-list")
3. I create a volume from this snapshot (via nova client : nova volume-create --snapshot_id 1 --display_name "volume from snap" --display_description "kjh" 1 )
4. I am no more able to list the volumes. Via horizon or via nova client :
#nova volume-list
ERROR: The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)

I got a trace very similar to the one provided by Édouard.

Regards,
Jérôme

Changed in nova:
status: Incomplete → Confirmed
Revision history for this message
sajuptpm (sajuptpm) wrote :

Temporary fix

Detete rows from table "volumes" and corresponding rows from tables "block_device_mapping" and "iscsi_targets".

Revision history for this message
Chuck Thier (cthier) wrote :
Download full text (5.9 KiB)

We also have the same issue in our environment.

I get a 500 return code with the following Traceback:

2012-04-18 17:50:10 ERROR nova.api.openstack [req-fb168c27-222a-4598-8dc7-2cc0e2c03648 162472 4801] Caught error: expected string or Unicode object, long found
2012-04-18 17:50:10 TRACE nova.api.openstack Traceback (most recent call last):
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/python2.6/dist-packages/nova/api/openstack/__init__.py", line 41, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack return req.get_response(self.application)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/request.py", line 919, in get_response
2012-04-18 17:50:10 TRACE nova.api.openstack application, catch_exc_info=False)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/request.py", line 887, in call_application
2012-04-18 17:50:10 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack return resp(environ, start_response)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack return resp(environ, start_response)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack return resp(environ, start_response)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/routes/middleware.py", line 131, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack response = self.app(environ, start_response)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack return resp(environ, start_response)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/dec.py", line 147, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.6/webob/dec.py", line 208, in call_func
2012-04-18 17:50:10 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/python2.6/dist-packages/nova/api/openstack/wsgi.py", line 803, in __call__
2012-04-18 17:50:10 TRACE nova.api.openstack content_type, body, accept)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/python2.6/dist-packages/nova/api/openstack/wsgi.py", line 851, in _process_stack
2012-04-18 17:50:10 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2012-04-18 17:50:10 TRACE nova.api.openstack File "/usr/lib/python2.6/dist-packages/nova/api/openstack/wsgi.py", line 926, in dispatch
2012-04-18 17:50:10 TRACE nova.api.openstack return method(req=request, **action_args)
2012-04-18 17:50:10 ...

Read more...

Revision history for this message
Sateesh Bodla (sateesh-bodla) wrote :

Hi,

I am trying to reproduce this on nova Essex version and unable to reproduce. This is working fine for me. Please find the trace below:

root@vmessex118:~# nova volume-create 1
root@vmessex118:~# nova volume-list
+----+-----------+--------------+------+--------------------------------------+
| ID | Status | Display Name | Size | Attached to |
+----+-----------+--------------+------+--------------------------------------+
| 16 | available | None | 1 | None |
+----+-----------+--------------+------+--------------------------------------+
root@vmessex118:~# nova volume-snapshot-create 16
root@vmessex118:~# nova volume-snapshot-list
+----+-----------+-----------+--------------+------+
| ID | Volume ID | Status | Display Name | Size |
+----+-----------+-----------+--------------+------+
| 1 | 9 | available | None | 1 |
| 2 | 16 | available | None | 1 |
+----+-----------+-----------+--------------+------+
root@vmessex118:~# nova volume-create --snapshot_id=2 1
root@vmessex118:~# nova volume-list
+----+-----------+--------------+------+--------------------------------------+
| ID | Status | Display Name | Size | Attached to |
+----+-----------+--------------+------+--------------------------------------+
| 16 | available | None | 1 | None |
| 17 | creating | None | 1 | None |
+----+-----------+--------------+------+--------------------------------------+
root@vmessex118:~# nova volume-list
+----+-----------+--------------+------+--------------------------------------+
| ID | Status | Display Name | Size | Attached to |
+----+-----------+--------------+------+--------------------------------------+
| 16 | available | None | 1 | None |
| 17 | available | None | 1 | None |
+----+-----------+--------------+------+--------------------------------------+

Please let me know if I need to reproduce in other way.

Thanks,
Sateesh B.

Revision history for this message
Chuck Thier (cthier) wrote :

Just as a side note, I wonder if this is due possibly to a missing upgrade? (I haven't had a chance to track it down) but it would seem to match up with it working in fresh installs, and not in some others'.

--
Chuck

Revision history for this message
John Griffith (john-griffith) wrote : Re: [Bug 962615] Re: Unable to list volumes after building from snapshot
Download full text (4.2 KiB)

Ewww... that could be ugly. Did Brian every find anything? TBH I
haven't looked at this any more since he said he was on it and he
seemed to have found evidence that it was specific to the RAX
environment.

On Wed, Apr 25, 2012 at 3:24 PM, Chuck Thier <email address hidden> wrote:
> Just as a side note, I wonder if this is due possibly to a missing
> upgrade?  (I haven't had a chance to track it down) but it would seem to
> match up with it working in fresh installs, and not in some others'.
>
> --
> Chuck
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/962615
>
> Title:
>  Unable to list volumes after building from snapshot
>
> Status in OpenStack Compute (Nova):
>  Confirmed
>
> Bug description:
>  On a fresh devstack install, if I build a volume, snapshot that
>  volume, then build a volume from that snapshot, I can no longer list
>  all volumes:
>
>  vagrant@devstack:~/devstack$ nova volume-create 1
>  vagrant@devstack:~/devstack$ nova volume-snapshot-create 1
>  vagrant@devstack:~/devstack$ nova volume-create --snapshot_id=1 1
>  vagrant@devstack:~/devstack$ nova volume-list
>  ERROR: The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
>
>  Traceback from nova-api.log:
>  (nova.api.openstack.wsgi): TRACE: Traceback (most recent call last):
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 851, in _process_stack
>  (nova.api.openstack.wsgi): TRACE:     action_result = self.dispatch(meth, request, action_args)
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 926, in dispatch
>  (nova.api.openstack.wsgi): TRACE:     return method(req=request, **action_args)
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/api/openstack/volume/volumes.py", line 201, in detail
>  (nova.api.openstack.wsgi): TRACE:     return self._items(req, entity_maker=_translate_volume_detail_view)
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/api/openstack/volume/volumes.py", line 207, in _items
>  (nova.api.openstack.wsgi): TRACE:     volumes = self.volume_api.get_all(context)
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/volume/api.py", line 164, in get_all
>  (nova.api.openstack.wsgi): TRACE:     context.project_id)
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/db/api.py", line 1015, in volume_get_all_by_project
>  (nova.api.openstack.wsgi): TRACE:     return IMPL.volume_get_all_by_project(context, project_id)
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 129, in wrapper
>  (nova.api.openstack.wsgi): TRACE:     return f(*args, **kwargs)
>  (nova.api.openstack.wsgi): TRACE:   File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 2517, in volume_get_all_by_project
>  (nova.api.openstack.wsgi): TRACE:     return _volume_get_query(context).filter_by(project_id=project_id).all()
>  (nova.api.openstack.wsgi): TRACE:   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 1611, in all
>  (nova.api.openstack...

Read more...

Revision history for this message
Vish Ishaya (vishvananda) wrote :

I think I may have tracked down the issue. The migration code adds snapshot_id to volumes as an integer

migrate_repo/versions/020_add_snapshot_id_to_volumes.py
29: snapshot_id = Column('snapshot_id', Integer())

but it is listed as a volume in models.py

models.py
347: snapshot_id = Column(String(255))

I think the following change should fix the issue:

diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py
index 634f04d..01eae5c 100644
--- a/nova/db/sqlalchemy/models.py
+++ b/nova/db/sqlalchemy/models.py
@@ -344,7 +344,7 @@ class Volume(BASE, NovaBase):
     user_id = Column(String(255))
     project_id = Column(String(255))

- snapshot_id = Column(String(255))
+ snapshot_id = Column(Integer)

     host = Column(String(255)) # , ForeignKey('hosts.id'))
     size = Column(Integer)

Would someone give that a shot and see if it resolves the problem? If so I can propose it.

Revision history for this message
GMi (gmi) wrote : Re: Unable to list volumes after building from snapshot

Vish, your patch works for me.

I just replaced line "snapshot_id = Column(String(255))" in "/usr/share/pyshared/nova/db/sqlalchemy/models.py" with "snapshot_id = Column(Integer)" and then restarted nova-api service and I can see the volumes in Dashboard and well as CLI.

Thanks for the quick fix.

Revision history for this message
GMi (gmi) wrote :

And by the way, I'm running Ubuntu 12.04 with official packages installed:

root@controller:~# dpkg -l | egrep "nova|volume"
ii nova-api 2012.1-0ubuntu2 OpenStack Compute - API frontend
ii nova-common 2012.1-0ubuntu2 OpenStack Compute - common files
ii nova-consoleauth 2012.1-0ubuntu2 OpenStack Compute - Console Authenticator
ii nova-doc 2012.1-0ubuntu2 OpenStack Compute - documentation
ii nova-objectstore 2012.1-0ubuntu2 OpenStack Compute - object store
ii nova-scheduler 2012.1-0ubuntu2 OpenStack Compute - virtual machine scheduler
rc nova-vncproxy 2012.1-0ubuntu2 OpenStack Compute - VNC proxy
ii python-nova 2012.1-0ubuntu2 OpenStack Compute Python libraries
ii python-novaclient 2012.1-0ubuntu1 client library for OpenStack Compute API

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/essex)

Fix proposed to branch: stable/essex
Review: https://review.openstack.org/7509

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/essex)

Reviewed: https://review.openstack.org/7509
Committed: http://github.com/openstack/nova/commit/2d7d51c5ea2a885ee6160d11c8a9afdbb86d1c43
Submitter: Jenkins
Branch: stable/essex

commit 2d7d51c5ea2a885ee6160d11c8a9afdbb86d1c43
Author: Vishvananda Ishaya <email address hidden>
Date: Wed May 16 10:04:26 2012 -0700

    Fix type of snapshot_id column to match db

     * Migrations create a snaphsot_id column that is an integer, but
       models incorrectly list it as a string.
     * The above issue causes errors in certain situations when trying
       to list instances. It seems to be only certain db configurations
       or versions of sqlalchemy that exhibit the issue.
     * Issue was fixed in trunk as part of a conversion to uuids in
       commit 407e16b863bac1dfbf4e954837009abf9c17f018 so a straight
       backport is not possible
     * Fixes bug 962615

    Change-Id: I8e9fc9712c141822890feffee838faf8b41ee4f5

tags: added: in-stable-essex
Thierry Carrez (ttx)
Changed in nova:
status: Fix Committed → Fix Released
Chuck Short (zulcss)
Changed in nova (Ubuntu):
status: New → In Progress
Changed in nova (Ubuntu Precise):
status: New → In Progress
Revision history for this message
kimimaru (cutekimimaru) wrote : Re: Unable to list volumes after building from snapshot

Hi,

I tried to replaced the line in "/usr/share/pyshared/nova/db/sqlalchemy/models.py" with "snapshot_id = Column(Integer)" when I could not list volumes.
After replacing the line, I restarted nova-api then I could list volumes with "volume-list" command.
But the Status of volumes are always "creating" if the volumes have been created with the snapshots.
Do I miss something ?

I use Ubuntu 12.04 with the package installed:

root@Controller: dpkg -l |egrep "nova|volume"
ii nova-ajax-console-proxy 2012.1-0ubuntu2.1 OpenStack Compute - AJAX console proxy - transitional package
ii nova-api 2012.1-0ubuntu2.1 OpenStack Compute - API frontend
ii nova-cert 2012.1-0ubuntu2.1 OpenStack Compute - certificate management
ii nova-common 2012.1-0ubuntu2.1 OpenStack Compute - common files
ii nova-compute 2012.1-0ubuntu2.1 OpenStack Compute - compute node
ii nova-compute-kvm 2012.1-0ubuntu2.1 OpenStack Compute - compute node (KVM)
ii nova-consoleauth 2012.1-0ubuntu2.1 OpenStack Compute - Console Authenticator
ii nova-doc 2012.1-0ubuntu2.1 OpenStack Compute - documentation
ii nova-network 2012.1-0ubuntu2.1 OpenStack Compute - Network manager
ii nova-scheduler 2012.1-0ubuntu2.1 OpenStack Compute - virtual machine scheduler
ii nova-vncproxy 2012.1-0ubuntu2.1 OpenStack Compute - VNC proxy
ii nova-volume 2012.1-0ubuntu2.1 OpenStack Compute - storage
ii python-nova 2012.1-0ubuntu2.1 OpenStack Compute Python libraries
ii python-novaclient 2012.1-0ubuntu1 client library for OpenStack Compute API

Revision history for this message
Jaroslav Pulchart (jaroslav-pulchart-4) wrote :

No you don't miss anything. The big problem of OpenStack is this - when some bug/issue happen the DB stuff (not only) is in inconsistent state, unfortunately OpenStack don't try to fix the inconsistent state.

So you created the volume, but in process of creating task you reach the bug. So volume was not created and the database include record about creating.... :(. Now you have to know the procedure which openstack does and "revert it manually" (update DB records, handle iSCSI tasks,....)

Chuck Short (zulcss)
summary: - Unable to list volumes after building from snapshot
+ [SRU] Unable to list volumes after building from snapshot
Revision history for this message
Chuck Short (zulcss) wrote :

** Impact **

* Migrations create a snaphsot_id column that is an integer, but
models incorrectly list it as a string.
* The above issue causes errors in certain situations when trying
to list instances. It seems to be only certain db configurations
or versions of sqlalchemy that exhibit the issue.
* Issue was fixed in trunk as part of a conversion to uuids in
commit 407e16b863bac1dfbf4e954837009abf9c17f018 so a straight
backport is not possible

** Developmen Fix **

Fixed in development runk at commit 407e16b863bac1dfbf4e954837009abf9c17f018 and fixed in quantal.

** Stable Fix **

This has been addressed in the stable/essex branch https://review.openstack.org/7509
1. I create a volume (via horizon)
2. I snapshot the volume (via horizon)
2bis. I can check that everything is right (via horizon or via nova client : "nova volume-list" and "nova volume-snapshot-list")
3. I create a volume from this snapshot (via nova client : nova volume-create --snapshot_id 1 --display_name "volume from snap" --display_description "kjh" 1 )
4. I am no more able to list the volumes. Via horizon or via nova client :
#nova volume-list
ERROR: The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
** Test Case **

** Regression Potential **

Minimal.

Chuck Short (zulcss)
Changed in nova (Ubuntu Precise):
milestone: none → ubuntu-12.04.1
Chuck Short (zulcss)
Changed in nova (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote : Please test proposed package

Hello Brian, or anyone else affected,

Accepted nova into precise-proposed. The package will build now and be available in a few hours. Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users. If this package fixes the bug for you please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case details of your testing will help us make a better decision. Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nova (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Adam Gandelman (gandelman-a) wrote :

Please find the attached Jenkins job results from the Ubuntu Server Team's CI
infrastructure. As part of the verification process for this bug, Nova has
been deployed and configured across multiple nodes using precise-proposed as
an installation source. After successful bring-up and configuration of the
cluster, a number of exercises and smoke tests have be invoked to ensure the
updated package did not introduce any regressions. A number of test iterations
were carried out to catch any possible transient errors.

Note the list of installed packages at the top and bottom of the report.

For records of upstream test coverage of this update, please see the
Jenkins links in the comments of the relevant upstream code-review:

https://review.openstack.org/7509

As per the provisional Micro Release Exception granted to this package by
the Technical Board, we hope this contributes toward verification of this
update.

Dave Walker (davewalker)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nova - 2012.1+stable~20120612-3ee026e-0ubuntu1

---------------
nova (2012.1+stable~20120612-3ee026e-0ubuntu1) precise-proposed; urgency=low

  * New upstream snapshot. (LP: #1010473)
  * Dropped, superseeded by new snapshot:
    - debian/patches/upstream/0001-fix-bug-where-nova-ignores-glance-host-in-imageref.patch
    - debian/patches/upstream/0002-Stop-libvirt-test-from-deleting-instances-dir.patch
    - debian/patches/upstream/0003-Allow-unprivileged-RADOS-users-to-access-rbd-volumes.patch
    - debian/patches/upstream/0004-Fixed-bug-962840-added-a-test-case.patch
    - debian/patches/upstream/0005-Populate-image-properties-with-project_id-again.patch
    - debian/patches/upstream/0006-Use-project_id-in-ec2.cloud._format_image.patc
    - debian/patches/CVE-2012-2101.patch
    - debian/patches/CVE-2012-2654.patch
  * Resynchronize with stable/essex:
    - 3ee026e Only invoke .lower() on non-None protocols. (LP: #1010514)
    - f0a9f47 Create a utf8 version of the dns_domains table. (LP: #993663)
    - 84a43e1 Report memory correctly on Xen. (LP: #997014)
    - 8c72924 Add libvirt get_console_output tests: pty and file. (LP: #990237)
    - 4e423cd Fix Multi_Scheduler to process host capabilities. (LP: #1000403)
    - 4aea7f1 Nail pep8 dependencies to 1.0.1
    - 2b3bbc4 handle updated qemu-img info output. (LP: #1000261)
    - 2d7d51c Fix type of snapshot_id column to match db. (LP: #962615)
    - ec70c69 Generate a Changelog for Nova
    - e5e890f Fix nova.tests.test_nova_rootwrap on Fedora 17. (LP: #992916)
    - 9e9a554 Ec2 handle strings with "0x" (LP: #983206)
    - 26dc6b7 QuantumManager will start dnsmasq during startup. Fixes (LP: #977759)
    - 7028d66 Introduced flag base_dir_name. (LP: #973194)
    - 76b525a Get unit tests functional in OS X.
    - facb936 Update KillFilter to handle 'deleted' exe's. (LP: #967931)
    - 1209af4 Checks if value is string or not before decode. (LP: #952176)
    - 1209af4 Fix timeout in EC2 CloudController.create_image(). (LP: #989764)
    - 108e74b Re-add console_log from console_console_output(). (LP: #987335)
    - 48a0768 Don't leak RPC connections on timeouts or other exceptions. (LP: #968843)
    - 7c64de9 Cloudpipe tap vpn not always working. (LP: #975043)
    - 5ab5051 add libvirt_inject_key flag fix (LP: #971640)
    - 6c68ef5 Xen: Pass session to destroy_vdi. (LP: #988615)
    - 015744e Delete fixed_ips when network is deleted. (LP: #754900)
  * Add debian/scripts/changelog.sh to help generate the changelog.
  * Add debian/nova-common.docs:
    - Include changelog and README.rst
  * debian/rules: Generate a tarball from git snapshot.
  * debian/patches/fix-pep8-errors.patch: Fix pep8 errors due to pep8 upstream
    migration.
 -- Chuck Short <email address hidden> Tue, 05 Jun 2012 09:50:59 -0400

Changed in nova (Ubuntu Precise):
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: folsom-1 → 2012.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.