Bug 1014332

Summary: Installer should provide users a way to test/verify DB connectivity (as JON installer does) before performing the install
Product: [JBoss] JBoss Fuse Service Works 6 Reporter: Len DiMaggio <ldimaggi>
Component: InstallerAssignee: Thomas Hauser <thauser>
Status: CLOSED CURRENTRELEASE QA Contact: Len DiMaggio <ldimaggi>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 6.0.0 GACC: jsedlace, soa-p-jira
Target Milestone: ER7   
Target Release: 6.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-06 15:26:04 UTC Type: Enhancement
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Len DiMaggio 2013-10-01 18:12:38 UTC
Description of problem:

There is no validation of the DB connectivity properties that the user enters into the installer. If there is an error or typo in the DB URL, username, etc. then the user will not be informed until the end of the installation.

Can we add a 'connection test' feature such as is provided by the JON installer?


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

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Len DiMaggio 2013-10-11 19:15:38 UTC
With out this type of built in test tool, users can mis-type a DB URL and then have to re-run the entire installation when it fails:


The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any pack
ets from the server.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1122)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344)
	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2181)
	... 26 more
Caused by: java.net.UnknownHostException: localost: Name or service not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:894)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1286)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1239)
	at java.net.InetAddress.getAllByName(InetAddress.java:1155)
	at java.net.InetAddress.getAllByName(InetAddress.java:1091)
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:246)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:293)
	... 27 more

Comment 2 Thomas Hauser 2013-10-11 19:41:48 UTC
This type of validation has been added to the post-beta installer:

When the user clicks next, their connection will be tested (not optional.) They will be warned about the status of this connection (failure, missing driver, etc) and allowed to continue (perhaps they can correct the problem immediately outside the installer). Let me know if this isn't sufficient.

Comment 3 Jiri Sedlacek 2013-12-12 13:13:14 UTC
verified in ER7