[volume manager] doesn't take into account opt io sizes for block devices. But LVM does.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Confirmed
|
High
|
Fuel Sustaining | ||
Mitaka |
In Progress
|
High
|
Vladimir Kuklin |
Bug Description
fuel-7.0
nailgun generated too tight partitioning scheme, therefore fuel-agent failed to create lv for `os` vg.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
ks spaces (partitioning scheme generated by nailgun for a particular node)
[
{
"name": "sdb",
"extra": [
"
"
],
"free_space": 0,
"volumes": [
{
"type": "boot",
"size": 300
},
{
"mount": "/boot",
"type": "partition",
"name": "Boot",
"size": 200
},
{
"type": "lvm_meta_pool",
"size": 0
},
{
"vg": "os",
"type": "pv",
"size": 69819
},
{
"vg": "cinder",
"type": "pv",
"size": 649587
},
{
"vg": "vm",
"type": "pv",
"size": 328670
}
],
"type": "disk",
"id": "disk/by-
"size": 1048576
},
{
"_allocate_
"label": "Base System",
"min_size": 67584,
"volumes": [
{
"mount": "/",
"type": "lv",
"name": "root",
"size": 53371
},
{
"mount": "swap",
"type": "lv",
"name": "swap",
"size": 16384
}
],
"type": "vg",
"id": "os"
},
{
"_allocate_
"label": "Cinder",
"min_size": 1536,
"volumes": [],
"type": "vg",
"id": "cinder"
},
{
"_allocate_
"label": "Virtual Storage",
"min_size": 5120,
"volumes": [
{
"mount": "/var/lib/nova",
"type": "lv",
"name": "nova",
"size": 328606
}
],
"type": "vg",
"id": "vm"
}
]
description: | updated |
Changed in fuel: | |
status: | New → Confirmed |
Changed in fuel: | |
importance: | Undecided → Medium |
milestone: | none → 9.0 |
summary: |
- [volume manager] too tight partitioning scheme. fuel-agent was unable to - create lv of required size + [volume manager] doesn't take into account opt io sizes for block + devices. But LVM does. |
tags: | added: customer-found |
Changed in fuel: | |
assignee: | Fuel Python Team (fuel-python) → Dmitry Guryanov (dguryanov) |
tags: | added: module-volumes |
Changed in fuel: | |
milestone: | 9.0 → 10.0 |
size of /dev/sdb4 was 69819M
4:425MiB: 70244MiB: 69819MiB: :primary: ;
pv was created with --metadatacopies 2 --metadatasize 28m (so, 28*2 expected to be reserved for lvm service needs)
2016-02-15 10:02:37 INFO fuel_agent. utils.lvm [-] Found physical volumes: [{'uuid': 'D9yvra- Y48g-PZe1- BnFq-ogah- cCeZ-jIAAOO' , 'devsize': 69819, 'name': '/dev/sdb4', 'psize': 69819, 'vg': None}] utils.utils [-] Trying to execute command: pvdisplay -C --noheading --units m --options pv_name, vg_name, pv_size, dev_size, pv_uuid --separator ; utils.utils [-] Trying to execute command: pvcreate --metadatacopies 2 --metadatasize 28m /dev/sdb4
2016-02-15 10:02:37 INFO fuel_agent.
2016-02-15 10:02:37 INFO fuel_agent.
but then
2016-02-15 10:02:38 INFO fuel_agent. utils.lvm [-] Found volume groups: [{'size': 69740, 'name': 'os', 'free': 69740, 'uuid': 'HHJqnA- tEDc-ixFO- U7M0-FHYM- ruLS-EtQeyo' }] utils.utils [-] Trying to execute command: vgdisplay -C --noheading --units m --options vg_name, vg_uuid, vg_size, vg_free --separator ; utils.utils [-] Trying to execute command: vgcreate os /dev/sdb4
2016-02-15 10:02:38 INFO fuel_agent.
2016-02-15 10:02:38 INFO fuel_agent.
vg os has got only 69740M (expected value was 69819 - 56 = 69763, that is 23M shorter than expected)
therefore, fuel-agent ended up with cmd.agent NotEnoughSpaceE rror: Error while creating lv: vg os has only 16368 m of free space, but at least 16384 m is needed
2016-02-15 10:02:38 INFO fuel_agent.
RC: for some reasons, created lvm logical volume occupied more space than expected. Underestimated size is roughly within 12-16M.