Bug 992464

Summary: It always prompts "Your authorization token has expired. Please sign in now to continue." when using rhc or website
Product: OpenShift Online Reporter: Lei Zhang <lzhang>
Component: PodAssignee: Clayton Coleman <ccoleman>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 2.xCC: jhou, lxia, tfeng, xtian, yujzhang
Target Milestone: ---Keywords: Regression, TestBlocker
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-07 22:59:10 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 Lei Zhang 2013-08-05 05:14:55 UTC
Description of problem:
When run rhc command, It always prompts "Your authorization token has expired. Please sign in now to continue." By the way, the bug doesn't exist on devenv_3612

[lijun@rayzhang Work]$ rhc setup --server stg.openshift.redhat.com -l lzhang+1 -p rayzhang13
OpenShift Client Tools (RHC) Setup Wizard
This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly installed.
Using lzhang+1 to login to stg.openshift.redhat.com
OpenShift can create and store a token on disk which allows to you to access the server without using your password. The key is stored in your home
directory and should be kept secret.  You can delete the key at any time by running 'rhc logout'.
Generate a token now? (yes|no) yes
Generating an authorization token for this client ... Your authorization token has expired. Please sign in now to continue.
Your authorization token has expired. Please sign in now to continue.
lasts about 24 hours
Saving configuration to /home/lijun/.openshift/express.conf ... done
Your authorization token has expired. Please sign in now to continue.
Your authorization token has expired. Please sign in now to continue.
Your authorization token has expired. Please sign in now to continue.

[lijun@rayzhang Work]$ rhc authorization
Your authorization token has expired. Please sign in now to continue.
Password: **********
Your authorization token has expired. Please sign in now to continue.
Your authorization token has expired. Please sign in now to continue.
Your authorization token has expired. Please sign in now to continue.


Version-Release number of selected component (if applicable):
STG(devenv-stage_437)
rhc-1.12.4

How reproducible:
always

Steps to Reproduce:
1.rhc setup --server stg.openshift.redhat.com -l lzhang+1 -p rayzhang13
2.rhc authorization
3.

Actual results:
It always prompts "Your authorization token has expired. Please sign in now to continue" when run rhc command.

Expected results:
Authorization token should be created successfully.

Additional info:

Comment 1 Tian Feng 2013-08-05 05:19:32 UTC
On website, after each operation, it would return "Session Expired" error page, and ask to sign in again.

Comment 2 Yujie Zhang 2013-08-05 07:21:27 UTC
From website, can not login after registering new account or using my old account, it blocked testing on STG.

Comment 3 Abhishek Gupta 2013-08-05 18:09:57 UTC
Turned out be a code issue where the exception was not being raised. Good catch by Clayton.

Comment 4 Clayton Coleman 2013-08-05 18:10:45 UTC
Was not properly checking for eventual consistency when querying authentication tokens:

Fixed in https://github.com/openshift/origin-server/pull/3290

Comment 5 Jianwei Hou 2013-08-06 05:28:12 UTC
Verified on devenv-stage_438, the problem is not reproducible now.

rhc setup
OpenShift Client Tools (RHC) Setup Wizard

This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly
installed.

Using jhou to login to ec2-54-234-232-147.compute-1.amazonaws.com
Password: **
Username or password is not correct
Password: **********

OpenShift can create and store a token on disk which allows to you to access the server without using your password. The key is stored in
your home directory and should be kept secret.  You can delete the key at any time by running 'rhc logout'.
Generate a token now? (yes|no) yes
Generating an authorization token for this client ... lasts about 1 day

Saving configuration to /home/hjw/.openshift/express.conf ... done

Your public SSH key must be uploaded to the OpenShift server to access code.  Upload now? (yes|no) yes

Since you do not have any keys associated with your OpenShift account, your new key will be uploaded as the 'default' key.

Uploading key 'default' ... done

Checking for git ... found git version 1.8.1.4

Checking common problems .. done

Checking your namespace ... none

Your namespace is unique to your account and is the suffix of the public URLs we assign to your applications. You may configure your
namespace here or leave it blank and use 'rhc create-domain' to create a namespace later. You will not be able to create applications
without first creating a namespace.

Please enter a namespace (letters and numbers only) |<none>|: jhou
Your domain name 'jhou' has been successfully created

Checking for applications ... none

Run 'rhc create-app' to create your first application.

  Do-It-Yourself 0.1                        rhc create-app <app name> diy-0.1
  JBoss Application Server 7                rhc create-app <app name> jbossas-7
  JBoss Enterprise Application Platform 6.0 rhc create-app <app name> jbosseap-6.0
  Jenkins Server 1.4                        rhc create-app <app name> jenkins-1.4
  Mock Cartridge 0.1                        rhc create-app <app name> mock-0.1
  Mock Cartridge 0.2                        rhc create-app <app name> mock-0.2
  Node.js 0.6                               rhc create-app <app name> nodejs-0.6
  PHP 5.3                                   rhc create-app <app name> php-5.3
  Perl 5.10                                 rhc create-app <app name> perl-5.10
  Python 2.6                                rhc create-app <app name> python-2.6
  Python 2.7                                rhc create-app <app name> python-2.7
  Python 3.3                                rhc create-app <app name> python-3.3
  Ruby 1.8                                  rhc create-app <app name> ruby-1.8
  Ruby 1.9                                  rhc create-app <app name> ruby-1.9
  Tomcat 6 (JBoss EWS 1.0)                  rhc create-app <app name> jbossews-1.0
  Tomcat 7 (JBoss EWS 2.0)                  rhc create-app <app name> jbossews-2.0
  Zend Server 5.6                           rhc create-app <app name> zend-5.6

  You are using 0 of 3 total gears
  The following gear sizes are available to you: small

Your client tools are now configured.

Comment 6 Xiaoli Tian 2013-08-06 09:39:06 UTC
This bug needs to be re-tested on STG tomorrow since we have never reproduced it on devenv or devenv-stage

Comment 7 Yujie Zhang 2013-08-06 09:46:16 UTC
Tested on STG today, not sure if the fix code is in STG or not,  but it works now, so verify this bug, thanks.

Comment 8 Liang Xia 2013-08-06 10:29:57 UTC
We will fully re-test this on STG tomorrow, so move back to ON_QA.

Comment 9 Lei Zhang 2013-08-07 03:09:55 UTC
Verified on STG(devenv-stage_439), no "Your authorization token has expired. Please sign in now to continue" prompt when using rhc or website.

[lijun@rayzhang Work]$ rhc setup --server stg.openshift.redhat.com -l lzhang -p rayzhang13
OpenShift Client Tools (RHC) Setup Wizard

This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly installed.

Using an existing token for lzhang to login to stg.openshift.redhat.com

Saving configuration to /home/lijun/.openshift/express.conf ... done

Checking for git ... found git version 1.8.2.1

Checking common problems .. done

Checking your namespace ... ray



[lijun@rayzhang Work]$ rhc authorization
RHC/1.13.0 (from rayzhang on x86_64-linux)
------------------------------------------
  Token:      3a6e77b4c9fbfa9954c9eda4f2a7681046250993f2ae3445f22170cc53f4220c
  Scopes:     session
  Created:    11:02 AM
  Expires In: about 24 hours

Comment 10 openshift-github-bot 2013-08-13 19:36:59 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/340e91070c29028945a1b694d3192603374c9892
Bug 992464 - Authorization token needs to raise when checking eventual consistency

Was using .first which returns nil