Does Puppet Dashboard work in Ruby Passenger 5?

293 views Asked by At

Has anyone encountered problem of running Puppet Dashboard on Ruby Passenger 5? If yes does it really work with that Passenger version?

  1. I've already setup and configured the necessary files required to run Puppet Dashboard via Passenger. Currently, the Apache test page is shown instead of the dashboard menu. This will not appear if Puppet-Dashboard is run in the lightweight Webrick server.

  2. While scouring most of the installation samples and the manuals on how to install and configure it for Centos 6. I've seen most of them were based on Passenger 3 / 4. I am currently using 5.0.10 as it is used in conjunction with Puppet 3.8.1. One thing certain is that RailsAutoDetect is deprecated in version 5 and that has been commented out.

  3. Below my puppet-dashboard.conf file (the load module has been moved to another file to avoid double-instantiation)

  4. On the logs, the first error reported is that the path of /usr/share/puppet-dashboard/public/reports/upload is not there, so I've created those sub-folders to see if what would be the next error.

  5. The next error in the log file after that is now shown like: Attempt to serve directory: /usr/share/puppet-dashboard/public/reports/upload/

  6. External node and node terminus option has been commented out as not to disrupt normal puppet run-interval activities during office hours.

    PassengerHighPerformance on
    PassengerMaxPoolSize 6
    PassengerPoolIdleTime 1500
    PassengerStatThrottleRate 120 
    
    Listen 3000
    <VirtualHost *:3000>
       ServerName mi-cloud-mgmt-config-01
       ServerAlias mi-cloud-mgmt-config-01.mimos.local
       RailsBaseURI /
       PassengerAppRoot /usr/share/puppet-dashboard/
       DocumentRoot /usr/share/puppet-dashboard/public/
    
    # UPDATE THIS TO YOUR FQDN
    <Directory /usr/share/puppet-dashboard/public/>
        Options None
        Order allow,deny
        allow from all
    </Directory>
    
    ErrorLog /var/log/httpd/dashboard_error.log
    LogLevel debug
    CustomLog /var/log/httpd/dashboard_access.log combined
    ServerSignature Off
    </VirtualHost>
    
2

There are 2 answers

0
batfastad On

Yes I have encountered the same issue. I tried to be clever and use the latest passenger for my Puppet Master as per the Puppet guide... https://docs.puppetlabs.com/guides/passenger.html#install-rackpassenger

But it looks like Dashboard doesn't support Passenger 5.x. Which is fair enough considering Dashboard is basically dead.
I noticed the structure of the directories under the <DocumentRoot> and <Directory> were different for Dashboard compared to Puppet Master, namely no config.ru being present.

So on CentOS 6 I tried the version of mod_passenger from EPEL repo mod_passenger-3.0.21-11.el6 and that worked for both Puppet Master and Dashboard.

According to some knowledgeable folks in #puppet IRC there should only be a minor lowering in performance with 3.x compared to 5.x.

0
Itamar Lavender On

Although it might need some tweaking it does work on passenger 5. I use Nginx but if it works using Nginx it should on apache as well. I use passenger-5.0.13 with ruby 1.9.1 to run puppet dashboard.