Reviewed: https://review.openstack.org/326100 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=3988911ba7a923a247d64914b4209ad5f7d0d295 Submitter: Jenkins Branch: master
commit 3988911ba7a923a247d64914b4209ad5f7d0d295 Author: Jay Pipes <[email protected]> Date: Mon Jun 6 15:06:14 2016 -0400 Remove code referencing inventory table in cell DB The ComputeNode.save() and create() methods were still looking for fields that began with the prefix inv_ and treating those differently. Those fields are no longer in the return from compute_node_get() since the last patch reverted the code that joins compute_nodes to allocations and inventories within the cell DB. This patch undoes the calls to compute_node_get() that were done to grab that inventory information which should reduce the number of DB calls when compute nodes are saved or created. Change-Id: I5856c9e52c74e4f4530846f76f0a9d2735af23dc Closes-bug: #1572555 ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1572555 Title: Nova reports memory_mb=0 for available Ironic node Status in OpenStack Compute (nova): Fix Released Bug description: this is on latest devstack master and might be related to bug 1572472 Reproduce 1. deploy Ironic+Nova in DevStack as usual, 3 VMs x 1cpu,1024MB RAM,10GB disk posing as Ironic nodes ironic node-list +--------------------------------------+--------+---------------+-------------+--------------------+-------------+ | UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance | +--------------------------------------+--------+---------------+-------------+--------------------+-------------+ | bb785191-e548-4a6d-820e-bf2c5cdba922 | node-0 | None | power off | available | False | | 2a508e69-08ab-4b0e-abaa-39e4e268bd47 | node-1 | None | power off | available | False | | 9e0763d9-6f96-4327-a189-3bf12f5856ac | node-2 | None | power off | available | False | +--------------------------------------+--------+---------------+-------------+--------------------+-------------+ 2. check nova hypervisor-stats and nova hypervisor-show <node-uuid> for all hypervisors nova reports memory_mb=1024, local_gb=10 nova hypervisor-stats +----------------------+-------+ | Property | Value | +----------------------+-------+ | count | 3 | | current_workload | 0 | | disk_available_least | 30 | | free_disk_gb | 30 | | free_ram_mb | 3072 | | local_gb | 30 | | local_gb_used | 0 | | memory_mb | 3072 | | memory_mb_used | 0 | | running_vms | 0 | | vcpus | 3 | | vcpus_used | 0 | +----------------------+-------+ 3. put two ironic nodes into maintenance ironic node-set-maintenance node-1 on ironic node-set-maintenance node-2 on ironic node-list +--------------------------------------+--------+---------------+-------------+--------------------+-------------+ | UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance | +--------------------------------------+--------+---------------+-------------+--------------------+-------------+ | bb785191-e548-4a6d-820e-bf2c5cdba922 | node-0 | None | power off | available | False | | 2a508e69-08ab-4b0e-abaa-39e4e268bd47 | node-1 | None | power off | available | True | | 9e0763d9-6f96-4327-a189-3bf12f5856ac | node-2 | None | power off | available | True | +--------------------------------------+--------+---------------+-------------+--------------------+-------------+ 4. wait for nova hypervisor-stats to be updated Expected result: total memory_mb is 1024, total local_gb is 10 Actual result: total memory_mb is 0, total local_gb is 0 nova hypervisor-stats +----------------------+-------+ | Property | Value | +----------------------+-------+ | count | 3 | | current_workload | 0 | | disk_available_least | 10 | | free_disk_gb | 10 | | free_ram_mb | 1024 | | local_gb | 0 | | local_gb_used | 0 | | memory_mb | 0 | | memory_mb_used | 0 | | running_vms | 0 | | vcpus | 0 | | vcpus_used | 0 | +----------------------+-------+ also hypervisor-show shows these values as 0: nova hypervisor-show bb785191-e548-4a6d-820e-bf2c5cdba922 +-------------------------+--------------------------------------+ | Property | Value | +-------------------------+--------------------------------------+ | cpu_info | | | current_workload | 0 | | disk_available_least | 10 | | free_disk_gb | 10 | | free_ram_mb | 1024 | | host_ip | 192.168.100.12 | | hypervisor_hostname | bb785191-e548-4a6d-820e-bf2c5cdba922 | | hypervisor_type | ironic | | hypervisor_version | 1 | | id | 1 | | local_gb | 0 | | local_gb_used | 0 | | memory_mb | 0 | | memory_mb_used | 0 | | running_vms | 0 | | service_disabled_reason | None | | service_host | ironic | | service_id | 8 | | state | up | | status | enabled | | vcpus | 0 | | vcpus_used | 0 | +-------------------------+--------------------------------------+ Also, when "watch"ing hypervisor-stats I had a glimpse at correct values that immediately jumped to zero on next query. Due to this bug the instance is failing to be scheduled to the actually available Ironic node due to Nova scheduler's RamFilter removing all hosts To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1572555/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

