Bug 1044949 - scripts for upgrade to ose-2 should be shipped with ose-1.2
Summary: scripts for upgrade to ose-2 should be shipped with ose-1.2
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Cluster Version Operator
Version: 1.2.1
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: ---
: ---
Assignee: Luke Meyer
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-19 09:55 UTC by Johnny Liu
Modified: 2017-03-08 17:35 UTC (History)
4 users (show)

Fixed In Version: openshift-enterprise-upgrade-1.2.7.0-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-04 18:47:59 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Johnny Liu 2013-12-19 09:55:11 UTC
Description of problem:
From my understanding the upgrade work flow like this in user scenarios:
When user is trying upgrade ose-1.1 to ose-1.2
1. Install openshift-enerprise-release package from ose-1.1 channel. (The version should be openshift-enterprise-release-1.1.5-1.el6op.noarch)
2. Run "ose-upgrade begin", it will change channel to ose-1.2 automatically.
3. Prompt user to install "openshift-enerprise-{broker,node}" (The version should be openshift-enterprise-upgrade-{broker,node}-1.2.7-1.el6op.noarch)
4. Continue the left steps following guide.
Now in user's system, should openshift-enterprise-upgrade-{release,broker,node}-1.2.7-1.el6op.noarch should be already fixed.

When user is trying upgrade ose-1.2 to ose-2.0, should follow the same work flow just like 1.1->1.2 upgrade. Run "ose-upgrade begin", it will not guide user to continue 1.2->2.0 upgrade process.
# ose-upgrade 
INFO: OpenShift broker installed.
Upgrade number 1 to version 1.2 is complete.

That is because openshift-enterprise-upgrade-{release,broker,node}-1.2.7-1.el6op.noarch does not ship any scripts for upgrading env to version 2.
/usr/lib/ruby/site_ruby/1.8/ose-upgrade/main.rb:
    VERSION_MAP = {
        0  => "1.1",
        1  => "1.2",
    }
There is no key for version 2.

Even I try to add 2 => "2.0", still can not continue.

# ose-upgrade begin
INFO: Setting host step 'begin' status to UPGRADING
INFO: Starting upgrade number 2 to version 2.0.
INFO: loading list of installed packages
INFO: RHN subscription detected.
In order to reconfigure your RHN channels, we will need credentials.
What is your RHN username? qa
What is your RHN password (will not show)? 
INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/host/upgrades/2/rhn
INFO: Setting host step 'begin' status to FAILED
ERROR: run_upgrade_step
The 'begin' upgrade step failed: #<Errno::ENOENT: No such file or directory - /usr/lib/ruby/site_ruby/1.8/ose-upgrade/host/upgrades/2/rhn>


So from my understanding, openshift-enterprise-upgrade-{release,broker,node}-1.2.7-1.el6op.noarch should include all the scripts for both 1.1->1.2 and 1.2->2.0. Am I right? 

Of course, if we tell user before doing upgrade to 2.0, must register system to 2.0 channel, and upgrade openshift-enterprise-upgrade rpms, that should also work. But the process is different with 1.1->1.2 upgrade.


Version-Release number of selected component (if applicable):
openshift-enterprise-upgrade-{release,broker,node}-1.2.7-1.el6op.noarch

How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Luke Meyer 2013-12-31 20:37:56 UTC
Making the process the same for 1.2 => 2.0.

Comment 3 Luke Meyer 2013-12-31 20:40:43 UTC
In fact, update is in the 1.2.7 2013-12-30.1 errata puddle.

Comment 4 Johnny Liu 2014-01-02 09:56:34 UTC
Verified this bug with openshift-enterprise-release-1.2.7.0-1.el6op.noarch, and PASS.

The upgrade process is the same as 1.1 => 1.2.

# ose-upgrade begin
INFO: Setting host step 'begin' status to UPGRADING
INFO: Starting upgrade number 2 to version 2.0.
INFO: loading list of installed packages
INFO: Subscription-manager subscription detected.
INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/host/upgrades/2/rhsm
INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/host/upgrades/2/rhsm/02-configure-yum-priorities
INFO: /usr/lib/ruby/site_ruby/1.8/ose-upgrade/host/upgrades/2/rhsm/02-configure-yum-priorities ran without error:
--BEGIN OUTPUT--
+ /usr/bin/oo-admin-yum-validator --oo-version 2.0 --fix-all
No roles have been specified. Attempting to guess the roles for this system...
If the roles listed below are incorrect or incomplete, please re-run this script with the appropriate --role arguments
    broker
    client
Detected OpenShift Enterprise repository subscription managed by Red Hat Subscription Manager.

Disabled repository rhel-server-ose-1.2-rhc-6-rpms
Disabled repository rhel-server-ose-1.2-infra-6-rpms
Enabled repository rhel-6-server-ose-2.0-infra-rpms
Enabled repository rhel-6-server-ose-2.0-rhc-rpms
Checking if yum-plugin-priorities is installed
Checking channel/repository priorities
Resolving repository/channel/subscription priority conflicts
Setting priority for repository rhel-server-rhscl-6-rpms to 10
Setting priority for repository rhel-6-server-ose-2.0-infra-rpms to 10
Setting priority for repository rhel-6-server-ose-2.0-rhc-rpms to 10
Setting priority for repository openshift_infrastructure to 40
+ :
+ /usr/bin/oo-admin-yum-validator --oo-version 2.0 --report-all
No roles have been specified. Attempting to guess the roles for this system...
If the roles listed below are incorrect or incomplete, please re-run this script with the appropriate --role arguments
    broker
    client
Detected OpenShift Enterprise repository subscription managed by Red Hat Subscription Manager.

Checking if yum-plugin-priorities is installed
Checking channel/repository priorities
No problems could be detected!

--END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/host/upgrades/2/rhsm/02-configure-yum-priorities OUTPUT--
INFO: updating /etc/openshift-enterprise-release
INFO: Setting host step 'begin' status to COMPLETE
INFO: To continue the upgrade, install a specific upgrade package.
WARN: determine_upgrade_status
You appear to have an OpenShift Enterprise broker installed;
please install the broker upgrade package to proceed with this upgrade.
  # yum install openshift-enterprise-upgrade-broker


Note You need to log in before you can comment on or make changes to this bug.