Bug 831771

Summary: Can't enter password with rpms for commander and highline in Fedora 17
Product: OKD Reporter: Dan McPherson <dmcphers>
Component: ocAssignee: John (J5) Palmieri <johnp>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.xCC: jkeck, rmillner, xtian
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 0.94.7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-25 18:27:24 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 Dan McPherson 2012-06-13 18:22:53 UTC
Description of problem:
Can't enter password with rpms for commander and highline in Fedora 17:

rubygem-commander.noarch                                 4.0.6-3.fc17                    
rubygem-highline.noarch                                  1.6.11-1.fc17                                


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


How reproducible:


Steps to Reproduce:
1. On a clean Fedora 17 yum install rubygem-commander rubygem-highline
2. install the rhc gem via the gem install
3. run create domain
  
Actual results:
You can't enter the password.  Enter output a *

Expected results:
You should be able to enter a password


Additional info:

Comment 1 John (J5) Palmieri 2012-06-19 19:48:41 UTC
I'm guessing it is picking up highline 1.5.0 which masks the enter key with "**".  I added a fix to require highline >= 1.5.1 which seems to have fixed this bug.

Can you confirm that hitting enter just outputs extra "*" characters (as opposed to doing nothing)

Also run 'gem list' and past the output for highline here.

Thanks.

Comment 2 Dan McPherson 2012-06-19 19:56:26 UTC
Hitting enter did add an extra *


I already uninstalled the rpms and installed the gems to get my system to work.  But here is the output of gem list:

[dmcphers@mcpherson li]$ gem list

*** LOCAL GEMS ***

addressable (2.2.8, 2.2.6)
archive-tar-minitar (0.5.2)
aws-sdk (1.4.1)
bigdecimal (1.1.0)
bundler (1.0.21)
commander (4.1.2)
crack (0.3.1)
diff-lcs (1.1.2)
fakefs (0.4.0)
highline (1.6.12, 1.5.0)
httparty (0.8.1)
idn (0.0.2)
io-console (0.3)
json (1.6.5)
mime-types (1.16)
multi_json (1.0.3)
multi_xml (0.4.1)
net-ssh (2.5.2)
nokogiri (1.5.2)
parseconfig (0.5.2)
rake (0.9.2.2)
rdoc (3.12)
rest-client (1.6.1)
rhc (0.94.3)
rspec (2.8.0, 1.3.0)
rspec-core (2.8.0)
rspec-expectations (2.8.0)
rspec-mocks (2.8.0)
ruby2ruby (1.2.4)
ruby_parser (2.0.4)
sexp_processor (3.0.4)
simplecov (0.6.4)
simplecov-html (0.5.3)
test-unit (2.4.5)
thor (0.14.6)
uuidtools (2.1.2)
webmock (1.7.10)


I do still have 1.5.0 installed but it is working now.

Comment 3 Xiaoli Tian 2012-06-20 10:54:36 UTC
Verified it on devenv_1859, it will reported error:
Could not find highline (~> 1.5.0) amongst [archive-tar-minitar-0.5.2, bigdecimal-1.1.0, commander-4.0.6, highline-1.6.11, io-console-0.3, json-1.6.5, mime-types-1.18, net-ssh-2.5.2, rdoc-3.12, rest-client-1.6.7, rhc-0.94.7, test-unit-2.5.0] (Gem::LoadError)


In a clean F17, yum installed rubygem-commander rubygem-highline
Running Transaction
  Installing : rubygem-highline-1.6.11-1.fc17.noarch                                                                                                                                                                                     1/2 
  Installing : rubygem-commander-4.0.6-3.fc17.noarch  

#gem install rhc successfully

