Bug 971403
| Summary: | [upgrade] perl app fail to git push after migrate | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Johnny Liu <jialiu> |
| Component: | Cluster Version Operator | Assignee: | Johnny Liu <jialiu> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | libra bugs <libra-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 1.2.0 | CC: | bleanhar, jolamb, libra-onpremise-devel, lmeyer |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | openshift-origin-cartridge-perl-0.4.8-1.el6op | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-06-28 15:47:32 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
Johnny Liu
2013-06-06 12:46:08 UTC
The "appname.git" directory in the scaled gear folder(s) differs from that in the base gear folder, post-upgrade. This is a non-scalable app, it is not relative with scalable or non-scalable. I am using the following script to create perl test app, give the git url for you, maybe it is helpful to reproduce it. $ git clone git://qe-git.englab.nay.redhat.com/hss-qe/openshift/openshift-express/automation $ cd automation/prepare_testing_data/ $ ./create_test_data.sh Could not replicate with a non-scaled perl app. git push for scaled perl app failed, but that seems to be an unrelated bug. Will look more closely at this to determine if it was fixed by any recent merges. I managed to get this from my testbed, with the scaled "perls" app owned by "loaded". I had to remove the jenkins plugin, since that doesn't work, but then with pushing a whitespace change, I got:
remote: + rsync -v --delete-after -az /var/lib/openshift/57906ebbec3341e9a01beb10b7ad2526/perl//perl5lib/ e661ff483fe543a1b4891cf1250ba01b.59.187:perl-5.10/perl5lib/
remote: building file list ... done
remote:
remote: sent 123 bytes received 12 bytes 38.57 bytes/sec
remote: total size is 0 speedup is 0.00
remote: + for subd in '"${OPENSHIFT_SYNC_GEARS_DIRS[@]}"'
remote: + '[' -d /var/lib/openshift/57906ebbec3341e9a01beb10b7ad2526/perl//phplib ']'
remote: + for rpccall in '"${OPENSHIFT_SYNC_GEARS_POST[@]}"'
remote: + ssh e661ff483fe543a1b4891cf1250ba01b.59.187 'gear remotedeploy'
remote: No such file or directory - /var/lib/openshift/e661ff483fe543a1b4891cf1250ba01b/git/perls.git
remote: Exit code:
remote: An error occurred executing 'gear postreceive'
remote:
remote: For more details about the problem, try running the command again with the '--trace' option.
To ssh://57906ebbec3341e9a01beb10b7ad2526.example.com/~/git/perls.git/
Not certain it's related...
I really can't reproduce this for non-scaled perl apps, even using the create_test_data.sh script. Please review the ticket and include more detailed instructions to reproduce. I was able to reproduce this bug yesterday. The key to reproducing it is to deploy an app that has CPAN dependencies. I used this quickstart to meet this requirement: https://github.com/openshift/dancer-example This bug arises because the HOME env var is empty in the post-migration app, and the perl cartridge bin/build script references the .cpanm directory like so: rm -rf ${OPENSHIFT_PERL_DIR}/perl5lib/* ~/.cpanm/* which expands to "/.cpanm/*". It should actually be "${OPENSHIFT_HOME_DIR}/.cpanm/*" This script probably needs to be fixed (this is also upstream in Origin) but the bug will be masked when the fix for https://bugzilla.redhat.com/show_bug.cgi?id=972394 is merged into enterprise. That fix will populate a migrated app with env vars that are created for v2 carts but which (to this point) have been missing from migrated v1 carts. Among these is $HOME, which will be the same value as $OPENSHIFT_HOME_DIR. Actually 2 problems; the first is the rm command, the second is the invocation of cpanm at the bottom of the script. That line needs to be fixed by ensuring $HOME is set appropriately, since we can't/shouldn't control the internals of the cpanm script. Fix merged in https://github.com/openshift/enterprise-server/pull/86 Building in puddle now. openshift-enterprise-upgrade-1.2-1.git.80.4490c24.el6op Verified this bug with openshift-origin-cartridge-perl-0.4.8-1.el6op.noarch in 1.2/2013-06-20.5, and PASS. Now git push for perl app that has CPAN dependencies successfully. Closing all bugs introduced, fixed, and verified during 1.2 release work (thus never shipped). |