[Openstack] Quotas... 1 of 1 instances? What's the deal?

Jay Pipes jaypipes at gmail.com
Tue Jun 5 17:03:41 UTC 2012


On 06/04/2012 05:43 PM, Kevin L. Mitchell wrote:
> One thing to check is the total quotas on memory and disk, relative to
> the size of the instance.  The original code computes a maximum number
> of instances based on those values; my new code simply tries to emulate
> that computation.  (I'm pretty sure I got it right, but honestly quotas
> needs further rototillings…)

Total is 24G and 12 cores available on box, so no probs there...

>> When I check the DB, though, I've seeing the following:
>>
>> mysql>  select project_id, in_use, reserved, until_refresh from
>> quota_usages where resource = 'instances';
>> +----------------------------------+--------+----------+---------------+
>> | project_id                       | in_use | reserved | until_refresh |
>> +----------------------------------+--------+----------+---------------+
>> | 287a92da0cf14a27a43c8737417b029d |      0 |       10 |          NULL |
>> | f0c72dea9fda459aac64de460300e1ec |      0 |        2 |          NULL |
>> +----------------------------------+--------+----------+---------------+
>> 2 rows in set (0.00 sec)
>
> Hmmm…when quiesced, you should only see reservations if instances are
> actively building.  (In fact, reservations should be committed as soon
> as the instances are created in the database.)  It's possible that I
> missed places where instances are created, but I thought I got them all…

OK, so I checked again this morning and I'm still seeing the project 
beginning with 287 above (the demo tenant) having 10 reserved, no 
in_use, and a NULL until_refresh column. When is this quiescience point 
supposed to come?

When I check the instances table for that project_id, look what pops up:

mysql> select vm_state, task_state, count(*) as num from instances where 
project_id = '287a92da0cf14a27a43c8737417b029d' group by vm_state, 
task_state;
+----------+------------+-----+
| vm_state | task_state | num |
+----------+------------+-----+
| building | scheduling |   5 |
| deleted  | NULL       |  68 |
+----------+------------+-----+
2 rows in set (0.00 sec)

Unfortunately, when logged into the Horizon control panel for the Demo 
project, the Instances and Volumes tab shows absolutely nothing.

When doing a nova list, here's what pops up:

jpipes at uberbox:~/repos/tempest$ nova list
+----+------+--------+----------+
| ID | Name | Status | Networks |
+----+------+--------+----------+
+----+------+--------+----------+

I'm restarting my devstack + tempest runs with SCREEN_LOGDIR set so I 
can track what's happening in the scheduler to leave the instances in 
scheduling state. But clearly, something is haywire with either:

  * The error handling in how quotas are calculated (since by the DB, 
there are only 5 out of the 10 quota-limited instances known to be 
"scheduling"
  * The reservation system is not freeing up resources after some amount 
of time? Is there a configuration option for setting the expiration time 
for reservations?

Best,
-jay




More information about the Openstack mailing list