This can be reproduced on Focal/ussuri:

############ Computes:
$ os resource provider list
+--------------------------------------+-----------------------------------------------------+------------+--------------------------------------+----------------------+
| uuid                                 | name                                   
             | generation | root_provider_uuid                   | 
parent_provider_uuid |
+--------------------------------------+-----------------------------------------------------+------------+--------------------------------------+----------------------+
| ca3fa736-7e60-4365-9cc8-7afc78b53005 | 
juju-98fb61-zaza-d6f2c7825043-9.project.serverstack |          5 | 
ca3fa736-7e60-4365-9cc8-7afc78b53005 | None                 |
| 0605bd29-71d5-40ed-ab8f-eceeaaac59b5 | 
juju-98fb61-zaza-d6f2c7825043-8.project.serverstack |          4 | 
0605bd29-71d5-40ed-ab8f-eceeaaac59b5 | None                 |
+--------------------------------------+-----------------------------------------------------+------------+--------------------------------------+----------------------+


############ Mem Allocation ratio is 1:
$ openstack resource provider inventory list 
ca3fa736-7e60-4365-9cc8-7afc78b53005
+----------------+------------------+----------+----------+----------+-----------+-------+-------+
| resource_class | allocation_ratio | min_unit | max_unit | reserved | 
step_size | total |  used |
+----------------+------------------+----------+----------+----------+-----------+-------+-------+
| VCPU           |             16.0 |        1 |        8 |        0 |         
1 |     8 |     2 |
| MEMORY_MB      |              1.0 |        1 |    16008 |     2048 |         
1 | 16008 | 13960 |
| DISK_GB        |              1.0 |        1 |       77 |        0 |         
1 |    77 |    20 |
+----------------+------------------+----------+----------+----------+-----------+-------+-------+


$ openstack resource provider inventory list 
0605bd29-71d5-40ed-ab8f-eceeaaac59b5
+----------------+------------------+----------+----------+----------+-----------+-------+------+
| resource_class | allocation_ratio | min_unit | max_unit | reserved | 
step_size | total | used |
+----------------+------------------+----------+----------+----------+-----------+-------+------+
| VCPU           |             16.0 |        1 |        8 |        0 |         
1 |     8 |    0 |
| MEMORY_MB      |              1.0 |        1 |    16008 |     2048 |         
1 | 16008 |    0 |
| DISK_GB        |              1.0 |        1 |       77 |        0 |         
1 |    77 |    0 |
+----------------+------------------+----------+----------+----------+-----------+-------+------+

######## Hugepages: 1000 * 2M
root@juju-98fb61-zaza-d6f2c7825043-9:~# cat /proc/meminfo | grep -i huge
AnonHugePages:    622592 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:    1000
HugePages_Free:     1000
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:         2048000 kB


root@juju-98fb61-zaza-d6f2c7825043-9:~# free -mh
              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.5Gi        11Gi       1.0Mi       713Mi        11Gi
Swap:            0B          0B          0B


######## Host reserved memory is 2G:
$ juju config nova-compute reserved-host-memory
2048


######## Available Mem for general use (not hugepage)
I expect to have available memory for VMs = 16008 (total) - 2048 (reserved) - 
2048 (hugepages) = 11912


######## Flavor with mem 13960 (> of expected total available 11912)
$ os flavor show 14g-mem
+----------------------------+--------------------------------------+
| Field                      | Value                                |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled   | False                                |
| OS-FLV-EXT-DATA:ephemeral  | 0                                    |
| access_project_ids         | None                                 |
| description                | None                                 |
| disk                       | 20                                   |
| id                         | 377de58b-7aa2-499d-9940-abf98aaa5a8a |
| name                       | 14g-mem                              |
| os-flavor-access:is_public | True                                 |
| properties                 |                                      |
| ram                        | 13960                                |
| rxtx_factor                | 1.0                                  |
| swap                       |                                      |
| vcpus                      | 2                                    |
+----------------------------+--------------------------------------+


###### VM with flavor 14g-mem is scheduled correctly (Expected No Valid host)
$ os server list -c ID -c Name -c Status -c "Flavor"
+--------------------------------------+---------+--------+---------+
| ID                                   | Name    | Status | Flavor  |
+--------------------------------------+---------+--------+---------+
| fd5c8bc9-22a6-4f5e-b745-026fa00e26ea | test-vm | ACTIVE | 14g-mem |
+--------------------------------------+---------+--------+---------+

** Project changed: nova => ubuntu

** Package changed: ubuntu => nova (Ubuntu)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1950186

Title:
  Nova doesn't account for hugepages when scheduling VMs

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nova/+bug/1950186/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to