Bug 1032901 - Packages installed via Jenkins builds fail to take effect for Perl apps
Packages installed via Jenkins builds fail to take effect for Perl apps
Status: CLOSED CURRENTRELEASE
Product: OpenShift Online
Classification: Red Hat
Component: Image (Show other bugs)
2.x
Unspecified Unspecified
medium Severity medium
: ---
: ---
Assigned To: Michal Fojtik
libra bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-21 03:27 EST by Zhe Wang
Modified: 2015-05-14 20:34 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-01-23 22:30:35 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Zhe Wang 2013-11-21 03:27:49 EST
Description of problem:
Given a Perl-5.10 app with a Jenkins-client added, when trying to install a package to this app, the package fails to take effect with Jenkins build even though no error is reported during the installation. Moreover, a page referencing this package shows 500 error when accessing it. On the other hand, there is no such problem without Jenkins builds.

Version-Release number of selected component (if applicable):
devenv_4057
INT(devenv_4052)
devenv-stage_582

How reproducible:
always

Steps to Reproduce:
1. create a Perl-5.10 app with a Jenkins-client added
rhc app create prl perl-5.10 --enable-jenkins

2. add a package to deplist.txt, for example, 
echo "Plack" > deplist.txt

3. create a new page with the following code under $APP_REPO/perl/:

<--------test.pl-------->
use Plack;

print "Succeed to install Plack!"

<----------------------->

4. push the change and trigger a Jenkins build

5. access the $APP_DNS/test.pl

6. create another Perl-5.10 app WITHOUT adding a Jenkins-client

7. repeat step 2 ~ 5

Actual results:
In Step 5, the test.pl page returns "Internal Server Error", while the page returns the expected string without Jenkins build.

Expected results:
The Perl package should take effect after a Jenkins build.

Additional info:
Comment 1 Zhe Wang 2013-11-21 04:19:00 EST
Further debugging:

The bug only happens when installing a non-system-supported package, and it goes away when trying to install a system-supported one, like YAML.
Comment 2 Michal Fojtik 2013-11-21 05:18:21 EST
The problem seems to be that Jenkins install all dependencies to OPENSHIFT_DEPENDENCY_DIR but the PERL5LIB is not set to look into this directory...
Comment 3 Michal Fojtik 2013-11-21 11:52:47 EST
Pull request:

https://github.com/openshift/origin-server/pull/4219
Comment 4 openshift-github-bot 2013-11-22 09:04:38 EST
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/a873404e93304f46a21f5a042d6d87b7044be61a
Bug 1032901 - Removed perl5lib folder from GIT and added to dependency_dirs
Comment 5 Zhe Wang 2013-11-24 22:04:54 EST
Verified in devenv_4067.

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