yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #12426
[Bug 1245746] Re: Grizzly to Havana Upgrade wipes out Nova quota_usages table
** Also affects: nova/havana
Importance: Undecided
Status: New
--
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/1245746
Title:
Grizzly to Havana Upgrade wipes out Nova quota_usages table
Status in OpenStack Compute (Nova):
Incomplete
Status in OpenStack Compute (nova) havana series:
New
Bug description:
In grizzly, there is no user_id in quota_usages table, and the
database with quota usages table is like this:
mysql> select * from quota_usages;
+---------------------+---------------------+------------+----+----------------------------------+-----------+--------+----------+---------------+---------+
| created_at | updated_at | deleted_at | id | project_id | resource | in_use | reserved | until_refresh | deleted |
+---------------------+---------------------+------------+----+----------------------------------+-----------+--------+----------+---------------+---------+
| 2013-10-29 03:03:05 | 2013-10-29 03:19:30 | NULL | 1 | 9cb04bffbe784771bd28fa093d749804 | instances | 1 | 0 | NULL | 0 |
| 2013-10-29 03:03:05 | 2013-10-29 03:19:30 | NULL | 2 | 9cb04bffbe784771bd28fa093d749804 | ram | 512 | 0 | NULL | 0 |
| 2013-10-29 03:03:05 | 2013-10-29 03:19:30 | NULL | 3 | 9cb04bffbe784771bd28fa093d749804 | cores | 1 | 0 | NULL | 0 |
+---------------------+---------------------+------------+----+----------------------------------+-----------+--------+----------+---------------+---------+
The problem can be recreated througth the following steps:
1. In upgrade from Grizzly to Havana, migration script
203_make_user_quotas_key_and_value.py adds 'user_id' column to
quota_usages table and its shadow table.
2. Migration script 216_sync_quota_usages.py willl delete all the any
instances/cores/ram/etc quota_usages without a user_id by
delete_null_rows. Since this is a Grizzly to Havana upgrade, and there
is no user_id colume in Grizzly ( user_id is added by
203_make_user_quotas_key_and_value.py in Havana), all the
instances/cores/ram/etc resources in quota_usages will be deleted.
3. Then script 216_sync_quota_usages.py will try to add new
quota_usages entrance based on a query of resources left on the table.
Remember from step 2, they are already deleted, therefore there will
be no quota entry inserted or updated.
The result is the quota_usage entry from Grizzly are wiped out during
upgrade to Havana.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1245746/+subscriptions