When Launching a new Instance, all flavors are displayed regardless of the image requirements
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Fix Released
|
Wishlist
|
Matt Wagner |
Bug Description
Regardless of an image's disk and RAM requirements, all flavors are available in the drop-down menu when Launching a new instance. Therefore you can end up using e.g. a m1.tiny flavour with 512Mb RAM with an image that requires at least 2Gb of RAM.
To reproduce:
1. Create a new image, setting the minimum RAM requirement to 2048MB
2. After the image is uploaded, try to Launch it
Actual results:
3. The flavor selected by default is m1.tiny, which doesn't actually provide enough RAM for the image.
After clicking Launch, the instance fails to launch with an error message "Error: There was an error submitting the form. Please try again." (* )
Expected results:
3. Horizon should default to an appropriate flavor, and probably prevent the user from launching an image with a flavor that doesn't meet the image's requirements.
The UI should also be enhanced to display the image's requirements. At the moment, there is no indication what an image's requirements are when launching a new instance.
(*) This was on a recent grizzly devstack. I also tested in a Folsom devstack and received a better error message back: "Instance type's memory is too small for requested image. (HTTP 400)". This is still visible in the logs - RESP BODY: {"badRequest": {"message": "Instance type's memory is too small for requested image.", "code": 400}}. It's unfortunate we appear to have lost the clearer error message along the way.
Changed in horizon: | |
status: | New → Confirmed |
Changed in horizon: | |
importance: | Undecided → Wishlist |
Changed in horizon: | |
assignee: | nobody → Matt Wagner (matt-wagner) |
Changed in horizon: | |
milestone: | none → icehouse-1 |
status: | Fix Committed → Fix Released |
Changed in horizon: | |
milestone: | icehouse-1 → 2014.1 |
Ah, with regard to the less useful error message, my local settings had the following in it (the devstack default):
HORIZON_CONFIG = { dashboard' : 'project',
'dashboards': ('project', 'admin', 'settings',),
'default_
}
which overwrites the much more useful HORIZON_CONFIG in settings.py, and gets merged with the Horizon default config at https:/ /github. com/openstack/ horizon/ blob/master/ horizon/ conf/default. py which has empty arrays for the exception types that are surfaced back.
Removing or updating the local settings' HORIZON_CONFIG got me the nicer error message back.