0

Very new to puppet and ruby but not system administration. Baptism by fire, setting up puppetserver version: 2016.1.1022 on centos 7, 64-bit. Switched from default to apache, now when I open :8140 in a web browser I'm getting, with "PassengerFriendlyErrorPages on" in the apache config, "web application cannot be started" with this dump:

cannot load such file -- ./../testrequest (LoadError)
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
config.ru:1:in `block in <main>'
/usr/share/gems/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
/usr/share/gems/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
config.ru:1:in `new'
config.ru:1:in `<main>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `eval'
/usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in    `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
Error ID 3a22b1b3
Application root
/usr/share/puppet/rack/puppetmasterd
Environment (value of RAILS_ENV, RACK_ENV, WSGI_ENV, NODE_ENV and PASSENGER_APP_ENV)
production
Ruby interpreter command
/usr/bin/ruby
User and groups
uid=986(pe-puppet) gid=981(pe-puppet) groups=981(pe-puppet) context=system_u:unconfined_r:unconfined_t:s0
Environment variables
LANG = C
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
NOTIFY_SOCKET = /run/systemd/notify
PASSENGER_USE_FEEDBACK_FD = true
SERVER_SOFTWARE = Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips Phusion_Passenger/5.0.28
PASSENGER_DEBUG_DIR = /tmp/passenger.spawn-debug.XXXXGEgBkx
USER = pe-puppet
LOGNAME = pe-puppet
SHELL = /sbin/nologin
HOME = /opt/puppetlabs/server/data/puppetserver
PWD = /usr/share/puppet/rack/puppetmasterd
IN_PASSENGER = 1
PYTHONUNBUFFERED = 1
NODE_PATH = /usr/share/passenger/node
RAILS_ENV = production
RACK_ENV = production
WSGI_ENV = production
NODE_ENV = production
PASSENGER_APP_ENV = production

As far as I can tell the config is all good and there is a file "testrequest.rb" not sure if it is in the right place but does have suitable read permissions:

-rw-r--r--. 1 root root 2012 Jun 20 07:05 /usr/local/share/gems/gems/rack-1.6.4/test/testrequest.rb
sdjuan
  • 709
  • 6
  • 15
  • What old version of puppet-enterprise is this that it is using passenger and the system ruby? – Matthew Schuchard Jun 21 '16 at 18:52
  • Latest available as far as I know: puppet --version 4.4.2 I'll update the question to show so – sdjuan Jun 21 '16 at 19:05
  • oops! I may have asked the agent instead of the server. Sorry about that. # puppetserver --version puppetserver version: 2016.1.1022 so look like it is down 1 rev although I downloaded it only a few days ago. The agent is whatever came with enterprise. – sdjuan Jun 21 '16 at 19:11
  • Just looked at the source and it came out of a file named puppet-enterprise-2016.1.2-el-7-x86_64.tar.gz Passenger came along when I used this guide to set up apache https://docs.puppet.com/puppet/4.5/reference/passenger.html – sdjuan Jun 21 '16 at 19:17
  • So few things: Puppet Enterprise 2016.2 came out a few hours ago, you should really just use the dashboard/console that comes with Puppet Enterprise instead of trying to integrate Passenger, and you are trying to use Passenger with the system ruby env instead of the Puppet ruby env inside of `/opt/puppetlabs/puppet/`. – Matthew Schuchard Jun 21 '16 at 19:28
  • Thanks. haha I installed around 3 days ago so I missed that update. Looks like I was using the wrong guide as well. I was trying to use apache as that appears to be recommended by my googling which ended up at https://docs.puppet.com/puppet/4.5/reference/passenger.html which says"You cannot use this default server for real-life loads" but from what you are suggesting perhaps I should stay with the deafult nginx. As a puppet noob I have no clue which is the correct choice. I was expecting that the enterprise console would pop back up once I got things working with Apache. Oh well. – sdjuan Jun 21 '16 at 19:40
  • I'm gong to take your advice and start over with the latest version so if you use your "So few things " comment as an answer I will accept it. – sdjuan Jun 21 '16 at 20:07
  • 1
    Basically take the PE tarball and untar it, execute the installer script inside of it, go to the web gui it directs you to, answer the questions in the gui, wait for the installer to finish, login to the console/dashboard web gui address without the port, and you are done! – Matthew Schuchard Jun 21 '16 at 20:16
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/115238/discussion-between-sdjuan-and-matt-schuchard). – sdjuan Jun 21 '16 at 20:25

0 Answers0