No feedback provided when unshelving Vms on systems with no capacity to unshelve

Bug #2071376 reported by Steven Parker
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
New
Undecided
Unassigned

Bug Description

Description
===========
User is not provided any feedback that unshelving of a VM is failing due to lack of capacity on the cloud. In fact there is no status that an error occurred resulting in the end user assuming that the openstack CLI/API may have issues executing the request.

Steps to reproduce
=================
Attempt unshelve command on system with no capacity to place the VM.

Expected result
===============
Provide feedback to end users that command failed. Either via CLI output or via the openstack server show command.

Actual result
=============
After command: openstack server unshelve is executed. We get the following status.

From nova cloud controller logs after unshelve of VM is requested via openstack CLI.

juju ssh nova-cloud-controller/0 grep dc587e54-72db-4825-96c5-13175f14460d /var/log/nova/*
/var/log/nova/nova-conductor.log:2024-06-26 21:17:23.068 10887 ERROR nova.conductor.tasks.migrate [req-9e20410f-d0d7-4309-a747-040b05b61ac9 9c75e46675c34ecc84ed6eae6c07dae3 995e6cec9fd0489fa1482f9445dee780 - default default] [instance: dc587e54-72db-4825-96c5-13175f14460d] Unable to replace resource claim on source host compute1.maas node compute1.maas for instance
/var/log/nova/nova-conductor.log:2024-06-26 21:17:23.077 10887 WARNING nova.scheduler.utils [req-9e20410f-d0d7-4309-a747-040b05b61ac9 9c75e46675c34ecc84ed6eae6c07dae3 995e6cec9fd0489fa1482f9445dee780 - default default] [instance: dc587e54-72db-4825-96c5-13175f14460d] Setting instance to ACTIVE state.: nova.exception.NoValidHost: No valid host was found. Unable to replace instance claim on source
/var/log/nova/nova-conductor.log:2024-06-26 21:17:43.369 10921 ERROR nova.conductor.tasks.migrate [req-ea08150c-c3e2-4d08-b65b-086ed4d70df2 9c75e46675c34ecc84ed6eae6c07dae3 995e6cec9fd0489fa1482f9445dee780 - default default] [instance: dc587e54-72db-4825-96c5-13175f14460d] Unable to replace resource claim on source host compute1.maas node compute1.maas for instance
/var/log/nova/nova-conductor.log:2024-06-26 21:17:43.377 10921 WARNING nova.scheduler.utils [req-ea08150c-c3e2-4d08-b65b-086ed4d70df2 9c75e46675c34ecc84ed6eae6c07dae3 995e6cec9fd0489fa1482f9445dee780 - default default] [instance: dc587e54-72db-4825-96c5-13175f14460d] Setting instance to ACTIVE state.: nova.exception.NoValidHost: No valid host was found. Unable to replace instance claim on source
/var/log/nova/nova-conductor.log:2024-06-26 21:19:37.194 10897 ERROR nova.conductor.tasks.migrate [req-b130a337-d50e-4dc3-993a-839183948597 9c75e46675c34ecc84ed6eae6c07dae3 995e6cec9fd0489fa1482f9445dee780 - default default] [instance: dc587e54-72db-4825-96c5-13175f14460d] Unable to replace resource claim on source host compute1.maas node compute1.maas for instance
/var/log/nova/nova-conductor.log:2024-06-26 21:19:37.202 10897 WARNING nova.scheduler.utils [req-b130a337-d50e-4dc3-993a-839183948597 9c75e46675c34ecc84ed6eae6c07dae3 995e6cec9fd0489fa1482f9445dee780 - default default] [instance: dc587e54-72db-4825-96c5-13175f14460d] Setting instance to STOPPED state.: nova.exception.NoValidHost: No valid host was found. Unable to replace instance claim on source
/var/log/nova/nova-scheduler.log:2024-06-26 21:21:09.217 9986 INFO nova.filters [req-c3150035-ebd6-40f4-9cd8-0d77dbfdf9b8 9c75e46675c34ecc84ed6eae6c07dae3 995e6cec9fd0489fa1482f9445dee780 - default default] Filtering removed all hosts for the request with instance ID 'dc587e54-72db-4825-96c5-13175f14460d'. Filter results: ['RetryFilter: (start: 32, end: 32)', 'AvailabilityZoneFilter: (start: 32, end: 7)', 'ComputeFilter: (start: 7, end: 7)', 'ComputeCapabilitiesFilter: (start: 7, end: 7)', 'ImagePropertiesFilter: (start: 7, end: 7)', 'ServerGroupAntiAffinityFilter: (start: 7, end: 7)', 'ServerGroupAffinityFilter: (start: 7, end: 7)', 'DifferentHostFilter: (start: 7, end: 7)', 'SameHostFilter: (start: 7, end: 7)', 'PciPassthroughFilter: (start: 7, end: 7)', 'NUMATopologyFilter: (start: 7, end: 7)', 'AggregateInstanceExtraSpecsFilter: (start: 7, end: 0)']

However status of server does not indicate failure of unshelve command:

openstack server show dc587e54-72db-4825-96c5-13175f14460d
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-SRV-ATTR:host | None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name | instance-000005c7 |
| OS-EXT-STS:power_state | Shutdown |
| OS-EXT-STS:task_state | None |
| OS-EXT-STS:vm_state | shelved_offloaded |
| OS-SRV-USG:launched_at | 2021-06-28T05:43:36.000000 |
| OS-SRV-USG:terminated_at | None |
...

| status | SHELVED_OFFLOADED |
| updated | 2024-06-26T21:38:44Z

Environment
===========
dpkg -l | grep nova
ii nova-api-os-compute 2:21.2.4-0ubuntu2.6 all OpenStack Compute - OpenStack Compute API frontend
ii nova-common 2:21.2.4-0ubuntu2.6 all OpenStack Compute - common files
ii nova-conductor 2:21.2.4-0ubuntu2.6 all OpenStack Compute - conductor service
ii nova-scheduler 2:21.2.4-0ubuntu2.6 all OpenStack Compute - virtual machine scheduler
ii nova-spiceproxy 2:21.2.4-0ubuntu2.6 all OpenStack Compute - spice html5 proxy
ii python3-nova 2:21.2.4-0ubuntu2.6 all OpenStack Compute Python 3 libraries
ii python3-novaclient 2:17.0.0-0ubuntu1 all client library for OpenStack Compute API - 3.x

Feature Request
+++++++++++++++
Request feature to provide feedback to the end user when an unshelve command fails at least in the specific case of capacity limits causing the request to fail. |

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.