Bug 1300368

Summary: [Docs] 404 Not found at 90.4% of RHELOSP install
Product: Red Hat Quickstart Cloud Installer Reporter: Thom Carlin <tcarlin>
Component: doc-Release_NotesAssignee: rhci-docs
Status: CLOSED NOTABUG QA Contact: Dave Johnson <dajohnso>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 1.0CC: bthurber, jlabocki, jmatthew, jmontleo, juwu, tcarlin
Target Milestone: TP3Keywords: Triaged
Target Release: 1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: Invalid characters will cause a deployment to fail. In this example a "+" was used in the deployment name. Consequence: Computed values in the deployment are based on the deployment name, when invalid characters are present the deployment will break. Fix: Limit the characters in a deployment name not be alphanumeric only, "a" through "z", and "0" to "9", no other symbols. Result:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-08 00:25:40 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:

Description Thom Carlin 2016-01-20 15:14:07 UTC
Description of problem:

During install of OpenStack + CFME, received "404 Not Found" at 90.4% in RHELOSP

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

RHCIOOO-7-RHEL-7-20160118.t.2

How reproducible:

Unsure

Steps to Reproduce:
1. Install RHCS-I and Triple O ISOs
2. Log into each to run fusor installers
3. Deploy OpenStack and CloudForms

Actual results:

RHELOSP task fails at 90.4%

Expected results:

Successful install

Additional info:

Same hardware installed OpenStack only successfully yesterday.

Deploy deployment-name is 50%
Expected([200]) <=> Actual(404 Not Found)
  response => #<Excon::Response:0x0000000bc0e8a0 @data={:body=>"{\"error\": {\"message\": \"Could not find project: <deployment_name>\", \"code\": 404, \"title\": \"Not Found\"}}", :headers=>{"Vary"=>"X-Auth-Token", "Content-Type"=>"application/json", "Content-Length"=>"108", "X-Openstack-Request-Id"=>"req-c23a47ef-5a8a-48ea-a699-5bc9cf8d4a4e", "Date"=>"Wed, 20 Jan 2016 15:00:05 GMT"}, :status=>404, :remote_ip=>"<remote_ip>", :local_port=>36471, :local_address=>"<local_ip>"}, @body="{\"error\": {\"message\": \"Could not find project: <deployment-name>\", \"code\": 404, \"title\": \"Not Found\"}}", @headers={"Vary"=>"X-Auth-Token", "Content-Type"=>"application/json", "Content-Length"=>"108", "X-Openstack-Request-Id"=>"req-c23a47ef-5a8a-48ea-a699-5bc9cf8d4a4e", "Date"=>"Wed, 20 Jan 2016 15:00:05 GMT"}, @status=404, @remote_ip="<remote_ip>", @local_port=36471, @local_address="<local_ip>">

Comment 1 Thom Carlin 2016-01-20 15:14:54 UTC
/opt/rh/ruby193/root/usr/share/gems/gems/excon-0.38.0/lib/excon/middlewares/expects.rb:10:in `response_call'
/opt/rh/ruby193/root/usr/share/gems/gems/excon-0.38.0/lib/excon/middlewares/response_parser.rb:26:in `response_call'
/opt/rh/ruby193/root/usr/share/gems/gems/docker-api-1.17.0/lib/excon/middlewares/hijack.rb:45:in `response_call'
/opt/rh/ruby193/root/usr/share/gems/gems/excon-0.38.0/lib/excon/connection.rb:402:in `response'
/opt/rh/ruby193/root/usr/share/gems/gems/excon-0.38.0/lib/excon/connection.rb:272:in `request'
/opt/rh/ruby193/root/usr/share/gems/gems/fog-core-1.24.0/lib/fog/core/connection.rb:64:in `request'
/opt/rh/ruby193/root/usr/share/gems/gems/fog-1.24.0/lib/fog/openstack/identity.rb:222:in `request'
/opt/rh/ruby193/root/usr/share/gems/gems/fog-1.24.0/lib/fog/openstack/requests/identity/get_tenants_by_name.rb:9:in `get_tenants_by_name'
/opt/rh/ruby193/root/usr/share/gems/gems/fusor_server-0.0.1/app/lib/actions/fusor/deployment/openstack/overcloud_configuration.rb:67:in `configure_networks'
/opt/rh/ruby193/root/usr/share/gems/gems/fusor_server-0.0.1/app/lib/actions/fusor/deployment/openstack/overcloud_configuration.rb:40:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:487:in `block (3 levels) in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/progress.rb:30:in `with_progress_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/progress.rb:16:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.73/app/lib/actions/middleware/keep_locale.rb:23:in `block in run'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.73/app/lib/actions/middleware/keep_locale.rb:34:in `with_locale'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.73/app/lib/actions/middleware/keep_locale.rb:23:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:486:in `block (2 levels) in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:485:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:485:in `block in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `block in with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:480:in `execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:262:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:9:in `block (2 levels) in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract.rb:155:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract.rb:155:in `with_meta_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:8:in `block in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:22:in `open_action'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:7:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/worker.rb:20:in `block in on_message'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:859:in `block in assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `tap'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:138:in `match_value'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:116:in `block in match'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `match'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/worker.rb:17:in `on_message'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:82:in `on_envelope'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:72:in `receive'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:99:in `block (2 levels) in run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:99:in `loop'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:99:in `block in run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:99:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:99:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/micro_actor.rb:13:in `block in initialize'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'

Comment 2 Jason Montleon 2016-01-20 15:31:48 UTC
Can you provide redacted ouput, in a private comment if you're concerned, and get the traceback from the top, please

Comment 3 Jason Montleon 2016-01-20 15:32:09 UTC
unredacted output that is.

Comment 4 Thom Carlin 2016-01-20 15:42:52 UTC
Provided privately

Comment 5 Thom Carlin 2016-01-20 15:45:50 UTC
After discussion, we believe this is due to a plus sign (+) in the deployment name.

Comment 6 Thom Carlin 2016-01-20 15:54:51 UTC
See 1261653 comment 3

Comment 8 Jason Montleon 2016-01-20 20:38:33 UTC
https://github.com/fusor/fusor/pull/631 will in part address this; we'll have to start using label instead of name once it is merged.

Comment 9 Julie 2016-04-05 01:24:49 UTC
Hi John,
   In addition to adding the known issue to the Release Notes, I think in the deployment procedure, we should also tell users to limit the deployment name to only alphabets and numbers. Is that correct?

Cheers,
Julie

Comment 10 John Matthews 2016-04-07 02:54:11 UTC
Julie,

After this BZ was filed we ended up fixing the underlying issue, so the use of "+" or non-standard characters in the deployment name is not breaking a CFME on OSP deployment.

I'd recommend verifying with QE that this is no longer an issue, then let's drop this from the release notes.

Comment 11 Thom Carlin 2016-04-07 11:33:52 UTC
Yes, this is no longer an issue

Comment 12 Julie 2016-04-08 00:25:40 UTC
Thanks!
Based on #comment10 and #comment11, closing this bug as NOTABUG.

Cheers,
Julie