Dave
Dave

Reputation: 4436

Nginx-passenger RVM cookbook chef

Unable to setup nginx-passenger module using chef-solo.. Phusion passenger compile issue.

cookbook 'rvm', '~> 0.9.2'

cookbook 'nginx', '~> 2.7.4'

i have gone through solutions in other similar threads,, but no success yet... any help is highly appreciated..

My Configuration

{
   "name": "nginx-server",
   "description": "Nginx server",
   "default_attributes": {
      "rvm": {
          "default_ruby":"ruby-2.1.2",
          "gems": {
            "2.1.2": [
              {"name": "bundler"},
              {"name": "passenger"},
              {"name": "rake"}
            ]
          }           
        },
      "nginx": {
          "version": "1.4.1",
          "dir" : "/etc/nginx",
          "log_dir" : "/var/log/nginx",
          "binary": "/opt/nginx-1.4.1/sbin",
          "user" : "www-data",
          "init_style" : "init",
          "source" :{
              "modules" : [
                  "nginx::http_stub_status_module", 
                  "nginx::http_gzip_static_module",
                  "nginx::passenger"
                  ]
              },
              "passenger" : {
                  "version": "3.0.21",
                  "ruby" : "/usr/local/rvm/rubies/ruby-2.1.2/bin/ruby", 
                  "root" : "/usr/local/rvm/gems/ruby-2.1.2/gems/passenger-3.0.21" 

              }
        }        
   },
   "json_class": "Chef::Role",
   "run_list": [
      "rvm::system",
      "rvm::gem_package", 
      "nginx::source", 
      "monit_configs-tlq::nginx"
   ],
   "chef_type": "role",
   "override_attributes": {
   }
}

Error message: Phusion Passenger support files are not yet compiled. Compiling them for you

adding module in /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-3.0.21/ext/nginx
*** The Phusion Passenger support files are not yet compiled. Compiling them for you... ***
*** Running 'rake nginx RELEASE=yes' in /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-3.0.21/ext/nginx... ***
STDERR: /opt/chef/embedded/bin/rake:9:in `require': no such file to load -- rubygems (LoadError)
    from /opt/chef/embedded/bin/rake:9
---- End output of "bash"  "/tmp/chef-script20141016-27177-1eqrpme" ----
Ran "bash"  "/tmp/chef-script20141016-27177-1eqrpme" returned 1
[2014-10-16T20:45:43+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
ERROR: RuntimeError: chef-solo failed. See output above. 

Any idea to solve this,, will be of great help... :)

Many Thanks

Dave

Upvotes: 0

Views: 390

Answers (1)

coderanger
coderanger

Reputation: 54249

The problem is that you are trying to use the ruby binary from RVM but your path is still setup to use other scripts from the Chef omnibus install. The trace shows rake running the the omnibus folder but ruby from RVM. Fix the PATH environment variable used for the bash recipe or source the RVM shell config in the bash code before running rake. This will likely require forking the above cookbooks unless they have explicit support for each other.

Upvotes: 1

Related Questions