-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use mod_lib_path with apache::mod::passenger for compatibility #47
Conversation
RVM-based passenger installation was failing on Debian platforms as the handling of passenger configuration (delegated to the puppetlabs/puppetlabs-apache module) did not support apache::mod -level overriding of module paths; this is required for passenger installations handled outside the OS package system (i.e. compiled via "passenger-install-apache2-module"). Changes to this module: - additional parameters have been added to the the rvm::passenger::apache class to support passing through configuration to apache::mod - the puppetlabs/puppetlabs-apache module is currently referenced via its git repository, which supports the additional apache::mod parameters; this will be changed back once these updates have been released to the puppet forge - streamlined execution of passenger-install-apache2-module - executing based on existence of compiled module - streamlined assembling path to compiled module - fleshing out debian package requirements for rvm:passenger::apache - spec/classes tests have been updated to reflect revised rvm::passenger::apache parameters - spec/acceptance tests have been updated to more thoroughly verify correct installation/configuration and operation of RVM/passenger features, including: - installation and configuration of rvm, rubies, gemsets and gems - installation, configuraation and operation of apache+passenger - removing "--binary" requirement for building gems; some defined nodes do not are not supported with RVM ruby binaries - passing for all nodesets - fleshing out spec/acceptance setup: - install puppet earlier, enabling access to facter within specs - adding ubuntu-server-12042-x64 nodeset - removing no-longer-in-user passenger-apache-* templates
even git-based modules should use organization scoping (when available) to aid dependency resolution
…et double-referencing git-based module; this will be restored to a forge-based module reference soon in any case
…lib-fixed puppetlabs/apache module; also added spec/acceptance tests for passenger 3.0.x and 4.0.x, incl. a workaround (just in the spec/acceptance tests) for Redhat family OS issues with recent puppet versions
…nd debian; passenger_extra.conf is always copied to passenger.conf - corresponding test updates
Thanks. Looks good, just two questions:
|
Thanks for the quick response :) Regarding puppet 3.5 breakage, the issue was something I was unaware of until running spec/acceptance tests (on Centos node sets) and encountered fatal errors at the "install_puppet" stage (which always attempts to install the latest available package version). The issue is pretty well-described here: Regarding the lack of :let, that's a reflection of my lack of familiarity with rspec - I'll look into revising that setup. |
no worries about |
Preinstalled puppet sounds good to me (esp. the "faster tests" part). I was already looking at rspec and have a version working with the correct let(:foo) approach; this will eliminate some unnecessary workaround in spec_helper_acceptance.rb). I think this is worthwhile (and can be done quickly); would you prefer this be done in this or a separate PR? |
…orrect usage (in particular, moving local variables into lazy-evaluated "let(:foo)" statements) enabled removing the spec_acceptance_helper hacks to pre-install puppet/facter before configuring rspec (i.e. bad rspec usage was the only reason for those hacks), and cleaner spec acceptance test execution
Brushing up on spec showed just how broken the rspec usage was in rvm_system_spec; I'm assuming it's fine to push the corrected version to this PR (tests are still passing for all included nodesets) |
…cter before configuring rspec (i.e. bad rspec usage in rvm_system_spec.rb was the only reason for those hacks); note that this was meant to be included in the last commit
Thanks! |
Passes the OS-specific Apache/Passenger module path to the passenger configuration; fixes compatibility issues for cases where a standard location is note used. This relates to #18
Updates puppetlabs apache module dependency to 1.1.0 (first including mod_lib_path override support for passenger module)
Removes mention of apache from Modulefile (not causing real problems, but cuts out some dependency resolution noise)
Tweaks passenger/ubuntu required packages ('libcurl4-gnutls-dev' is needed; much of the time this is provided by other modules, but there are cases where those modules are not being used to ensure this package is present).
Adds spec/acceptance coverage for passenger 3.x and 4.x, including a new nodeset for Ubuntu 12.04 coverage. All tests are passing with all defined nodesets.
Works around spec/acceptance failure on all Centos nodesets (due to issues with "install_puppet" in beaker and current versions of the puppet package on red hat family OSes); tweaks in spec_acceptance_helper.rb force installing an older (non-breaking) puppet installation for Redhat-based OSs (this should be stripped out once there are usable Redhat packages again)
Clears out some unused templates.
Sorry it took so long to submit this (I originally brought this up in January), there was a long delay before the required mod-lib updates to puppetlabs-apache were included in a forge release