]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Case sensitivity problem in cinder scheduler
authorYusuke Hayashi <hayashi-yusuke@jp.fujitsu.com>
Tue, 13 Oct 2015 23:53:49 +0000 (08:53 +0900)
committerYusuke Hayashi <hayashi-yusuke@jp.fujitsu.com>
Fri, 23 Oct 2015 10:10:05 +0000 (19:10 +0900)
commitd75d04ec55f906de5f90d186881bac25688a906b
tree89fcf588ea2f82c2a6cccc56672fa99efac24fb9
parent47b93189f30c66925aa7b5acd1d6f6ec4212ea0a
Case sensitivity problem in cinder scheduler

Volume creation fails when we use backend name which consists of
same characters as the name used before but different upper/lower case.
It happens in MySQL environment.

e.g.
1. configure 'lvm' as backend name and start cinder
2. reconfigure 'LVM' as backend name and restart cinder

It is caused by the difference of handling of case sensitivity
for backend name.

When checking the existence of cinder-volume/backend to judge
whether new cinder-volume service row in the DB should be created
or not, the search-logic is case insensitive for backend name.

On the other hand, when searching backend in create_volume processing,
the search-logic in cinder-scheduler is case sensitive for backend name.

That is why I change the former search-logic
from case insensitive one to case sensitive one.

Closes-Bug: #1496694
Change-Id: Ibb1565a183961031495b73e985499455a1ea4c7b
cinder/db/sqlalchemy/api.py
cinder/tests/unit/test_db_api.py