Bug 1038376 - 2.0.37 upgrade should apply 2.0.35 upgrade to missed gears
Summary: 2.0.37 upgrade should apply 2.0.35 upgrade to missed gears
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Online
Classification: Red Hat
Component: Containers
Version: 2.x
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Paul Morie
QA Contact: libra bugs
URL:
Whiteboard:
Depends On: 1038881
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-05 02:20 UTC by Paul Morie
Modified: 2015-05-14 23:33 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-01-30 00:52:00 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Paul Morie 2013-12-05 02:20:27 UTC
During the 2.0.35 upgrade, around 60 gears were not upgraded with the changes for the new deployment system.  The 2.0.37 upgrade should apply this upgrade for the gears that were missed.  There is already a PR merged for this issue.

Comment 1 Meng Bo 2013-12-05 11:23:28 UTC
Migration is blocked by the inode quota change.

Comment 2 Meng Bo 2013-12-09 11:09:08 UTC
Not sure if it is an issue.

During test this bug, I simulated the old app with copy the dependencies dir to overwrite the symlink and remove the app-dependency dir.

[root@ip-10-238-166-75 php]# rm -f phplib 
[root@ip-10-238-166-75 php]# cp -r --preserve=all /var/lib/openshift/52a5a18b14a5f3f49c0000c3/app-root/runtime/dependencies/php/phplib phplib


But meet the following error.

            "Backed up cartridge php dependency php/phplib", 
            "Created cartridge dependency dirs for php", 
            "Restoring dep backup from /var/lib/openshift/52a5a18b14a5f3f49c0000c3/php/phplib.backup based on dep_dir php/phplib and dep_path /var/lib/openshift/52a5a18b14a5f3f49c0000c3/php/phplib", 
            "Caught an exception during upgrade: Couldn't move dep contents from /var/lib/openshift/52a5a18b14a5f3f49c0000c3/php/phplib.backup to /var/lib/openshift/52a5a18b14a5f3f49c0000c3/php/phplib: mv: cannot move `/var/lib/openshift/52a5a18b14a5f3f49c0000c3/php/phplib.backup/pear' to `/var/lib/openshift/52a5a18b14a5f3f49c0000c3/php/phplib/pear': Directory not empty\n", 


After that, check the phplib.backup dir

[root@ip-10-238-166-75 phplib.backup]# ls
pear

Assign this back to have a look.

Thanks.

Comment 3 Andy Goldstein 2013-12-09 15:06:28 UTC
Looking at your command history, I see you removed app-deployments as well. If you do that, you also really need to make the app look more like a pre 2.0.35 app, meaning you'd need to delete at least app-root/runtime/dependencies, app-root/runtime/build-dependencies as well.

Comment 4 Meng Bo 2013-12-10 09:07:47 UTC
@andy,

I have tried again on devenv-stage_604 with your comment.

But still meet the issue in my comment#2

Paste more about the error log:

            "pre_cartridge_upgrade": {
                "context": {}, 
                "errors": [
                    "Unhandled exception performing step: Couldn't move dep contents from /var/lib/openshift/52a6d70c0e61d60768000062/php/phplib.backup to /var/lib/openshift/52a6d70c0e61d60768000062/php/phplib: mv: cannot move `/var/lib/openshift/52a6d70c0e61d60768000062/php/phplib.backup/pear' to `/var/lib/openshift/52a6d70c0e61d60768000062/php/phplib/pear': Directory not empty\n\n/usr/libexec/openshift/lib/gear_upgrade_extension.rb:280:in `block (4 levels) in migrate_deployment_system_pre'\n/usr/libexec/openshift/lib/gear_upgrade_extension.rb:270:in `each'\n/usr/libexec/openshift/lib/gear_upgrade_extension.rb:270:in `block (3 levels) in migrate_deployment_system_pre'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/v2_cart_model.rb:80:in `block in each_cartridge'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/v2_cart_model.rb:1091:in `block in process_cartridges'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/v2_cart_model.rb:1089:in `each'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/v2_cart_model.rb:1089:in `process_cartridges'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/v2_cart_model.rb:78:in `each_cartridge'\n/usr/libexec/openshift/lib/gear_upgrade_extension.rb:249:in `block (2 levels) in migrate_deployment_system_pre'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/utils/upgrade_progress.rb:32:in `step'\n/usr/libexec/openshift/lib/gear_upgrade_extension.rb:248:in `block in migrate_deployment_system_pre'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/utils/upgrade_progress.rb:32:in `step'\n/usr/libexec/openshift/lib/gear_upgrade_extension.rb:182:in `migrate_deployment_system_pre'\n/usr/libexec/openshift/lib/gear_upgrade_extension.rb:172:in `pre_cartridge_upgrade'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/upgrade.rb:418:in `block in pre_cartridge_upgrade'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/utils/upgrade_progress.rb:32:in `step'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/upgrade.rb:417:in `pre_cartridge_upgrade'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/upgrade.rb:454:in `upgrade_cartridges'\n/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.18.2/lib/openshift-origin-node/model/upgrade.rb:159:in `execute'\n/opt/rh/ruby193/root/usr/libexec/mcollective/mcollective/agent/openshift.rb:241:in `upgrade_action'\n/opt/rh/ruby193/root/usr/share/ruby/mcollective/rpc/agent.rb:86:in `handlemsg'\n/opt/rh/ruby193/root/usr/share/ruby/mcollective/agents.rb:126:in `block (2 levels) in dispatch'\n/opt/rh/ruby193/root/usr/share/ruby/timeout.rb:69:in `timeout'\n/opt/rh/ruby193/root/usr/share/ruby/mcollective/agents.rb:125:in `block in dispatch'"
                ], 
                "status": "incomplete"
            },

Comment 5 Meng Bo 2013-12-10 10:20:55 UTC
Checked again with more steps:

#rm -rf ~/app-root/runtime/dependencies ~/app-root/runtime/build_dependencies
#rm -rf ~/app-root/dependencies ~/app-root/build_dependencies
#rm -rf ~/php/phplib
#cp -r --preserve=all ~/app-root/runtime/dependencies/php/phplib ~/php/phplib
#rm -rf ~/app-deployments/

Then do gear upgrade, the upgrade got successfully.

Please move this bug, and we can close it. And this should not be a blocker.

Thanks.

Comment 6 Meng Bo 2013-12-10 10:22:09 UTC
So hurry... please move the bug back to ON_QA

Comment 7 Xiaoli Tian 2013-12-10 10:36:49 UTC
Move it back to ON_QA since it's just assigned back due to incorrect reproduce steps.

Comment 8 Xiaoli Tian 2013-12-10 10:37:25 UTC
Move it to Verified according to testing result in comment 5.


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