cinder-volume with ceph backend show 'total_capacity_gb': 0 if any of ceph-osd is down
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
Fix Released
|
High
|
Yuriy Nesenenko |
Bug Description
If any of ceph-osd nodes was disconnected/
System test 'ceph_ha_restart' is failing with the following error:
AssertionError: Failed 3 OSTF tests; should fail 1 tests. Names of failed tests: [{u'Check that required services are running (failure)': u'Some nova services have not been started.. Please refer to OpenStack logs for more details.'}, {u'Create volume and boot instance from it (failure)': u'Failed to get to expected status. In error state. Please refer to OpenStack logs for more details.'}, {u'Create volume and attach it to instance (failure)': u'Failed to get to expected status. In error state. Please refer to OpenStack logs for more details.'}]
Steps to reproduce:
1. Create a cluster with ceph enabled for images and volumes;
2. Add 3 nodes with controller and ceph OSD roles
3. Add 1 node with ceph OSD roles
4. Add 2 nodes with compute and ceph OSD roles
5. Deploy the cluster
6. Shutdown one node with ceph OSD role (for example, a compute node or node with only ceph OSD role)
7. Wait 10 minutes
8. Check /var/log/
Expected result: In 'total_capacity_gb' : N, the N will be reduced by the size of ceph OSD that was shut down.
Actual result: In 'total_capacity_gb' : N, the N is zero, despite the fact that 'ceph status' show a lot of free space.
Try to create a volume from command line on controller node:
$ . openrc; cinder create 1
, and then see the status of created volume:
$ . openrc; cinder list
The created volume will be in 'error' status.
Example (controller nodes are node-1, node-4 and node-6):
* all nodes online: http://
* a compute node with ceph-osd is offline: http://
root@node-
1.1.1
root@node-
ceph version 0.80.9 (b5a67f0e1d1538
Changed in fuel: | |
status: | New → Confirmed |
Changed in fuel: | |
assignee: | MOS Ceph (mos-ceph) → MOS Cinder (mos-cinder) |
affects: | fuel → mos |
Changed in mos: | |
milestone: | 7.0 → none |
Changed in mos: | |
assignee: | MOS Cinder (mos-cinder) → Kostiantyn Danylov (kdanylov) |
Changed in mos: | |
assignee: | Kostiantyn Danylov (kdanylov) → Yuriy Nesenenko (ynesenenko) |
tags: | added: cinder |
Fuel ISO version: {u'build_id': u'2015- 07-29_21- 24-26', u'build_number': u'108', u'auth_required': True, u'fuel-ostf_sha': u'f907eca277ab4 ba769774417d6ff 5bf30ef479ee' , u'fuel- library_ sha': u'90aff7558fb00 373ccd363b7722e 2f90dc25894d' , u'nailgun_sha': u'999efffd19b82 3a27b17f0e97a42 ac0d47ae9ce5' , u'openstack_ version' : u'2015.1.0-7.0', u'fuel- nailgun- agent_sha' : u'1512b9af6b41c c95c4d891c593ae ebe0faca5a63' , u'fuel-agent_sha': u'355c08a04917f 047b88f66242767 049d2b1d0ff0' , u'api': u'1.0', u'python- fuelclient_ sha': u'f04e6c46783ec d6000df31b61b67 49da66d4d828' , u'astute_sha': u'126709e7f18a7 19ec4bd2a13a37d 972285381892' , u'fuelmain_sha': u'de5b333815f85 41224c6726dc844 6ffc7fb18b5b' , u'feature_groups': [u'mirantis'], u'release': u'7.0', u'release_ versions' : {u'2015.1.0-7.0': {u'VERSION': {u'build_id': u'2015- 07-29_21- 24-26', u'build_number': u'108', u'fuel- library_ sha': u'90aff7558fb00 373ccd363b7722e 2f90dc25894d' , u'nailgun_sha': u'999efffd19b82 3a27b17f0e97a42 ac0d47ae9ce5' , u'fuel-ostf_sha': u'f907eca277ab4 ba769774417d6ff 5bf30ef479ee' , u'fuel- nailgun- agent_sha' : u'1512b9af6b41c c95c4d891c593ae ebe0faca5a63' , u'fuel-agent_sha': u'355c08a04917f 047b88f66242767 049d2b1d0ff0' , u'api': u'1.0', u'python- fuelclient_ sha': u'f04e6c46783ec d6000df31b61b67 49da66d4d828' , u'astute_sha': u'126709e7f18a7 19ec4bd2a13a37d 972285381892' , u'fuelmain_sha': u'de5b333815f85 41224c6726dc844 6ffc7fb18b5b' , u'feature_groups': [u'mirantis'], u'release': u'7.0', u'openstack_ version' : u'2015.1.0-7.0', u'production': u'docker'}}}, u'production': u'docker'}