After folsom upgrade, instances can no longer access existing volumes.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
High
|
John Griffith | ||
Folsom |
Fix Released
|
High
|
John Griffith | ||
OpenStack Compute (nova) |
Invalid
|
High
|
John Griffith | ||
Folsom |
Fix Released
|
High
|
John Griffith | ||
Ubuntu Cloud Archive |
Fix Released
|
High
|
Unassigned | ||
cinder (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Quantal |
Fix Released
|
High
|
Unassigned | ||
Raring |
Fix Released
|
Undecided
|
Unassigned | ||
nova (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Quantal |
Fix Released
|
High
|
Unassigned | ||
Raring |
Fix Released
|
High
|
Unassigned |
Bug Description
After an upgrade from essex to folsom, attempting to attach volumes that existed pre-upgrade to instances does not work. Attempting to attach an existing volume to an instance results in a traceback ending in:
'.join(cmd))
2012-10-11 15:18:53 TRACE nova.compute.
2012-10-11 15:18:53 TRACE nova.compute.
192.168.20.9:3260 --rescan
2012-10-11 15:18:53 TRACE nova.compute.
2012-10-11 15:18:53 TRACE nova.compute.
2012-10-11 15:18:53 TRACE nova.compute.
2012-10-11 15:18:53 TRACE nova.compute.
It looks like compute is trying to find the volume with target named iqn.2010-
~# tgt-admin --dump
default-driver iscsi
<target iqn.2010-
</target>
<target iqn.2010-
</target>
<target iqn.2010-
</target>
The volumes table in the database, where I assume this connection information originates from on attach, still contains the old data:
mysql> select provider_location from volumes;
+------
| provider_location |
+------
| 192.168.20.9:3260,2 iqn.2010-
| 192.168.20.9:3260,1 iqn.2010-
| 192.168.20.9:3260,3 iqn.2010-
+------
3 rows in set (0.00 sec)
Related branches
CVE References
Changed in nova (Ubuntu): | |
importance: | Undecided → High |
Changed in cinder: | |
importance: | Undecided → High |
tags: | added: openstack-ubuntu-upgrade |
Changed in cinder: | |
assignee: | nobody → John Griffith (john-griffith) |
Changed in nova: | |
assignee: | nobody → John Griffith (john-griffith) |
Changed in nova (Ubuntu): | |
status: | New → Confirmed |
Changed in nova: | |
status: | New → Confirmed |
Changed in cinder: | |
status: | New → In Progress |
Changed in cinder: | |
milestone: | none → grizzly-1 |
Changed in cinder (Ubuntu Quantal): | |
status: | New → Confirmed |
importance: | Undecided → Critical |
importance: | Critical → High |
Changed in nova (Ubuntu Quantal): | |
importance: | Undecided → High |
Changed in nova: | |
status: | In Progress → Invalid |
Changed in nova (Ubuntu Quantal): | |
status: | New → Confirmed |
tags: | added: cloud-archive |
Changed in cloud-archive: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in cinder: | |
status: | Fix Committed → Fix Released |
Changed in nova (Ubuntu Raring): | |
status: | Confirmed → Fix Released |
tags: | removed: in-stable-folsom |
Changed in cinder: | |
milestone: | grizzly-1 → 2013.1 |
Changed in cloud-archive: | |
status: | Confirmed → Fix Released |
ugh, this is nasty. Looks like we need a migration for this. For backport we could add a translation using the ec2_id table to convert from the old name to the new one. Some testing needs to be done to figure out if the new iqns are actually there in all cases or if there is a case where the old iqn will exist.