nova hypervisor-stats reports incorrect disk usage when Ceph is used for ephemeral storage
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
In Progress
|
High
|
Sergey Nikitin |
Bug Description
Steps for reproduce:
1. Ceph/iSCSI for volumes.
nova hypervisor-stats
| local_gb | 29 |
| local_gb_used | 0 |
2. Launch an instance "Boot from image(creates new volume)"
Flavor: m1.small (root disk 20Gb)
Create volume : 25Gb
nova hypervisor-stats
| local_gb | 29 |
| local_gb_used | 20 |
But we don't have any disk on the compute node:
ls -lh /var/lib/
total 24K
-rw-rw---- 1 root root 19K Nov 10 15:09 console.log
-rw-r--r-- 1 nova nova 1.7K Nov 10 15:08 libvirt.xml
cinder list
+------
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
+------
| 374f40a8-
+------
Nova reserves space which actually is not using.
Changed in fuel: | |
assignee: | nobody → MOS Nova (mos-nova) |
Changed in fuel: | |
milestone: | none → 6.0 |
affects: | fuel → mos |
Changed in mos: | |
milestone: | 6.0 → none |
tags: | added: nova |
Changed in mos: | |
milestone: | none → 6.0 |
Changed in mos: | |
status: | New → Confirmed |
importance: | Undecided → High |
summary: |
- nova reserves space for the instance + nova hypervisor-stats reports incorrect disk usage when Cepth is used + for ephemeral storage |
summary: |
- nova hypervisor-stats reports incorrect disk usage when Cepth is used - for ephemeral storage + nova hypervisor-stats reports incorrect disk usage when Ceph is used for + ephemeral storage |
Changed in mos: | |
assignee: | MOS Nova (mos-nova) → Sergey Nikitin (snikitin) |
status: | Confirmed → In Progress |
Related to https:/ /bugs.launchpad .net/mos/ +bug/1359989
Despite the fact the ephemeral partition is stored in Ceph, compute nodes mistakenly report that local disk space is used. This is due to how the reporting is implemented: https:/ /github. com/openstack/ nova/blob/ master/ nova/virt/ libvirt/ driver. py#L4616- L4637 and https:/ /github. com/openstack/ nova/blob/ master/ nova/virt/ libvirt/ driver. py#L5005- L5053 . Basically, instead of reporting their own state, each compute node reports the Ceph *shared* pool usage info.