13 Replies Latest reply on Oct 19, 2011 1:43 AM by goldmann

    Ruby Enterprise, Chef

    pchambers

      I'm trying to bake a CentOS 5 appliance with Ruby Enterprise and Chef gems pre-installed.  I tried installing REE from source but the compilation takes ~10 minutes and there's some kind of timeout on guestfs.  Next I tried installing REE using RPMs from End Point.  The install emits this curious error:

       

      Running Transaction

        Installing     : ruby-enterprise                                          1/1

      error: failed to stat /root/proc: No such file or directory


      Installed:

        ruby-enterprise.i386 0:1.8.7-3.ep

       

      Complete!

       

      A subsequent invocation of ruby fails:

       

      D, [2011-10-05T15:51:09.986940 #24607] DEBUG -- : Command 'tar -C /tmp -zxf /tmp/rubygems-1.3.7.tgz' executed.

      D, [2011-10-05T15:51:09.987097 #24607] DEBUG -- : Executing 'ruby /tmp/rubygems-1.3.7/setup.rb --no-format-executable' command...

      D, [2011-10-05T15:51:09.987227 #24607] DEBUG -- : GFS: sh "setarch i686 << 'SETARCH_EOF'

      ruby /tmp/rubygems-1.3.7/setup.rb --no-format-executable

      SETARCH_EOF"

      D, [2011-10-05T15:51:13.281559 #24607] DEBUG -- : GFS: sh = NULL (error)

      F, [2011-10-05T15:51:13.281979 #24607] FATAL -- : Guestfs::Error: sh: -sh: line 1: ruby: command not found

       

      Ruby EE is installed by End Point in /usr/local/bin, not /usr/bin, but I assume that's in the path.  What do I do to troubleshoot this?

        • 1. Re: Ruby Enterprise, Chef
          goldmann

          You can skip the first warning. For the second issue - you need to specify the full path. Guestfs PATH is not equal to a bash PATH you are used to.

           

          --Marek

          • 2. Re: Ruby Enterprise, Chef
            pchambers

            You're right, I should not have assumed the path, but what does "(unreachable)/root" signify?

             

            D, [2011-10-05T19:16:58.476014 #27817] DEBUG -- : Command '/usr/local/bin/ruby /tmp/rubygems-1.3.7/setup.rb --no-format-executable' executed.

            D, [2011-10-05T19:16:58.476172 #27817] DEBUG -- : Executing '/usr/local/bin/gem install chef ohai' command...

            D, [2011-10-05T19:16:58.476298 #27817] DEBUG -- : GFS: sh "setarch i686 << 'SETARCH_EOF'

            /usr/local/bin/gem install chef ohai

            SETARCH_EOF"

            D, [2011-10-05T19:22:35.017481 #27817] DEBUG -- : GFS: sh = NULL (error)

            F, [2011-10-05T19:22:35.017907 #27817] FATAL -- : Guestfs::Error: sh: ERROR:  While executing gem ... (Errno::ENOENT)

                No such file or directory - (unreachable)/root

            /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:295:in `sh'

            • 3. Re: Ruby Enterprise, Chef
              goldmann

              This looks weird, I'll try to debug it today once I return from my travel.

               

              --Marek

              • 4. Re: Ruby Enterprise, Chef
                pchambers

                Any luck?  From a devops perspective getting the Chef gem pre-installed on a CentOS appliance would be a big win.

                • 5. Re: Ruby Enterprise, Chef
                  goldmann

                  I'm on it now, be back with some info soon.

                  • 6. Re: Ruby Enterprise, Chef
                    goldmann

                    My first approach to test it was to use EPEL packages for rubygems. I used the following .appl:

                     

                    name: centos5-ruby
                    hardware:
                      partitions:
                        "/":
                          size: 2
                    os:
                      name: centos
                      version: 5
                    packages:
                      - rubygems
                      - ruby-devel
                      - make
                      - gcc-c++
                    repos:
                      - name: "epel"
                        mirrorlist: "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=#BASE_ARCH#"
                    post:
                      base:
                        - "echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; gem install chef"
                    

                     

                    But I encountered an issue when installing chef, different to yours. My is buffer overflow exception which is most probably related to ruby version used:

                     

                    #0  0x00007f39d6a24265 in raise () from /lib64/libc.so.6
                    #1  0x00007f39d6a25d10 in abort () from /lib64/libc.so.6
                    #2  0x00007f39d6a5e99b in __libc_message () from /lib64/libc.so.6
                    #3  0x00007f39d6adc07f in __chk_fail () from /lib64/libc.so.6
                    #4  0x00007f39d65de98e in rb_syck_mktime () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #5  0x00007f39d65df2a0 in yaml_org_handler () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #6  0x00007f39d65df4a9 in syck_defaultresolver_node_import () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #7  0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #8  0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #9  0x00007f39d765b3f2 in ?? () from /usr/lib64/libruby.so.1.8
                    #10 0x00007f39d765b6c5 in rb_funcall () from /usr/lib64/libruby.so.1.8
                    #11 0x00007f39d65de437 in rb_syck_load_handler () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #12 0x00007f39d65d9839 in syck_hdlr_add_node () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #13 0x00007f39d65da605 in syckparse () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #14 0x00007f39d65e2d29 in syck_parse () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #15 0x00007f39d65de2ad in syck_parser_load () from /usr/lib64/ruby/1.8/x86_64-linux/syck.so
                    #16 0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #17 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #18 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #19 0x00007f39d7660fb5 in ?? () from /usr/lib64/libruby.so.1.8
                    #20 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #21 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #22 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #23 0x00007f39d7660fb5 in ?? () from /usr/lib64/libruby.so.1.8
                    #24 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #25 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #26 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #27 0x00007f39d7663694 in ?? () from /usr/lib64/libruby.so.1.8
                    #28 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #29 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #30 0x00007f39d7661cf9 in ?? () from /usr/lib64/libruby.so.1.8
                    #31 0x00007f39d7660e99 in ?? () from /usr/lib64/libruby.so.1.8
                    #32 0x00007f39d7663b45 in ?? () from /usr/lib64/libruby.so.1.8
                    #33 0x00007f39d7665b4f in ?? () from /usr/lib64/libruby.so.1.8
                    #34 0x00007f39d7662197 in ?? () from /usr/lib64/libruby.so.1.8
                    #35 0x00007f39d7665b4f in ?? () from /usr/lib64/libruby.so.1.8
                    #36 0x00007f39d7667059 in ?? () from /usr/lib64/libruby.so.1.8
                    #37 0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #38 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #39 0x00007f39d7661cf9 in ?? () from /usr/lib64/libruby.so.1.8
                    #40 0x00007f39d7663f9d in ?? () from /usr/lib64/libruby.so.1.8
                    #41 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #42 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #43 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #44 0x00007f39d7663f9d in ?? () from /usr/lib64/libruby.so.1.8
                    #45 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #46 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #47 0x00007f39d765b104 in rb_obj_call_init () from /usr/lib64/libruby.so.1.8
                    #48 0x00007f39d7685612 in rb_class_new_instance () from /usr/lib64/libruby.so.1.8
                    #49 0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #50 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #51 0x00007f39d765bead in rb_call_super () from /usr/lib64/libruby.so.1.8
                    #52 0x00007f39d765a1b9 in ?? () from /usr/lib64/libruby.so.1.8
                    #53 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #54 0x00007f39d7661cf9 in ?? () from /usr/lib64/libruby.so.1.8
                    #55 0x00007f39d7660fb5 in ?? () from /usr/lib64/libruby.so.1.8
                    #56 0x00007f39d7663b45 in ?? () from /usr/lib64/libruby.so.1.8
                    #57 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #58 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #59 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #60 0x00007f39d76647ff in ?? () from /usr/lib64/libruby.so.1.8
                    #61 0x00007f39d7661f75 in ?? () from /usr/lib64/libruby.so.1.8
                    #62 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #63 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #64 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #65 0x00007f39d7663f9d in ?? () from /usr/lib64/libruby.so.1.8
                    #66 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #67 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #68 0x00007f39d7661cf9 in ?? () from /usr/lib64/libruby.so.1.8
                    #69 0x00007f39d7660fb5 in ?? () from /usr/lib64/libruby.so.1.8
                    #70 0x00007f39d7665b4f in ?? () from /usr/lib64/libruby.so.1.8
                    #71 0x00007f39d7656671 in rb_ensure () from /usr/lib64/libruby.so.1.8
                    #72 0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #73 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    ---Type <return> to continue, or q <return> to quit---
                    #74 0x00007f39d7661cf9 in ?? () from /usr/lib64/libruby.so.1.8
                    #75 0x00007f39d7663f9d in ?? () from /usr/lib64/libruby.so.1.8
                    #76 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #77 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #78 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #79 0x00007f39d7660e99 in ?? () from /usr/lib64/libruby.so.1.8
                    #80 0x00007f39d7663694 in ?? () from /usr/lib64/libruby.so.1.8
                    #81 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #82 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #83 0x00007f39d765b104 in rb_obj_call_init () from /usr/lib64/libruby.so.1.8
                    #84 0x00007f39d7685612 in rb_class_new_instance () from /usr/lib64/libruby.so.1.8
                    #85 0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #86 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #87 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #88 0x00007f39d7660e36 in ?? () from /usr/lib64/libruby.so.1.8
                    #89 0x00007f39d7665b4f in ?? () from /usr/lib64/libruby.so.1.8
                    #90 0x00007f39d76411a3 in rb_ary_each () from /usr/lib64/libruby.so.1.8
                    #91 0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #92 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #93 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #94 0x00007f39d7663f9d in ?? () from /usr/lib64/libruby.so.1.8
                    #95 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #96 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #97 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #98 0x00007f39d7663694 in ?? () from /usr/lib64/libruby.so.1.8
                    #99 0x00007f39d7665b4f in ?? () from /usr/lib64/libruby.so.1.8
                    #100 0x00007f39d76411a3 in rb_ary_each () from /usr/lib64/libruby.so.1.8
                    #101 0x00007f39d765a92e in ?? () from /usr/lib64/libruby.so.1.8
                    #102 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #103 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #104 0x00007f39d7663f9d in ?? () from /usr/lib64/libruby.so.1.8
                    #105 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #106 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #107 0x00007f39d76620f5 in ?? () from /usr/lib64/libruby.so.1.8
                    #108 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #109 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #110 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #111 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #112 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #113 0x00007f39d7661cf9 in ?? () from /usr/lib64/libruby.so.1.8
                    #114 0x00007f39d7663694 in ?? () from /usr/lib64/libruby.so.1.8
                    #115 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #116 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #117 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #118 0x00007f39d765a94a in ?? () from /usr/lib64/libruby.so.1.8
                    #119 0x00007f39d765ae48 in ?? () from /usr/lib64/libruby.so.1.8
                    #120 0x00007f39d7661bc6 in ?? () from /usr/lib64/libruby.so.1.8
                    #121 0x00007f39d7663694 in ?? () from /usr/lib64/libruby.so.1.8
                    #122 0x00007f39d7668feb in ?? () from /usr/lib64/libruby.so.1.8
                    #123 0x00007f39d7669035 in ruby_exec () from /usr/lib64/libruby.so.1.8
                    #124 0x00007f39d7669060 in ruby_run () from /usr/lib64/libruby.so.1.8
                    #125 0x0000000000400799 in main ()
                    

                     

                    I think that the issue you see is  related to the way how End Point RPMs are built or to Ruby Enterprise itself. I need to try to install REE though, please give me some additional time.

                     

                    --Marek

                    • 7. Re: Ruby Enterprise, Chef
                      pchambers

                      Yes, Chef 0.10.4 needs ruby 1.8.7+ and rubygems 1.3.7+, see http://wiki.opscode.com/display/chef/Installing+Chef+Client+on+CentOS.  I had issues with the recommended Aegis repo which is why I’ve been trying REE.

                      • 8. Re: Ruby Enterprise, Chef
                        goldmann

                        In general - we're trying to create a workaround. The proper way to install Chef on any RPM-based system is to use RPMs. If there are no RPMs - they must be created. It doesn't make sense to install the gems, compile native extensions and so on every time you build the appliance. Using gem command should be prohibited on RPM based operating systems IMHO, because we have yum.

                         

                        I'm still installing the gems using REE - it takes horribly much time to do it (30 min and counting).

                         

                        --Marek

                        • 9. Re: Ruby Enterprise, Chef
                          pchambers

                          I agree.  There is a repo at http://rbel.frameos.org/ by Sergio Rubio Gracia at Abiquo, but I had issues with his ruby RPMs also.  Perhaps I should go back and try them with Boxgrinder.

                          • 10. Re: Ruby Enterprise, Chef
                            goldmann

                            OK, I was able to install chef gem using REE. But I don't recommend the approach. Here's my definition file:

                             

                            name: centos5-endpoint
                            hardware:
                              partitions:
                                "/":
                                  size: 2
                            os:
                              name: centos
                              version: 5
                            packages:
                              - ruby-enterprise-rubygems
                              - ruby-enterprise
                              - make
                              - gcc-c++
                            repos:
                              - name: "endpoint"
                                baseurl: "https://packages.endpoint.com/rhel/#OS_VERSION#/os/#BASE_ARCH#/"
                            post:
                              base:
                                - "echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; /usr/local/bin/gem install chef"
                            

                             

                            I set also LIBGUESTFS_MEMSIZE variable to 2048.

                             

                            Proof:

                             

                            D, [2011-10-11T13:47:08.546408 #7264] DEBUG -- : Executing 'echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; /usr/local/bin/gem install chef' command...
                            T, [2011-10-11T13:47:08.546771 #8172] TRACE -- : GFS: sh "setarch x86_64 << 'SETARCH_EOF'
                            T, [2011-10-11T13:47:08.546983 #8172] TRACE -- : GFS: echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; /usr/local/bin/gem install chef
                            T, [2011-10-11T13:47:08.547166 #8172] TRACE -- : GFS: SETARCH_EOF"send_to_daemon: 0x45b2130 g->state = 3, n = 192
                            T, [2011-10-11T13:47:08.547322 #8172] TRACE -- : GFS: recv_from_daemon: 0x45b2130 g->state = 3, size_rtn = 0x7fff88c0f45c, buf_rtn = 0x7fff88c0f450
                            T, [2011-10-11T13:47:08.556801 #8172] TRACE -- : GFS: proc 111 (sh) took 100.12 seconds
                            T, [2011-10-11T13:47:08.565562 #8172] TRACE -- : GFS: mount --bind /dev /sysroot/dev
                            T, [2011-10-11T13:47:09.175080 #8172] TRACE -- : GFS: mount --bind /dev/pts /sysroot/dev/pts
                            T, [2011-10-11T13:47:09.746964 #8172] TRACE -- : GFS: mount --bind /proc /sysroot/proc
                            T, [2011-10-11T13:47:10.308971 #8172] TRACE -- : GFS: mount --bind /selinux /sysroot/selinux
                            T, [2011-10-11T13:47:10.852271 #8172] TRACE -- : GFS: mount --bind /sys /sysroot/sys
                            T, [2011-10-11T13:47:11.417723 #8172] TRACE -- : GFS: /bin/sh -c setarch x86_64 << 'SETARCH_EOF'
                            T, [2011-10-11T13:47:11.420536 #8172] TRACE -- : GFS: echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; /usr/local/bin/gem install chef
                            T, [2011-10-11T13:47:11.427544 #8172] TRACE -- : GFS: SETARCH_EOF
                            T, [2011-10-11T14:09:38.203557 #8172] TRACE -- : GFS: Unrecognized directive 'short' in README.rdoc
                            T, [2011-10-11T14:09:38.401584 #8172] TRACE -- : GFS: Unrecognized directive 'long' in README.rdoc
                            T, [2011-10-11T14:09:38.583635 #8172] TRACE -- : GFS: Unrecognized directive 'description' in README.rdoc
                            T, [2011-10-11T14:09:38.677801 #8172] TRACE -- : GFS: Unrecognized directive 'default' in README.rdoc
                            T, [2011-10-11T14:09:38.808787 #8172] TRACE -- : GFS: Unrecognized directive 'required' in README.rdoc
                            T, [2011-10-11T14:09:38.985422 #8172] TRACE -- : GFS: Unrecognized directive 'on' in README.rdoc
                            T, [2011-10-11T14:09:39.087103 #8172] TRACE -- : GFS: Unrecognized directive 'boolean' in README.rdoc
                            T, [2011-10-11T14:09:39.266628 #8172] TRACE -- : GFS: Unrecognized directive 'show_options' in README.rdoc
                            T, [2011-10-11T14:09:39.397714 #8172] TRACE -- : GFS: Unrecognized directive 'exit' in README.rdoc
                            T, [2011-10-11T14:09:39.512771 #8172] TRACE -- : GFS: Unrecognized directive 'proc' in README.rdoc
                                
                            T, [2011-10-11T14:50:39.196597 #8172] TRACE -- : GFS: Unrecognized directive 'short' in README.rdoc
                            T, [2011-10-11T14:50:39.508147 #8172] TRACE -- : GFS: Unrecognized directive 'long' in README.rdoc
                            T, [2011-10-11T14:50:39.767239 #8172] TRACE -- : GFS: Unrecognized directive 'description' in README.rdoc
                            T, [2011-10-11T14:50:39.954488 #8172] TRACE -- : GFS: Unrecognized directive 'default' in README.rdoc
                            T, [2011-10-11T14:50:40.233877 #8172] TRACE -- : GFS: Unrecognized directive 'required' in README.rdoc
                            T, [2011-10-11T14:50:40.630230 #8172] TRACE -- : GFS: Unrecognized directive 'on' in README.rdoc
                            T, [2011-10-11T14:50:40.921311 #8172] TRACE -- : GFS: Unrecognized directive 'boolean' in README.rdoc
                            T, [2011-10-11T14:50:41.269279 #8172] TRACE -- : GFS: Unrecognized directive 'show_options' in README.rdoc
                            T, [2011-10-11T14:50:41.582764 #8172] TRACE -- : GFS: Unrecognized directive 'exit' in README.rdoc
                            T, [2011-10-11T14:50:41.844505 #8172] TRACE -- : GFS: Unrecognized directive 'proc' in README.rdoc
                            T, [2011-10-11T15:00:46.523601 #8172] TRACE -- : GFS: Could not find main page README.rdoc
                            T, [2011-10-11T15:00:46.827154 #8172] TRACE -- : GFS: Could not find main page README.rdoc
                            T, [2011-10-11T15:00:48.913318 #8172] TRACE -- : GFS: Could not find main page README.rdoc
                            T, [2011-10-11T15:00:49.223352 #8172] TRACE -- : GFS: Could not find main page README.rdoc
                            
                            T, [2011-10-11T15:45:15.035963 #8172] TRACE -- : GFS: umount /sysroot/sys
                            T, [2011-10-11T15:45:16.460369 #8172] TRACE -- : GFS: umount /sysroot/selinux
                            T, [2011-10-11T15:45:17.500071 #8172] TRACE -- : GFS: umount /sysroot/proc
                            T, [2011-10-11T15:45:18.644908 #8172] TRACE -- : GFS: umount /sysroot/dev/pts
                            T, [2011-10-11T15:45:19.716480 #8172] TRACE -- : GFS: umount /sysroot/dev
                            T, [2011-10-11T15:45:20.861081 #8172] TRACE -- : GFS: = "Building native extensions.  This could take a while...
                            D, [2011-10-11T15:45:20.860819 #7264] DEBUG -- : Command 'echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; /usr/local/bin/gem install chef' executed.
                            T, [2011-10-11T15:45:20.861403 #8172] TRACE -- : GFS: [Version 0.7.8] test suite cleanup (eliminated some race conditions related to queue.message_count)
                            D, [2011-10-11T15:45:20.861547 #7264] DEBUG -- : Post commands from appliance definition file executed.
                            T, [2011-10-11T15:45:20.861734 #8172] TRACE -- : GFS: Building native extensions.  This could take a while...
                            T, [2011-10-11T15:45:20.861967 #8172] TRACE -- : GFS: Successfully installed mixlib-config-1.1.2
                            T, [2011-10-11T15:45:20.862205 #8172] TRACE -- : GFS: Successfully installed mixlib-cli-1.2.2
                            T, [2011-10-11T15:45:20.862337 #8172] TRACE -- : GFS: Successfully installed mixlib-log-1.3.0
                            T, [2011-10-11T15:45:20.862680 #8172] TRACE -- : GFS: Successfully installed mixlib-authentication-1.1.4
                            T, [2011-10-11T15:45:20.862883 #8172] TRACE -- : GFS: Successfully installed yajl-ruby-1.0.0
                            T, [2011-10-11T15:45:20.863134 #8172] TRACE -- : GFS: Successfully installed systemu-2.4.0
                            T, [2011-10-11T15:45:20.863368 #8172] TRACE -- : GFS: Successfully installed ohai-0.6.8
                            T, [2011-10-11T15:45:20.863604 #8172] TRACE -- : GFS: Successfully installed mime-types-1.16
                            T, [2011-10-11T15:45:20.863838 #8172] TRACE -- : GFS: Successfully installed rest-client-1.6.7
                            T, [2011-10-11T15:45:20.864089 #8172] TRACE -- : GFS: Successfully installed bunny-0.7.8
                            T, [2011-10-11T15:45:20.864289 #8172] TRACE -- : GFS: Successfully installed json-1.5.2
                            T, [2011-10-11T15:45:20.864571 #8172] TRACE -- : GFS: Successfully installed polyglot-0.3.2
                            T, [2011-10-11T15:45:20.864890 #8172] TRACE -- : GFS: Successfully installed treetop-1.4.10
                            T, [2011-10-11T15:45:20.865346 #8172] TRACE -- : GFS: Successfully installed net-ssh-2.1.4
                            T, [2011-10-11T15:45:20.865734 #8172] TRACE -- : GFS: Successfully installed net-ssh-gateway-1.1.0
                            T, [2011-10-11T15:45:20.866107 #8172] TRACE -- : GFS: Successfully installed net-ssh-multi-1.1
                            T, [2011-10-11T15:45:20.866395 #8172] TRACE -- : GFS: Successfully installed erubis-2.7.0
                            T, [2011-10-11T15:45:20.866751 #8172] TRACE -- : GFS: Successfully installed moneta-0.6.0
                            T, [2011-10-11T15:45:20.867074 #8172] TRACE -- : GFS: Successfully installed highline-1.6.2
                            T, [2011-10-11T15:45:20.867334 #8172] TRACE -- : GFS: Successfully installed uuidtools-2.1.2
                            T, [2011-10-11T15:45:20.867556 #8172] TRACE -- : GFS: Successfully installed chef-0.10.4
                            T, [2011-10-11T15:45:20.868706 #8172] TRACE -- : GFS: 21 gems installed
                            T, [2011-10-11T15:45:20.869550 #8172] TRACE -- : GFS: Installing ri documentation for mixlib-config-1.1.2...
                            T, [2011-10-11T15:45:20.869907 #8172] TRACE -- : GFS: Installing ri documentation for mixlib-cli-1.2.2...
                            T, [2011-10-11T15:45:20.870194 #8172] TRACE -- : GFS: Installing ri documentation for mixlib-log-1.3.0...
                            T, [2011-10-11T15:45:20.870588 #8172] TRACE -- : GFS: Installing ri documentation for mixlib-authentication-1.1.4...
                            T, [2011-10-11T15:45:20.871563 #8172] TRACE -- : GFS: Installing ri documentation for yajl-ruby-1.0.0...
                            T, [2011-10-11T15:45:20.872033 #8172] TRACE -- : GFS: Installing ri documentation for systemu-2.4.0...
                            T, [2011-10-11T15:45:20.872262 #8172] TRACE -- : GFS: Installing ri documentation for ohai-0.6.8...
                            T, [2011-10-11T15:45:20.872586 #8172] TRACE -- : GFS: Installing ri documentation for mime-types-1.16...
                            T, [2011-10-11T15:45:20.873534 #8172] TRACE -- : GFS: Installing ri documentation for rest-client-1.6.7...
                            T, [2011-10-11T15:45:20.873855 #8172] TRACE -- : GFS: Installing ri documentation for bunny-0.7.8...
                            T, [2011-10-11T15:45:20.874116 #8172] TRACE -- : GFS: Installing ri documentation for json-1.5.2...
                            T, [2011-10-11T15:45:20.874313 #8172] TRACE -- : GFS: Installing ri documentation for polyglot-0.3.2...
                            T, [2011-10-11T15:45:20.874478 #8172] TRACE -- : GFS: Installing ri documentation for treetop-1.4.10...
                            T, [2011-10-11T15:45:20.875110 #8172] TRACE -- : GFS: Installing ri documentation for net-ssh-2.1.4...
                            T, [2011-10-11T15:45:20.875323 #8172] TRACE -- : GFS: Installing ri documentation for net-ssh-gateway-1.1.0...
                            T, [2011-10-11T15:45:20.875488 #8172] TRACE -- : GFS: Installing ri documentation for net-ssh-multi-1.1...
                            T, [2011-10-11T15:45:20.875641 #8172] TRACE -- : GFS: Installing ri documentation for erubis-2.7.0...
                            T, [2011-10-11T15:45:20.875831 #8172] TRACE -- : GFS: Installing ri documentation for moneta-0.6.0...
                            T, [2011-10-11T15:45:20.876083 #8172] TRACE -- : GFS: Installing ri documentation for highline-1.6.2...
                            T, [2011-10-11T15:45:20.876279 #8172] TRACE -- : GFS: Installing ri documentation for uuidtools-2.1.2...
                            T, [2011-10-11T15:45:20.876393 #8172] TRACE -- : GFS: Installing ri documentation for chef-0.10.4...
                            T, [2011-10-11T15:45:20.876630 #8172] TRACE -- : GFS: Installing RDoc documentation for mixlib-config-1.1.2...
                            T, [2011-10-11T15:45:20.877298 #8172] TRACE -- : GFS: Installing RDoc documentation for mixlib-cli-1.2.2...
                            T, [2011-10-11T15:45:20.877465 #8172] TRACE -- : GFS: Installing RDoc documentation for mixlib-log-1.3.0...
                            T, [2011-10-11T15:45:20.877636 #8172] TRACE -- : GFS: Installing RDoc documentation for mixlib-authentication-1.1.4...
                            T, [2011-10-11T15:45:20.877760 #8172] TRACE -- : GFS: Installing RDoc documentation for yajl-ruby-1.0.0...
                            T, [2011-10-11T15:45:20.878278 #8172] TRACE -- : GFS: Installing RDoc documentation for systemu-2.4.0...
                            T, [2011-10-11T15:45:20.878478 #8172] TRACE -- : GFS: Installing RDoc documentation for ohai-0.6.8...
                            T, [2011-10-11T15:45:20.878641 #8172] TRACE -- : GFS: Installing RDoc documentation for mime-types-1.16...
                            T, [2011-10-11T15:45:20.879368 #8172] TRACE -- : GFS: Installing RDoc documentation for rest-client-1.6.7...
                            T, [2011-10-11T15:45:20.879474 #8172] TRACE -- : GFS: Installing RDoc documentation for bunny-0.7.8...
                            T, [2011-10-11T15:45:20.879607 #8172] TRACE -- : GFS: Installing RDoc documentation for json-1.5.2...
                            T, [2011-10-11T15:45:20.879719 #8172] TRACE -- : GFS: Installing RDoc documentation for polyglot-0.3.2...
                            T, [2011-10-11T15:45:20.879929 #8172] TRACE -- : GFS: Installing RDoc documentation for treetop-1.4.10...
                            T, [2011-10-11T15:45:20.880152 #8172] TRACE -- : GFS: Installing RDoc documentation for net-ssh-2.1.4...
                            T, [2011-10-11T15:45:20.880309 #8172] TRACE -- : GFS: Installing RDoc documentation for net-ssh-gateway-1.1.0...
                            T, [2011-10-11T15:45:20.880489 #8172] TRACE -- : GFS: Installing RDoc documentation for net-ssh-multi-1.1...
                            T, [2011-10-11T15:45:20.880620 #8172] TRACE -- : GFS: Installing RDoc documentation for erubis-2.7.0...
                            T, [2011-10-11T15:45:20.881214 #8172] TRACE -- : GFS: Installing RDoc documentation for moneta-0.6.0...
                            T, [2011-10-11T15:45:20.881424 #8172] TRACE -- : GFS: Installing RDoc documentation for highline-1.6.2...
                            T, [2011-10-11T15:45:20.881551 #8172] TRACE -- : GFS: Installing RDoc documentation for uuidtools-2.1.2...
                            T, [2011-10-11T15:45:20.881804 #8172] TRACE -- : GFS: Installing RDoc documentation for chef-0.10.4...
                            T, [2011-10-11T15:45:20.882090 #8172] TRACE -- : GFS: "
                            

                             

                            I haven't run chef, I built the appliance only.

                             

                            HTH

                             

                            --Marek

                            • 11. Re: Ruby Enterprise, Chef
                              pchambers

                              I tried to build this appliance on a large EC2 instance of boxgrinder-meta with LIBGUESTFS_MEMSIZE=2048.  I still get:

                              I, [2011-10-12T17:21:25.360252 #980]  INFO -- : Executing post operations after build...
                              D, [2011-10-12T17:21:25.360572 #980] DEBUG -- : Executing 'echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; /usr/local/bin/gem install chef' command...
                              D, [2011-10-12T17:21:25.360895 #980] DEBUG -- : GFS: sh "setarch x86_64 << 'SETARCH_EOF'
                              echo /tmp/core > /proc/sys/kernel/core_pattern; ulimit -c unlimited; /usr/local/bin/gem install chef
                              SETARCH_EOF"
                              D, [2011-10-12T17:37:01.598317 #980] DEBUG -- : GFS: sh = NULL (error)
                              F, [2011-10-12T17:37:01.599150 #980] FATAL -- : Guestfs::Error: sh: ERROR:  While executing gem ... (Errno::ENOENT)
                                  No such file or directory - (unreachable)/root
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:295:in `sh'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:295:in `sh'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb:176:in `execute_post'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb:175:in `each'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb:175:in `execute_post'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb:155:in `build_with_appliance_creator'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/image-helper.rb:129:in `customize'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:176:in `customize'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:123:in `initialize_guestfs'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:169:in `prepare_guestfs'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:123:in `initialize_guestfs'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:77:in `log_callback'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:123:in `initialize_guestfs'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/guestfs-helper.rb:173:in `customize'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/helpers/image-helper.rb:128:in `customize'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb:134:in `build_with_appliance_creator'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb:31:in `build_rhel'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb:41:in `execute'
                              /usr/lib/ruby/gems/1.8/gems/boxgrindelibguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)libguestfs: exception in callback: wrong argument type Proc (expected Data)r-build-0.9.7/lib/boxgrinder-build/plugins/base-plugin.rb:194:in `run'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/appliance.rb:141:in `execute_plugin'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/appliance.rb:105:in `execute_plugin_chain'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/appliance.rb:105:in `each'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/appliance.rb:105:in `execute_plugin_chain'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/lib/boxgrinder-build/appliance.rb:120:in `create'
                              /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.7/bin/boxgrinder-build:177
                              /usr/bin/boxgrinder-build:19:in `load'
                              /usr/bin/boxgrinder-build:19
                              

                              I'll go back to trying the FrameOS RBEL repo.

                              • 12. Re: Ruby Enterprise, Chef
                                pchambers

                                Finally got this to work using RBEL RPMs for ruby and chef, see http://www.varyonic.com/2011/10/boxgrinder-chef/

                                • 13. Re: Ruby Enterprise, Chef
                                  goldmann

                                  Awesome, thanks for letting us know and writing this blog post. I tweeted it!

                                   

                                  --Marek