Bug 1298660

Summary: OpenStack install can proceed without specifying all flavors
Product: Red Hat Quickstart Cloud Installer Reporter: Thom Carlin <tcarlin>
Component: WebUIAssignee: Jason Montleon <jmontleo>
Status: VERIFIED --- QA Contact: Dave Johnson <dajohnso>
Severity: high Docs Contact:
Priority: unspecified    
Version: 1.0CC: jmatthew, jmontleo
Target Milestone: TP2Keywords: Triaged
Target Release: 1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:

Description Thom Carlin 2016-01-14 16:56:25 UTC
Description of problem:

In older versions, needed to assign all flavors to nodes.  In current version, can proceed with only some flavors assigned.  This results in an error during OpenStack deployment.

Version-Release number of selected component (if applicable):

RHCI-6.0-RHEL-7-20160107.t.1

How reproducible:

100%

Steps to Reproduce:
1. Install both ISOs
2. Configure both systems
3. Deploy OpenStack, assigning Controller and Compute flavors to nodes but NOT the others.
4. Proceed with deployment

Actual results:

Error (see below)

Expected results:

Not being able to proceed during assignment

Additional info:

Expected(201) <=> Actual(400 Bad Request)

  response => #<Excon::Response:0x0000000b315708 @data={:body=>"{\"explanation\": \"The server could not comply with the request since it is either malformed or otherwise incorrect.\", \"code\": 400, \"error\": {\"message\": \"The Parameter (Cinder-Storage-1::Flavor) was not provided.\", \"traceback\": \"Traceback (most recent call last):\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/common/context.py\\\", line 300, in wrapped\\n    return func(self, ctx, *args, **kwargs)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 670, in create_stack\\n    parent_resource_name)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 578, in _parse_template_and_validate_stack\\n    stack.validate()\\n\\n  File \\\"/usr/lib/python2.7/site-packages/osprofiler/profiler.py\\\", line 105, in wrapper\\n    return f(*args, **kwargs)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/stack.py\\\", line 574, in validate\\n    validate_value=self.strict_validate)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/parameters.py\\\", line 495, in validate\\n    param.validate(validate_value, context)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/parameters.py\\\", line 233, in validate\\n    raise exception.UserParameterMissing(key=self.name)\\n\\nUserParameterMissing: The Parameter (Cinder-Storage-1::Flavor) was not provided.\\n\", \"type\": \"UserParameterMissing\"}, \"title\": \"Bad Request\"}", :headers=>{"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"1358", "X-Openstack-Request-Id"=>"req-0d73d298-ea8e-49a8-8f50-aeaccb0c72dd", "Date"=>"Thu, 14 Jan 2016 16:35:43 GMT"}, :status=>400, :remote_ip=>"192.0.2.1", :local_port=>48884, :local_address=>"192.0.2.100"}, @body="{\"explanation\": \"The server could not comply with the request since it is either malformed or otherwise incorrect.\", \"code\": 400, \"error\": {\"message\": \"The Parameter (Cinder-Storage-1::Flavor) was not provided.\", \"traceback\": \"Traceback (most recent call last):\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/common/context.py\\\", line 300, in wrapped\\n    return func(self, ctx, *args, **kwargs)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 670, in create_stack\\n    parent_resource_name)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 578, in _parse_template_and_validate_stack\\n    stack.validate()\\n\\n  File \\\"/usr/lib/python2.7/site-packages/osprofiler/profiler.py\\\", line 105, in wrapper\\n    return f(*args, **kwargs)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/stack.py\\\", line 574, in validate\\n    validate_value=self.strict_validate)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/parameters.py\\\", line 495, in validate\\n    param.validate(validate_value, context)\\n\\n  File \\\"/usr/lib/python2.7/site-packages/heat/engine/parameters.py\\\", line 233, in validate\\n    raise exception.UserParameterMissing(key=self.name)\\n\\nUserParameterMissing: The Parameter (Cinder-Storage-1::Flavor) was not provided.\\n\", \"type\": \"UserParameterMissing\"}, \"title\": \"Bad Request\"}", @headers={"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"1358", "X-Openstack-Request-Id"=>"req-0d73d298-ea8e-49a8-8f50-aeaccb0c72dd", "Date"=>"Thu, 14 Jan 2016 16:35:43 GMT"}, @status=400, @remote_ip="192.0.2.1", @local_port=48884, @local_address="192.0.2.100">

Comment 1 jmagen@redhat.com 2016-01-17 12:21:13 UTC
This was discussed previously and decided that the UI would enable "Next" if there was at least 1 Controller and 1 Compute assigned. All the others will be defaulted by the backend. 

So, my assumption is that this is a backend bug and not webUI bug.

Comment 2 Jason Montleon 2016-01-19 20:12:06 UTC
https://github.com/fusor/egon/pull/53/files

Comment 3 John Matthews 2016-01-22 20:20:03 UTC
Compose of 1/22/16

Comment 4 Antonin Pagac 2016-02-05 13:02:24 UTC
Verified.

RHCI-6.0-RHEL-7-20160204.t.1-RHCI-x86_64-dvd1.iso
RHCIOOO-7-RHEL-7-20160127.0-RHCIOOO-x86_64-dvd1.iso