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
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
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.
So may I ask... why is rubygem-open4 part of the package list in devenv and prod, but not INT?
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.
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.
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)
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
Latest in INT should now contain this change. Marking ON_QE.
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] ------------------------------------------------------------------------