Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1643419

Summary: [RHOSP 13]Impossible to start VM with cinder-backed image if volume size is bigger than compute disk
Product: Red Hat OpenStack Reporter: Alex Stupnikov <astupnik>
Component: openstack-novaAssignee: OSP DFG:Compute <osp-dfg-compute>
Status: CLOSED WONTFIX QA Contact: OSP DFG:Compute <osp-dfg-compute>
Severity: high Docs Contact:
Priority: unspecified    
Version: 13.0 (Queens)CC: berrange, dasmith, eglynn, jhakimra, kchamart, lyarwood, nsatsia, sbauza, sgordon, vromanso
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1643420 (view as bug list) Environment:
Last Closed: 2018-11-09 13:44:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1643420    

Description Alex Stupnikov 2018-10-26 08:20:37 UTC
Description of problem:

It looks like our customer faced bug [1]. But I may be wrong here, so even if bug [1] is irrelevant, this issue should be investigated.

Steps to reproduce:

1. Create a flavor with Root Disk larger than the size of compute's HDD
2. Doublecheck if you cinder has a space needed to host a volume for new flavor
3. Start an instance, select to create cinder volume from image.

Expected result: instance is started, since its root disk has nothing to do with compute's storage.

Actual result:

2018-10-26 08:02:15.047 24 ERROR nova.conductor.manager
    [req-65c6afc6-ee49-441c-adb1-23124f4cf28a b060f0bc09a74078820c46c934fe3c69 04d59562b2e5433eaa1465aca73cb06f - default default]
    Failed to schedule instances: NoValidHost_Remote: No valid host was found. 
Traceback (most recent call last):

  File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 226, in inner
    return func(*args, **kwargs)

  File "/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 139, in select_destinations
    raise exception.NoValidHost(reason="")


Workaround: to use a flavor with smaller root disk size and manually set a bigger one when creating an instance.

[1] https://bugs.launchpad.net/nova/+bug/1469179

Comment 2 Lee Yarwood 2018-11-09 13:44:20 UTC
I'm closing both this and the OSP 12 clone out as WONTFIX.

For OSP 13, 12, 10 etc the only way to workaround this issue is to use specific volume flavors with disk_gb set to 0 or remove the DiskFilter from the scheduler entirely.

For OSP 14 DISK_GB is no longer used to filter computes during scheduling and is no longer accounted as local disk usage in the os-hypervisors API. See the following changes for more details on this:

Avoid requesting DISK_GB allocation for root_gb on BFV instances
https://review.openstack.org/#/c/580720/ 

Report 0 root_gb in resource tracker if instance is bfv.
https://review.openstack.org/#/c/584204/ 

Properly track local root disk usage during moves
https://review.openstack.org/#/c/608777/ 

Unfortunately this work is not backportable to prior releases.

For more information on this please see the following etherpad for the upcoming Berlin OpenStack Summit Forum sessions on improving the current boot from volume experience:

https://etherpad.openstack.org/p/BER-bfv-improvements

Comment 3 Alex Stupnikov 2018-11-16 15:30:08 UTC
Just to note for future seekers: it is impossible to solve this issue by excluding DiskFilter from a list of nova.conf scheduler filters. It is not even included in enabled_filters list in RHOSP 12/13. Please check article [1] for possible workarounds.

[1] https://access.redhat.com/solutions/3684831