Bug 1299622

Summary: After Detect undercloud, spinning "Loading..." message
Product: Red Hat Quickstart Cloud Installer Reporter: Thom Carlin <tcarlin>
Component: Installation - RHELOSPAssignee: John Matthews <jmatthew>
Status: CLOSED NOTABUG QA Contact: Dave Johnson <dajohnso>
Severity: medium Docs Contact: Dan Macpherson <dmacpher>
Priority: unspecified    
Version: 1.0CC: apagac, bthurber, 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: 2016-01-21 16:57:27 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:

Description Thom Carlin 2016-01-18 19:16:29 UTC
Description of problem:

After detecting the undercloud successfully, can't get to Register Nodes screen

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

RHCIOOO-7-RHEL-7-20160118.t.0

How reproducible:

Uncertain

Steps to Reproduce:
1. Install RHCS-I and Triple O ISOs
2. Run fusor on each
3. Start deployment, try to get to 2B. Register Nodes

Actual results:

Spinning "Loading..." message in web UI

Expected results:

Successful installation

Additional info:

Connection timeout on SSH to public interface.

Can connect through 192.0.2.1.

/var/log/messages on Director has looping:
ironic-api: 2016-01-18 12:56:47.798 17280 DEBUG oslo_policy.policy [-] Reloaded policy file: /etc/ironic/policy.json _load_policy_file /usr/lib/python2.7/site-packages/oslo_policy/policy.py:403
ironic-api: 192.0.2.1 - - [18/Jan/2016 12:56:47] "GET / HTTP/1.0" 200 316
ironic-api: Traceback (most recent call last):
ironic-api: File "/usr/lib64/python2.7/wsgiref/handlers.py", line 86, in run
ironic-api: self.finish_response()
ironic-api: File "/usr/lib64/python2.7/wsgiref/handlers.py", line 128, in finish_response
ironic-api: self.write(data)
ironic-api: File "/usr/lib64/python2.7/wsgiref/handlers.py", line 212, in write
ironic-api: self.send_headers()
ironic-api: File "/usr/lib64/python2.7/wsgiref/handlers.py", line 270, in send_headers
ironic-api: self.send_preamble()
ironic-api: File "/usr/lib64/python2.7/wsgiref/handlers.py", line 191, in send_preamble
ironic-api: self._write('HTTP/%s %s\r\n' % (self.http_version,self.status))
ironic-api: File "/usr/lib64/python2.7/wsgiref/handlers.py", line 391, in _write
ironic-api: self.stdout.write(data)
ironic-api: File "/usr/lib64/python2.7/socket.py", line 324, in write
ironic-api: self.flush()
ironic-api: File "/usr/lib64/python2.7/socket.py", line 303, in flush
ironic-api: self._sock.sendall(view[write_offset:write_offset+buffer_size])
ironic-api: File "/usr/lib/python2.7/site-packages/eventlet/greenio/base.py", line 377, in sendall
ironic-api: tail = self.send(data, flags)
ironic-api: File "/usr/lib/python2.7/site-packages/eventlet/greenio/base.py", line 359, in send
ironic-api: total_sent += fd.send(data[total_sent:], flags)
ironic-api: error: [Errno 104] Connection reset by peer
ironic-api: 192.0.2.1 - - [18/Jan/2016 12:56:47] "GET / HTTP/1.0" 500 59
ironic-api: Traceback (most recent call last):
ironic-api: File "/usr/lib64/python2.7/SocketServer.py", line 593, in process_request_thread
ironic-api: self.finish_request(request, client_address)
ironic-api: File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
ironic-api: self.RequestHandlerClass(request, client_address, self)
ironic-api: File "/usr/lib64/python2.7/SocketServer.py", line 651, in __init__
ironic-api: self.finish()
ironic-api: File "/usr/lib64/python2.7/SocketServer.py", line 710, in finish
ironic-api: self.wfile.close()
ironic-api: File "/usr/lib64/python2.7/socket.py", line 279, in close
ironic-api: self.flush()
ironic-api: File "/usr/lib64/python2.7/socket.py", line 303, in flush
ironic-api: self._sock.sendall(view[write_offset:write_offset+buffer_size])
ironic-api: File "/usr/lib/python2.7/site-packages/eventlet/greenio/base.py", line 377, in sendall
ironic-api: tail = self.send(data, flags)
ironic-api: File "/usr/lib/python2.7/site-packages/eventlet/greenio/base.py", line 359, in send
ironic-api: total_sent += fd.send(data[total_sent:], flags)
ironic-api: error: [Errno 32] Broken pipe

Comment 1 Antonin Pagac 2016-01-18 19:28:35 UTC
I hit this issue as well.

Comment 2 Thom Carlin 2016-01-19 13:22:05 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1246525 doc text has proposed solution

Comment 3 Thom Carlin 2016-01-19 13:31:34 UTC
Seems to come from https://bugs.python.org/issue14574

Comment 4 Thom Carlin 2016-01-20 12:50:04 UTC
I may have conflated 2 issues:
1) The looping errors may be a different problem
2) Following worked:
   192.0.2.1 for network gateway
   192.0.2.254 for Director IP
   After launch-fusor-undercloud-installer finishes successfully, ip route replace default via <network_gateway> dev <public_nic>
gets past the "Loading.." problem to the Register Nodes screen.

Comment 5 John Matthews 2016-01-21 14:38:18 UTC
Closing this BZ as the root cause of the problem was a network setup different from what we recommend.

Please re-open if you feel this needs to be re-examined.

Comment 6 Jason Montleon 2016-01-21 16:57:27 UTC
oslo error are unrelated. 

This isn't a bug; if you're editing the default route maually after running through the installer then the network gateway entry is wrong. I know we had a discussion later in the day about hardware limitations, but ping me offline if you need further assistance with getting the routing between subnets configured properly.