From eef1ea1ee5714eb4ed8729fef9efa0f3e530cfc0 Mon Sep 17 00:00:00 2001 From: Hunter Haugen Date: Fri, 28 Feb 2014 09:45:27 -0800 Subject: [PATCH 01/10] Correct the tests for aix --- spec/acceptance/default_mods_spec.rb | 2 -- spec/acceptance/version.rb | 2 ++ spec/acceptance/vhost_spec.rb | 2 +- spec/spec_helper_acceptance.rb | 21 ++++++++++++--------- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/spec/acceptance/default_mods_spec.rb b/spec/acceptance/default_mods_spec.rb index 03e144560..2b8b409e3 100644 --- a/spec/acceptance/default_mods_spec.rb +++ b/spec/acceptance/default_mods_spec.rb @@ -7,8 +7,6 @@ servicename = 'apache2' when 'FreeBSD' servicename = 'apache22' -else - raise "Unconfigured OS for apache service on #{fact('osfamily')}" end describe 'apache::default_mods class', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do diff --git a/spec/acceptance/version.rb b/spec/acceptance/version.rb index 169054ec2..a3b80c173 100644 --- a/spec/acceptance/version.rb +++ b/spec/acceptance/version.rb @@ -51,5 +51,7 @@ $error_log = 'http-error.log' $apache_version = 2.2 +else + $apache_version = 0 end diff --git a/spec/acceptance/vhost_spec.rb b/spec/acceptance/vhost_spec.rb index f6749d35a..b5c07290a 100644 --- a/spec/acceptance/vhost_spec.rb +++ b/spec/acceptance/vhost_spec.rb @@ -880,7 +880,7 @@ class { 'apache::mod::wsgi': } apply_manifest(pp, :catch_failures => true) end - it 'import_script applies cleanly', :unless => fact('lsbcodename') == 'lucid' do + it 'import_script applies cleanly', :unless => (fact('lsbcodename') == 'lucid' or UNSUPPORTED_PLATFORMS.include?(fact('osfamily'))) do pp = <<-EOS class { 'apache': } class { 'apache::mod::wsgi': } diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index 7d334ae9b..8e4115128 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -1,15 +1,18 @@ require 'beaker-rspec/spec_helper' require 'beaker-rspec/helpers/serverspec' -hosts.each do |host| - if host['platform'] =~ /debian/ - on host, 'echo \'export PATH=/var/lib/gems/1.8/bin/:${PATH}\' >> ~/.bashrc' - end - if host.is_pe? - install_pe - else - install_puppet - on host, "mkdir -p #{host['distmoduledir']}" + +unless ENV['RS_PROVISION'] == 'no' + hosts.each do |host| + if host['platform'] =~ /debian/ + on host, 'echo \'export PATH=/var/lib/gems/1.8/bin/:${PATH}\' >> ~/.bashrc' + end + if host.is_pe? + install_pe + else + install_puppet + on host, "mkdir -p #{host['distmoduledir']}" + end end end From 655d8dc601d939754e022120c3ec7048f345181d Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Fri, 28 Feb 2014 16:28:23 +0000 Subject: [PATCH 02/10] Block out WSGI tests for Ubuntu 10. --- README.md | 6 ++++++ spec/acceptance/vhost_spec.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fd21507cd..ddba31de0 100644 --- a/README.md +++ b/README.md @@ -1718,6 +1718,12 @@ The Apache module relies heavily on templates to enable the `vhost` and `apache: ##Limitations +###Ubuntu 10.04 + +The `apache::vhost::WSGIImportScript` parameter creates a statement inside the VirtualHost which is unsupported on older versions of Apache, causing this to fail. This will be remedied in a future refactoring. + +###General + This module is CI tested on Centos 5 & 6, Ubuntu 12.04, Debian 7, and RHEL 5 & 6 platforms against both the OSS and Enterprise version of Puppet. The module contains support for other distributions and operating systems, such as FreeBSD and Amazon Linux, but is not formally tested on those and regressions may occur. diff --git a/spec/acceptance/vhost_spec.rb b/spec/acceptance/vhost_spec.rb index b5c07290a..e715e28ee 100644 --- a/spec/acceptance/vhost_spec.rb +++ b/spec/acceptance/vhost_spec.rb @@ -899,7 +899,7 @@ class { 'apache::mod::wsgi': } apply_manifest(pp, :catch_failures => true) end - describe file("#{$vhost_dir}/25-test.server.conf") do + describe file("#{$vhost_dir}/25-test.server.conf"), :unless => (fact('lsbcodename') == 'lucid' or UNSUPPORTED_PLATFORMS.include?(fact('osfamily'))) do it { should be_file } it { should contain 'WSGIApplicationGroup %{GLOBAL}' } it { should contain 'WSGIDaemonProcess wsgi processes=2' } From 6f45b714b28e44ffb45d990f581c3c928e8d3af2 Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Sat, 1 Mar 2014 00:06:58 +0000 Subject: [PATCH 03/10] Correct the name of this fact. --- spec/acceptance/vhost_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/acceptance/vhost_spec.rb b/spec/acceptance/vhost_spec.rb index e715e28ee..547612e73 100644 --- a/spec/acceptance/vhost_spec.rb +++ b/spec/acceptance/vhost_spec.rb @@ -880,7 +880,7 @@ class { 'apache::mod::wsgi': } apply_manifest(pp, :catch_failures => true) end - it 'import_script applies cleanly', :unless => (fact('lsbcodename') == 'lucid' or UNSUPPORTED_PLATFORMS.include?(fact('osfamily'))) do + it 'import_script applies cleanly', :unless => (fact('lsbdistcodename') == 'lucid' or UNSUPPORTED_PLATFORMS.include?(fact('osfamily'))) do pp = <<-EOS class { 'apache': } class { 'apache::mod::wsgi': } @@ -899,7 +899,7 @@ class { 'apache::mod::wsgi': } apply_manifest(pp, :catch_failures => true) end - describe file("#{$vhost_dir}/25-test.server.conf"), :unless => (fact('lsbcodename') == 'lucid' or UNSUPPORTED_PLATFORMS.include?(fact('osfamily'))) do + describe file("#{$vhost_dir}/25-test.server.conf"), :unless => (fact('lsbdistcodename') == 'lucid' or UNSUPPORTED_PLATFORMS.include?(fact('osfamily'))) do it { should be_file } it { should contain 'WSGIApplicationGroup %{GLOBAL}' } it { should contain 'WSGIDaemonProcess wsgi processes=2' } From 416d4fc381fd4d615b23b8736770fb7872cf9590 Mon Sep 17 00:00:00 2001 From: Lauren Rother Date: Sat, 1 Mar 2014 12:51:18 -0800 Subject: [PATCH 04/10] Adds "Release Notes/Known Bugs" to Changelog, updates file format to markdown, standardizes the format of previous entries Per a request to have initial release notes that specifically listed known issues for this PE 3.2 release, and barred by time constraints from automating a pull from open issues in JIRA, this commit adds a Release Note and Known Bug section to the Changelog for the imminent 3.2 release. As it will display on the Forge, updates file type to markdown and standardizes previous entries. Adds template for release notes to be filled in later. --- CHANGELOG.md | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57d62e4c1..ddeed5285 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,27 @@ +## 2014-03-04 Supported Release 1.0.x +###Summary + +####Features + +####Bugfixes + +####Known Bugs +* By default, the version of Apache that ships with Ubuntu 10.04 does not work with `wsgi_import_script`. +* SLES is unsupported. + +--- + ## 2014-01-31 Release 0.11.0 ### Summary: This release adds preliminary support for Windows compatibility and multiple rewrite support. -### Backwards-incompatible Changes: +#### Backwards-incompatible Changes: - The rewrite_rule parameter is deprecated in favor of the new rewrite parameter and will be removed in a future release. -### Features: +#### Features: - add Match directive - quote paths for windows compatibility @@ -25,7 +38,7 @@ This release adds preliminary support for Windows compatibility and multiple rew - Convert spec tests to beaker. - Support php_admin_(flag|value)s -### Bugfixes: +#### Bugfixes: - directories are either a Hash or an Array of Hashes - Configure Passenger in separate .conf file on RH so PassengerRoot isn't lost @@ -40,7 +53,7 @@ This release adds preliminary support for Windows compatibility and multiple rew This release adds FreeBSD osfamily support and various other improvements to some mods. -### Features: +#### Features: - Add suPHP_UserGroup directive to directory context - Add support for ScriptAliasMatch directives @@ -68,7 +81,7 @@ This release adds FreeBSD osfamily support and various other improvements to som - Add documentation about $ip - Add ability to pass ip (instead of wildcard) in default vhost files -### Bugfixes: +#### Bugfixes: - Don't listen on port or set NameVirtualHost for non-existent vhost - only apply Directory defaults when provider is a directory @@ -80,7 +93,7 @@ This release adds more parameters to the base apache class and apache defined resource to make the module more flexible. It also adds or enhances SuPHP, WSGI, and Passenger mod support, and support for the ITK mpm module. -### Backwards-incompatible Changes: +#### Backwards-incompatible Changes: - Remove many default mods that are not normally needed. - Remove `rewrite_base` `apache::vhost` parameter; did not work anyway. - Specify dependencies on stdlib >=2.4.0 (this was already the case, but @@ -88,7 +101,7 @@ making explicit) - Deprecate `a2mod` in favor of the `apache::mod::*` classes and `apache::mod` defined resource. -### Features: +#### Features: - `apache` class - Add `httpd_dir` parameter to change the location of the configuration files. @@ -123,7 +136,7 @@ dependency chaining of `Class['apache'] -> ~> Class['apache::service']` - Added `apache::mod::proxy_balancer` class for `apache::balancer` -### Bugfixes: +#### Bugfixes: - Change dependency to puppetlabs-concat - Fix ruby 1.9 bug for `a2mod` - Change servername to be `$::hostname` if there is no `$::fqdn` @@ -133,17 +146,17 @@ Class['apache::service']` array. ## 2013-07-26 Release 0.8.1 -### Bugfixes: +#### Bugfixes: - Update `apache::mpm_module` detection for worker/prefork - Update `apache::mod::cgi` and `apache::mod::cgid` detection for worker/prefork ## 2013-07-16 Release 0.8.0 -### Features: +#### Features: - Add `servername` parameter to `apache` class - Add `proxy_set` parameter to `apache::balancer` define -### Bugfixes: +#### Bugfixes: - Fix ordering for multiple `apache::balancer` clusters - Fix symlinking for sites-available on Debian-based OSs - Fix dependency ordering for recursive confdir management @@ -151,13 +164,13 @@ worker/prefork - Documentation updates ## 2013-07-09 Release 0.7.0 -### Changes: +#### Changes: - Essentially rewrite the module -- too many to list - `apache::vhost` has many abilities -- see README.md for details - `apache::mod::*` classes provide httpd mod-loading capabilities - `apache` base class is much more configurable -### Bugfixes: +#### Bugfixes: - Many. And many more to come ## 2013-03-2 Release 0.6.0 @@ -166,10 +179,10 @@ worker/prefork - make purging of vhost dir configurable ## 2012-08-24 Release 0.4.0 -### Changes: +#### Changes: - `include apache` is now required when using `apache::mod::*` -### Bugfixes: +#### Bugfixes: - Fix syntax for validate_re - Fix formatting in vhost template - Fix spec tests such that they pass From c39c04dbf8fce9531f2a8090d34ee7406bb73fb7 Mon Sep 17 00:00:00 2001 From: Lauren Rother Date: Sun, 2 Mar 2014 09:12:57 -0800 Subject: [PATCH 05/10] Cleans up first entry formatting in changelog Somehow I just totally missed that the very first changelog entry wasn't formatted at all. --- CHANGELOG.md | 66 ++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddeed5285..2c7ee39e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -187,36 +187,36 @@ worker/prefork - Fix formatting in vhost template - Fix spec tests such that they pass - 2012-05-08 Puppet Labs - 0.0.4 - e62e362 Fix broken tests for ssl, vhost, vhost::* - 42c6363 Changes to match style guide and pass puppet-lint without error - 42bc8ba changed name => path for file resources in order to name namevar by it's name - 72e13de One end too much - 0739641 style guide fixes: 'true' <> true, $operatingsystem needs to be $::operatingsystem, etc. - 273f94d fix tests - a35ede5 (#13860) Make a2enmod/a2dismo commands optional - 98d774e (#13860) Autorequire Package['httpd'] - 05fcec5 (#13073) Add missing puppet spec tests - 541afda (#6899) Remove virtual a2mod definition - 976cb69 (#13072) Move mod python and wsgi package names to params - 323915a (#13060) Add .gitignore to repo - fdf40af (#13060) Remove pkg directory from source tree - fd90015 Add LICENSE file and update the ModuleFile - d3d0d23 Re-enable local php class - d7516c7 Make management of firewalls configurable for vhosts - 60f83ba Explicitly lookup scope of apache_name in templates. - f4d287f (#12581) Add explicit ordering for vdir directory - 88a2ac6 (#11706) puppetlabs-apache depends on puppetlabs-firewall - a776a8b (#11071) Fix to work with latest firewall module - 2b79e8b (#11070) Add support for Scientific Linux - 405b3e9 Fix for a2mod - 57b9048 Commit apache::vhost::redirect Manifest - 8862d01 Commit apache::vhost::proxy Manifest - d5c1fd0 Commit apache::mod::wsgi Manifest - a825ac7 Commit apache::mod::python Manifest - b77062f Commit Templates - 9a51b4a Vhost File Declarations - 6cf7312 Defaults for Parameters - 6a5b11a Ensure installed - f672e46 a2mod fix - 8a56ee9 add pthon support to apache +##2012-05-08 Puppet Labs - 0.0.4 +* e62e362 Fix broken tests for ssl, vhost, vhost::* +* 42c6363 Changes to match style guide and pass puppet-lint without error +* 42bc8ba changed name => path for file resources in order to name namevar by it's name +* 72e13de One end too much +* 0739641 style guide fixes: 'true' <> true, $operatingsystem needs to be $::operatingsystem, etc. +* 273f94d fix tests +* a35ede5 (#13860) Make a2enmod/a2dismo commands optional +* 98d774e (#13860) Autorequire Package['httpd'] +* 05fcec5 (#13073) Add missing puppet spec tests +* 541afda (#6899) Remove virtual a2mod definition +* 976cb69 (#13072) Move mod python and wsgi package names to params +* 323915a (#13060) Add .gitignore to repo +* fdf40af (#13060) Remove pkg directory from source tree +* fd90015 Add LICENSE file and update the ModuleFile +* d3d0d23 Re-enable local php class +* d7516c7 Make management of firewalls configurable for vhosts +* 60f83ba Explicitly lookup scope of apache_name in templates. +* f4d287f (#12581) Add explicit ordering for vdir directory +* 88a2ac6 (#11706) puppetlabs-apache depends on puppetlabs-firewall +* a776a8b (#11071) Fix to work with latest firewall module +* 2b79e8b (#11070) Add support for Scientific Linux +* 405b3e9 Fix for a2mod +* 57b9048 Commit apache::vhost::redirect Manifest +* 8862d01 Commit apache::vhost::proxy Manifest +* d5c1fd0 Commit apache::mod::wsgi Manifest +* a825ac7 Commit apache::mod::python Manifest +* b77062f Commit Templates +* 9a51b4a Vhost File Declarations +* 6cf7312 Defaults for Parameters +* 6a5b11a Ensure installed +* f672e46 a2mod fix +* 8a56ee9 add pthon support to apache \ No newline at end of file From b4153791317f895d64fcbe5bd4102156246548e7 Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Mon, 3 Mar 2014 11:56:31 -0500 Subject: [PATCH 06/10] Add metadata for supported modules. --- metadata.json | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 metadata.json diff --git a/metadata.json b/metadata.json new file mode 100644 index 000000000..2bfd44297 --- /dev/null +++ b/metadata.json @@ -0,0 +1,50 @@ +{ + "operatingsystem_support": [ + { + "operatingsystem": "RedHat", + "operatingsystemrelease": [ + "5", + "6" + ] + }, + { + "operatingsystem": "CentOS", + "operatingsystemrelease": [ + "5", + "6" + ] + }, + { + "operatingsystem": "OracleLinux", + "operatingsystemrelease": [ + "5", + "6" + ] + }, + { + "operatingsystem": "Scientific", + "operatingsystemrelease": [ + "5", + "6" + ] + }, + { + "operatingsystem": "Debian", + "operatingsystemrelease": [ + "6", + "7" + ] + }, + { + "operatingsystem": "Ubuntu", + "operatingsystemrelease": [ + "10.04", + "12.04" + ] + } + ], + "requirements": [ + { "name": "pe", "version_requirement": "3.2.x" }, + { "name": "puppet", "version_requirement": "3.x" } + ] +} From eba8df9a630ddcdc68baa4fcbd84122e234eaad3 Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Mon, 3 Mar 2014 19:14:26 +0000 Subject: [PATCH 07/10] Prepare supported module release 1.0.0. --- CHANGELOG.md | 15 +++++++++++++-- Modulefile | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c7ee39e7..74622ba84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,21 @@ -## 2014-03-04 Supported Release 1.0.x +## 2014-03-04 Supported Release 1.0.0 ###Summary +This is a supported release. This release introduces Apache 2.4 support for +Debian and RHEL based osfamilies. + ####Features +- Add apache24 support +- Add rewrite_base functionality to rewrites +- Updated README documentation +- Add WSGIApplicationGroup and WSGIImportScript directives + ####Bugfixes +- Replace mutating hashes with merge() for Puppet 3.5 +- Fix WSGI import_script and mod_ssl issues on Lucid + ####Known Bugs * By default, the version of Apache that ships with Ubuntu 10.04 does not work with `wsgi_import_script`. * SLES is unsupported. @@ -219,4 +230,4 @@ worker/prefork * 6cf7312 Defaults for Parameters * 6a5b11a Ensure installed * f672e46 a2mod fix -* 8a56ee9 add pthon support to apache \ No newline at end of file +* 8a56ee9 add pthon support to apache diff --git a/Modulefile b/Modulefile index 1a1db1427..1bee8e4ce 100644 --- a/Modulefile +++ b/Modulefile @@ -1,5 +1,5 @@ name 'puppetlabs-apache' -version '0.11.0' +version '1.0.0' source 'git://github.com/puppetlabs/puppetlabs-apache.git' author 'puppetlabs' license 'Apache 2.0' From 67d284a05d39076faedd4897a529c148a82f33c8 Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Mon, 3 Mar 2014 21:41:38 +0000 Subject: [PATCH 08/10] Add in missing fields to work around a Puppet bug. --- metadata.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/metadata.json b/metadata.json index 2bfd44297..e5a6ae0eb 100644 --- a/metadata.json +++ b/metadata.json @@ -1,4 +1,11 @@ { + "name": "puppetlabs-apache", + "version": "1.0.0", + "source": "https://github.com/puppetlabs/puppetlabs-apache", + "author": "Puppet Labs", + "license": "Apache-2.0", + "project_page": "https://github.com/puppetlabs/puppetlabs-apache", + "summary": "Puppet module for Apache", "operatingsystem_support": [ { "operatingsystem": "RedHat", @@ -46,5 +53,6 @@ "requirements": [ { "name": "pe", "version_requirement": "3.2.x" }, { "name": "puppet", "version_requirement": "3.x" } - ] + ], + "dependencies": [] } From 2ec128f0f63e49c74ebb87a6b41cfc2bda637614 Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Tue, 4 Mar 2014 16:26:54 +0000 Subject: [PATCH 09/10] Replace the symlink with the actual file to resolve a PMT issue. --- spec/acceptance/nodesets/default.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) mode change 120000 => 100644 spec/acceptance/nodesets/default.yml diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml deleted file mode 120000 index 2719644a6..000000000 --- a/spec/acceptance/nodesets/default.yml +++ /dev/null @@ -1 +0,0 @@ -centos-64-x64.yml \ No newline at end of file diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml new file mode 100644 index 000000000..ce47212a8 --- /dev/null +++ b/spec/acceptance/nodesets/default.yml @@ -0,0 +1,11 @@ +HOSTS: + centos-64-x64: + roles: + - master + platform: el-6-x86_64 + box : centos-64-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + log_level: debug + type: git From 701f7113c322332fc48efdf61d27b57d7df9b80e Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Tue, 4 Mar 2014 16:30:21 +0000 Subject: [PATCH 10/10] Prepare a 1.0.1 supported release. --- CHANGELOG.md | 13 +++++++++++++ Modulefile | 2 +- metadata.json | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 74622ba84..26e8d75d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## 2014-03-04 Supported Release 1.0.1 +###Summary + +This is a supported release. This release removes a testing symlink that can +cause trouble on systems where /var is on a seperate filesystem from the +modulepath. + +####Features +####Bugfixes +####Known Bugs +* By default, the version of Apache that ships with Ubuntu 10.04 does not work with `wsgi_import_script`. +* SLES is unsupported. + ## 2014-03-04 Supported Release 1.0.0 ###Summary diff --git a/Modulefile b/Modulefile index 1bee8e4ce..227947cbb 100644 --- a/Modulefile +++ b/Modulefile @@ -1,5 +1,5 @@ name 'puppetlabs-apache' -version '1.0.0' +version '1.0.1' source 'git://github.com/puppetlabs/puppetlabs-apache.git' author 'puppetlabs' license 'Apache 2.0' diff --git a/metadata.json b/metadata.json index e5a6ae0eb..58ef97930 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "puppetlabs-apache", - "version": "1.0.0", + "version": "1.0.1", "source": "https://github.com/puppetlabs/puppetlabs-apache", "author": "Puppet Labs", "license": "Apache-2.0",