After taking another look at this, EC2 instance IDs appear to change
during an upgrade.

Did an upgrade with two running instances, i-00000003 and  i-00000004.
After upgrade, they show change to i-00000003 and  i-00000004,
respecively.  Any EC2 action (terminate, get-console-output, etc) on
these new IDs fail with InstanceNotFound.

AFAICS:

In essex, these IDs appear mapped to IDs and UUIDs in the instances
table:

mysql> select id, uuid from instances where id=3 or id=4;
+----+--------------------------------------+
| id | uuid                                 |
+----+--------------------------------------+
|  3 | 7ca30bdc-46f3-4a2d-a0fb-f7657d60e8a8 |
|  4 | bf7ecf97-0814-4b5e-b5f1-4a7cecd8a43f |
+----+--------------------------------------+
2 rows in set (0.00 sec)

In Folsom, much has been converted to use UUIDs instead.  the EC2
describe instances call gets a list of instances, and queries the
instance_id_mappings for the corresponding instance ID (which will later
get converted to an ec2 ID).  However, after upgrade this table has
duplicate entries for these instances, causing later queries on these
instances to yield a new, incorrect ID.

mysql> select * from instance_id_mappings where 
uuid='bf7ecf97-0814-4b5e-b5f1-4a7cecd8a43f' or 
uuid='7ca30bdc-46f3-4a2d-a0fb-f7657d60e8a8';
+---------------------+------------+------------+---------+----+--------------------------------------+
| created_at          | updated_at | deleted_at | deleted | id | uuid           
                      |
+---------------------+------------+------------+---------+----+--------------------------------------+
| NULL                | NULL       | NULL       |    NULL |  3 | 
7ca30bdc-46f3-4a2d-a0fb-f7657d60e8a8 |
| NULL                | NULL       | NULL       |    NULL |  4 | 
bf7ecf97-0814-4b5e-b5f1-4a7cecd8a43f |
| 2012-10-04 01:50:23 | NULL       | NULL       |       0 |  5 | 
7ca30bdc-46f3-4a2d-a0fb-f7657d60e8a8 |
| 2012-10-04 01:50:23 | NULL       | NULL       |       0 |  6 | 
bf7ecf97-0814-4b5e-b5f1-4a7cecd8a43f |
+---------------------+------------+------------+---------+----+--------------------------------------+

This can be worked around by change the EC2 layer to convert all
incoming IDs to UUIDs, but the issue of instance IDs changing during a
migration to Folsom is critical and needs to be resolved as an upgrade
issue.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to nova in Ubuntu.
https://bugs.launchpad.net/bugs/1061166

Title:
  ec2 instance IDs are broken after folsom upgrade

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

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to