#rhc setup or #rhc domain create 
/usr/share/rubygems/rubygems/dependency.rb:247:in `to_specs': Could not find highline (~> 1.5.0) amongst [archive-tar-minitar-0.5.2, bigdecimal-1.1.0, commander-4.0.6, highline-1.6.11, io-console-0.3, json-1.6.5, mime-types-1.18, net-ssh-2.5.2, rdoc-3.12, rest-client-1.6.7, rhc-0.94.7, test-unit-2.5.0] (Gem::LoadError)
	from /usr/share/rubygems/rubygems/specification.rb:777:in `block in activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:766:in `each'
	from /usr/share/rubygems/rubygems/specification.rb:766:in `activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:750:in `activate'
	from /usr/share/rubygems/rubygems/specification.rb:780:in `block in activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:766:in `each'
	from /usr/share/rubygems/rubygems/specification.rb:766:in `activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:750:in `activate'
	from /usr/share/rubygems/rubygems.rb:1232:in `gem'
	from /usr/local/bin/rhc:22:in `<main>'

[root@F17x64-openshift openshift]# gem list

*** LOCAL GEMS ***

archive-tar-minitar (0.5.2)
bigdecimal (1.1.0)
commander (4.0.6)
highline (1.6.11)
io-console (0.3)
json (1.6.5)
mime-types (1.18)
net-ssh (2.5.2)
rdoc (3.12)
rest-client (1.6.7)
rhc (0.94.7)
test-unit (2.5.0)


I think we should upgrade the required gems while installing but not notify user when user starts to use it, how do you think?

Comment 4 Xiaoli Tian 2012-06-20 11:09:22 UTC
After install highline-1.5.0

#gem install highline -v 1.5.0
Fetching: highline-1.5.0.gem (100%)
Successfully installed highline-1.5.0
1 gem installed
Installing ri documentation for highline-1.5.0...
Installing RDoc documentation for highline-1.5.0...
[root@F17x64-openshift openshift]# rhc setup
/usr/share/rubygems/rubygems/specification.rb:774:in `block in activate_dependencies': can't satisfy 'highline (>= 1.5.1)', already activated 'highline-1.5.0' (Gem::LoadError)
	from /usr/share/rubygems/rubygems/specification.rb:766:in `each'
	from /usr/share/rubygems/rubygems/specification.rb:766:in `activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:750:in `activate'
	from /usr/share/rubygems/rubygems.rb:1232:in `gem'
	from /usr/local/bin/rhc:22:in `<main>'

After install highline -v 1.5.1 manually, it works:
root@F17x64-openshift openshift]# gem install highline -v 1.5.1
Fetching: highline-1.5.1.gem (100%)
Successfully installed highline-1.5.1
1 gem installed
Installing ri documentation for highline-1.5.1...
Installing RDoc documentation for highline-1.5.1...

[root@F17x64-openshift openshift]# rhc setup

Starting Interactive Setup for OpenShift's command line interface

We'll help get you setup with just a couple of questions. You can skip this in the future by copying your config's around:

    /root/.openshift/express.conf
    /root/.ssh/

To connect to ec2-23-22-62-82.compute-1.amazonaws.com enter your OpenShift login (email or Red Hat login id):

Comment 5 John (J5) Palmieri 2012-06-20 19:33:23 UTC
Issue was with fedora packages.  They have an old commander with a newer highline.  Temporary fix is for users to issue the command "gem update commander".

New packages have been built for commander.  You may download to test here:

http://kojipkgs.fedoraproject.org//packages/rubygem-commander/4.1.2/2.fc17/noarch/rubygem-commander-4.1.2-2.fc17.noarch.rpm

Update is here:

https://admin.fedoraproject.org/updates/rubygem-commander-4.1.2-2.fc17

The update should be pushed to testing within the next 24 hours. Once there we need people to test it, comment that it worked and add a +1 to the karma.  Once the karma reaches 3 +1's this will automatically be pushed to stable.

Comment 6 Xiaoli Tian 2012-06-21 09:42:44 UTC
Verified it with above rubygem-conmmander and rhc-0.94.8, it works now.

[root@F17x64-openshift ~]# yum localinstall rubygem-commander-4.1.2-2.fc17.noarch.rpm 
Loaded plugins: langpacks, presto, refresh-packagekit
Examining rubygem-commander-4.1.2-2.fc17.noarch.rpm: rubygem-commander-4.1.2-2.fc17.noarch
Marking rubygem-commander-4.1.2-2.fc17.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package rubygem-commander.noarch 0:4.1.2-2.fc17 will be installed
--> Processing Dependency: rubygem(highline) < 1.7 for package: rubygem-commander-4.1.2-2.fc17.noarch
   
--> Processing Dependency: rubygem(highline) >= 1.6.11 for package: rubygem-commander-4.1.2-2.fc17.noarch
--> Running transaction check
---> Package rubygem-highline.noarch 0:1.6.11-1.fc17 will be installed
--> Finished Dependency Resolution

Installed:
  rubygem-commander.noarch 0:4.1.2-2.fc17                                                                                                                                                                                                    

Dependency Installed:
  rubygem-highline.noarch 0:1.6.11-1.fc17 

[root@F17x64-openshift ~]# gem list

*** LOCAL GEMS ***

archive-tar-minitar (0.5.2)
bigdecimal (1.1.0)
commander (4.1.2)
highline (1.6.11)
io-console (0.3)
json (1.6.5)
mime-types (1.18)
net-ssh (2.5.2)
rdoc (3.12)
rest-client (1.6.7)
rhc (0.94.8)
test-unit (2.5.0)


Input password: 

[root@F17x64-openshift ~]# rhc domain create -n domaindevx007 -l xtian+t103 
Password: **

OpenShift key found at /root/.ssh/id_rsa.  Reusing...
Creation successful

You may now create an application.

Not input password, just push enter key.

[root@F17x64-openshift ~]# rhc domain show -l xtian+t103 
Password: 
User Info
=========
Namespace: domaindevx007
  RHLogin: xtian+t103

Application Info
================
No applications found.  You can use 'rhc app create' to create new applications.

Let me move it to verified then.