Scheduler should be updated of capabilities while creating volume
Bug #1271162 reported by
Rushi Agrawal
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
High
|
Huang Zhiteng |
Bug Description
When volume is created, capabilities are not updated to scheduler forcefully, and only the periodic tasks report the updated capabilities to the scheduler (which generally takes some time). So if I have two backends 1 and 2 with same capabilities, I create a volume on backend 1, wait for it's capabilities to get reported to the scheduler, and then issue 10 'create volume' requests. More often than not, all these 10 volumes will end up on the backend 2.
Like we forcefully send an update to scheduler while deleting volume, the simple solution should be to do the same after successful creation of a volume. (I thought this used to be the case before taskflows, but can't confirm)
Changed in cinder: | |
assignee: | nobody → Huang Zhiteng (zhiteng-huang) |
Changed in cinder: | |
milestone: | none → icehouse-3 |
Changed in cinder: | |
status: | Fix Committed → Fix Released |
Changed in cinder: | |
milestone: | icehouse-3 → 2014.1 |
To post a comment you must log in.
It's still there (cinder. volume. manager. py) last part of the create volume method. 'allocated_ capacity_ gb'] += volume_ref['size']
self.stats[
But it looks like we're not publishing the update.