Bug 924556 - Builds fail on jboss with no such file to load -- open4 (LoadError) on INT
Summary: Builds fail on jboss with no such file to load -- open4 (LoadError) on INT
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OKD
Classification: Red Hat
Component: Containers
Version: 2.x
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Luke Meyer
QA Contact: libra bugs
URL:
Whiteboard:
Depends On: 912215
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-22 03:54 UTC by Wei Sun
Modified: 2015-05-14 23:06 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-04-02 14:20:24 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Wei Sun 2013-03-22 03:54:24 UTC
Description of problem:
Try to build a jboss app,but failed.Show "no such file to load -- open4 (LoadError)".
This is a regression bug,original bug is 912215.
This bug only is reproduced on INT(devenv_2983).

Version-Release number of selected component (if applicable):
INT(devenv_2983)

How reproducible:
Always

Steps to Reproduce:
1.create a jboss app
2.change something
3.git push
  
Actual results:
[sunwei@dhcp-8-229 eapscaletest]$ gitpush 
[master 86040ba] test
 0 files changed
 create mode 100644 .openshift/markers/disable_auto_scaling
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 389 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: restart_on_add=false
remote: Sending SIGTERM to jboss:14007 ...
remote: kill -TERM 14256
remote: kill -TERM 14007
remote: Done
remote: restart_on_add=false
remote: Running .openshift/action_hooks/pre_build
remote: /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- open4 (LoadError)
remote: 	from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
remote: 	from /usr/bin/oo-cgroup-read:9
remote: expr: syntax error
remote: (standard_in) 1: syntax error
remote: Sourcing pre_build_jbosseap-6.0
remote: Found pom.xml... attempting to build with 'mvn -e clean package -Popenshift -DskipTests'
remote: Invalid maximum heap size: -Xmxm
remote: Error: Could not create the Java Virtual Machine.
remote: Error: A fatal exception has occurred. Program will exit.
remote: Invalid maximum heap size: -Xmxm
remote: Error: Could not create the Java Virtual Machine.
remote: Error: A fatal exception has occurred. Program will exit.
remote: Running .openshift/action_hooks/build
remote: Running .openshift/action_hooks/build
remote: Running .openshift/action_hooks/deploy
remote: hot_deploy_added=false
remote: Found 127.3.242.1:8080 listening port
remote: Done
remote: Running .openshift/action_hooks/post_deploy
To ssh://514bcd7c6cec0e53420000aa.rhcloud.com/~/git/eapscaletest.git/
   6235f6c..86040ba  master -> master


Expected results:
can build jboss app successfully.

Additional info:
This bug is not reproduced on devenv_2983

Comment 1 Adam Miller 2013-03-22 14:00:11 UTC
This appears to be a side effect of this change not using oo-ruby anymore so it's running as ruby-1.8 which doesn't have that gem installed:

https://github.com/openshift/origin-server/commit/a3fa114a24065df3450053329676ddaf80843d39#node/misc/bin/oo-cgroup-read

Comment 2 Adam Miller 2013-03-22 14:34:15 UTC
Also note, this does not effect PROD because the ruby-1.8 open4 gem still exists as a legacy dependency that has not been removed from PROD nodes.

Comment 3 Luke Meyer 2013-03-22 21:14:25 UTC
So may I ask... why is rubygem-open4 part of the package list in devenv and prod, but not INT?

Comment 4 Adam Miller 2013-03-22 21:55:18 UTC
If it is part of the package list in devenv then it should no longer be because it was depricated when everything ported to ruby193 and chances are it was left over. In PROD it is just a left over dependency because the ruby-1.8 dependencies were never removed after the move to ruby193, however INT gets rebuilt from scratch every sprint.

Comment 5 Luke Meyer 2013-03-25 14:09:30 UTC
rhc requires it, that's why it's there in devenv.

And I'm guessing newly-minted prod nodes wouldn't have the legacy dependencies either... so gotta fix.

Comment 6 Luke Meyer 2013-03-25 15:25:19 UTC
https://github.com/openshift/origin-server/pull/1782

oo-cgroup-read was changed from env ruby to /usr/bin/ruby due to
selinux issues (https://bugzilla.redhat.com/show_bug.cgi?id=901449).
Then the implementation was changed from one using cgget to one
using rubygem open4 due to selinux issues
(https://bugzilla.redhat.com/show_bug.cgi?id=912215)
But native rubygem(open4) was not listed as a dependency now that
ruby 1.9.3 is the standard. So, modifying the spec file to ensure
it is present on every system, to prevent JBoss build failures
(https://bugzilla.redhat.com/show_bug.cgi?id=924556)

Comment 7 openshift-github-bot 2013-03-25 16:36:00 UTC
Commits pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/e78bb378fb2823a50a975d153d74f6d2b35b6460
<oo-cgroup-read> bug 924556 pull in native rubygem-open4

oo-cgroup-read was changed from env ruby to /usr/bin/ruby due to
selinux issues (https://bugzilla.redhat.com/show_bug.cgi?id=901449).
Then the implementation was changed from one using cgget to one
using rubygem open4 due to selinux issues
(https://bugzilla.redhat.com/show_bug.cgi?id=912215)
But native rubygem(open4) was not listed as a dependency now that
ruby 1.9.3 is the standard. So, modifying the spec file to ensure
it is present on every system, to prevent JBoss build failures
(https://bugzilla.redhat.com/show_bug.cgi?id=924556)

https://github.com/openshift/origin-server/commit/1612a4652319789fc205c4828ba814aa77947dd9
Merge pull request #1782 from sosiouxme/bug924556

Merged by openshift-bot

Comment 8 Adam Miller 2013-03-26 00:12:03 UTC
Latest in INT should now contain this change. Marking ON_QE.

Comment 9 Zhe Wang 2013-03-26 01:37:31 UTC
Verified in INT(devenv_2996)

Steps:

1. create a JBossEWS-1.0 application

2. disable its auto-scaling by touching a disable_auto_scaling marker

3. git push the change

Output:

remote: [INFO] WEB-INF/web.xml already added, skipping
remote: [INFO] ------------------------------------------------------------------------
remote: [INFO] BUILD SUCCESS
remote: [INFO] ------------------------------------------------------------------------
remote: [INFO] Total time: 1:07.821s
remote: [INFO] Finished at: Mon Mar 25 21:36:40 EDT 2013
remote: [INFO] Final Memory: 15M/193M
remote: [INFO] ------------------------------------------------------------------------


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