Bug 852843

Summary: rhc domain create doesn't present the wizard for creating an ssh key
Product: OKD Reporter: Luke Meyer <lmeyer>
Component: ocAssignee: Clayton Coleman <ccoleman>
Status: CLOSED UPSTREAM QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 2.xCC: johnp
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-31 21:29:42 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 Luke Meyer 2012-08-29 18:26:28 UTC
Description of problem:
When I initially create a domain with the admin user and the .openshift/express.conf, I don't get an ssh key created. Thus I can't create any apps unless I manually upload an ssh key.

Basically, the problem ("feature") is that rhc doesn't run the setup wizard if the user has a .openshift/express.conf. The public instance is the default so that's not a problem outside yet. Our devenv sets up /etc/openshift/express.conf, so it's not an issue there either.

So the use case here is for on-premise. With an on-premise installation, the user may not be able to set up /etc/openshift/express.conf; they may have to use ~/.openshift/express.conf in order to connect to the broker in the first place. In that case, they'll never get a wizard, and will be confused when they try to follow the same process they used on the public instance.

Version-Release number of selected component (if applicable):
rhc-0.98.3-1.el6_3.noarch

Steps to Reproduce:
1. Set up a new user on an openshift instance (admin on devenv is fine as a no-op). 
2. Configure ~/.openshift/express.conf to point to that instance.
3. Run rhc domain create

#########################################################3  
Actual results:
[root@broker ~]# rhc domain create -n test

Creating domain with namespace 'test'

Password: *****

RESULT:
Success!
You may now create an application using the 'rhc app create' command

[root@broker ~]# rhc app create -a testapp -t php-5.3
Password: *****

Creating application: testapp in test
Now your new domain name is being propagated worldwide (this might take a minute)...
The authenticity of host 'testapp-test.example.com (10.11.235.81)' can't be established.
RSA key fingerprint is 2e:98:19:ff:dc:be:72:0a:a2:a3:8b:7c:ba:e5:69:a3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'testapp-test.example.com,10.11.235.81' (RSA) to the list of known hosts.
4f46f7f4fec8409a844f4b914fac10.com's password: 
Permission denied, please try again.

#########################################################
Expected results:

Wizard should have come up on that first step and created an ssh key for ya.

Additional info:

Not sure quite how to resolve in the end. 
* How about allowing the user to enter the server they want to contact?
* Or, just check when doing domain stuff if they have an ssh key and go through the wizard if they don't.

We can work around it for now but I think we need resolution before shipping.

Comment 1 John (J5) Palmieri 2012-08-31 21:04:37 UTC
This needs to be a complete story.  Domains aren't linked to ssh keys anymore.  The previous behaviour was a side effect of the api requiring both a key and namespace to add a domain.  In normal operation on the public openshift server this would only happen if the user declined to upload or generate ssh key, or in the extreme case, deleted their ssh key so it isn't much of an issue and can be fixed by running rhc setup.  Checking for ssh keys on each command is a slow procedure that would only show up in very small cases.

For on-premise I can see this being an issue, especially if there are multiple on-premise servers.  The solution is going to need a whole cycle to complete.  We need to create an rhc that works for on-premise but is not onerous for OpenShift people to use.  I'm going to create a story and then close this upstream.