Confusing fault reasion when the flavors disk size was too small
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Thang Pham |
Bug Description
Fedora-
$ nova boot fed_1G_2 --image Fedora-
$ nova show fed_1G_2
+------
| Property | Value |
+------
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-
| OS-EXT-
| OS-EXT-
| OS-EXT-STS:vm_state | error |
| OS-SRV-
| OS-SRV-
| accessIPv4 | |
| accessIPv6 | |
| config_drive | |
| created | 2014-06-
| fault | {"message": "No valid host was found. ", "code": 500, "created": "2014-06-
| flavor | m1.tiny (1) |
| hostId | a904a292f4eb7f6
| id | 3c908a54-
| image | Fedora-
| key_name | mykey |
| metadata | {} |
| name | fed_1G_2 |
| os-extended-
| private network | 10.1.0.5 |
| security_groups | default |
| status | ERROR |
| tenant_id | 1d26ad7003cf47e
| updated | 2014-06-
| user_id | bf52e56b9ca1464
+------
$ # nova flavor-list
+-----+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap_MB | VCPUs | RXTX_Factor | Is_Public |
+-----+
| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True |
| 42 | m1.nano | 64 | 0 | 0 | | 1 | 1.0 | True |
| 451 | m1.heat | 1024 | 0 | 0 | | 2 | 1.0 | True |
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
| 84 | m1.micro | 128 | 0 | 0 | | 1 | 1.0 | True |
+-----+
Many images requires minimum 2,5,10 Gib as minimum disk size, the 1 used by m1.tiny is frequently not enough.
It might be increased to 10 or the original 0 should be restored.
This bug is about why I see 'message": "No valid host was found. ", "code": 500, "created": "2014-06-
when "Flavor's disk is too small for requested image'" was raised on the n-cpu side.
It is confusing, 'No valid host was found' type of messages sounds like there is no n-cpu running, or all of them full.
instance: f62b56da-
Traceback (most recent call last):
File "/opt/stack/
yield resources
File "/opt/stack/
block_
File "/opt/stack/
admin_
File "/opt/stack/
project_
File "/opt/stack/
*args, **kwargs)
File "/opt/stack/
prepare_
File "/opt/stack/
return f(*args, **kwargs)
File "/opt/stack/
fetch_
File "/opt/stack/
max_
File "/opt/stack/
raise exception.
FlavorDiskTooS
description: | updated |
Changed in nova: | |
assignee: | nobody → Thang Pham (thang-pham) |
tags: | added: api |
Changed in nova: | |
importance: | Undecided → Medium |
Changed in nova: | |
milestone: | none → juno-2 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | juno-2 → 2014.2 |
Here's a theory:
We should catch the 3 Exceptions from _check_ requested_ image [1] in _build_ and_run_ instance [2] and NOT throw RescheduledExce ption. Currently the FlavorDiskTooSmall ends up in the last Exception block which reschedules the deploy a few times and finally ends up throwing NoValidHost.
[1] https:/ /github. com/openstack/ nova/blob/ master/ nova/compute/ api.py# L598 /github. com/openstack/ nova/blob/ master/ nova/compute/ manager. py#L1999
[2] https:/