106 Commits

Author SHA1 Message Date
Paul Belanger
fba135de66 Revert "Fix selinux problems on vhost"
We are reverting as this breaks our gitXX.o.o servers, which are centos-7. EG:

  (/Stage[main]/Cgit/Httpd::Vhost[git.openstack.org]/Exec[update_context_MEANINGLESS ARGUMENT]/returns) chcon: cannot access ‘MEANINGLESS’: No such file or directory

This reverts commit 10844f7c9e84d1640039e1c6d73930b9b599c304.

Change-Id: I06435e6203bd8770bc6a817d3f0b33a05d84bdf6
2016-07-20 23:24:41 +00:00
Yolanda Robla
10844f7c9e Fix selinux problems on vhost
When running on CentOS, two problems appeared:
- when using proxy, apache was failing with an error 500,
fixed by enabling httpd_can_network_connect

- when trying to access files under a vhost, apache was
failing with Access denied because search permissions
are missing. So running chcon on the docroot for each vhost

Change-Id: I87c4c0e51f05eab8f5c8e094c2c54504e60b97af
2016-06-26 09:53:35 +02:00
Spencer Krum
3f1c21aecb Pin google-api-client; sanitize Gemfile
Change-Id: Icf2aa6e7b44a0219e03cb9786726e0f6f9262a97
2016-04-14 15:19:35 -07:00
Andrey Nikitin
080f4bab6a Order of the classes parameters is refactored
Order and intendation of those parameters are changed
to follow Puppet Style Guide recommendation [0].
Moreover, it will allow to an user to find much faster
a variable in a list of variables.

[0]. https://docs.puppetlabs.com/guides/style_guide.html

Change-Id: If2443cbc57671784cfcb31bbe0ada0c09f78c996
2016-03-21 12:44:49 +03:00
Monty Taylor
aec75a659f Add SSL Procotol and Cipher config to default vhost
Infra doesn't really use this template, but in case someone else does,
update the protocol to only use TLS and update the cipher list to the
list of strong ciphers.

Change-Id: Ibd8a0e65800e022ab8bc52f6af63c3c85e84419d
2016-03-01 08:04:00 -06:00
Jenkins
3d6423ebdf Merge "Fixes vhost and vhost::proxy on Precise." 2015-11-03 17:16:51 +00:00
Jenkins
f98e71bf65 Merge "Enable SNI on Ubuntu 12.04 LTS" 2015-10-21 19:43:32 +00:00
Jeremy Stanley
ebdc05976f Enable SNI on Ubuntu 12.04 LTS
Enable Server Name Indication (SNI) on Ubuntu 12.04 LTS which runs
Apache 2.2. This allows running multiple HTTPS sites from one IP
address/TCP port when SubjectAltNames are specified in the
certificate, but MSIE on WinXP does not support this extension and
so will cease working for HTTPS sites managed by this module. Note
that this behavior is already implicit on Apache 2.4 based platforms
(such as Ubuntu 14.04 LTS).

Change-Id: I05c8e335f68d9461d8d81a3d12343d1920a738d4
2015-10-21 15:35:33 +00:00
Bruno Tavares
d8e4764ac8 Fixes vhost and vhost::proxy on Precise.
We recently introduced on bf7ce40e2fe7e28dab11ee2fb0ae26a50b5fa8bd the
use of mod_version. The module is enabled and installed by default on
Ubuntu Trusty 14.04, CentOS 6 and CentOS 7.

On Ubuntu Precise 12.04 the module comes installed, but not enabled by
default. This is needed to maintain compatibility with downstream pool
of servers.

Change-Id: I01a8a12b959e3cbecd0355562db0393404ae54bf
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
2015-10-20 18:07:41 -02:00
Jenkins
d2bd645ab6 Merge "Grant access for vhosts on Apache >= 2.4" 2015-10-20 08:38:58 +00:00
Jenkins
945f4f3862 Merge "Fix proxy and redirect configuration file names." 2015-10-20 08:36:32 +00:00
Danilo Ramalho
bf7ce40e2f Grant access for vhosts on Apache >= 2.4
Apache's configuration for access control has changed on 2.4. To allow
access to served directories we need to include the new directive
"Require grant all".

We scoped the configuration to only be applied on Apache 2.4. More
information can be viewed on the Apache's upgrade document[1].

The tests were changed to ensure that the configuration is working
without any extra override, as the extra test vhost is on a custom
directory that requires the template to grant access to it.

[1] http://httpd.apache.org/docs/trunk/upgrading.html

Change-Id: I898ca049c5b3592cb70ad8c22eba8d4c681f3b22
Co-Authored-By: Bruno Tavares <btavare@thoughtworks.com>
2015-10-19 17:48:54 +00:00
Bruno Tavares
faf9d932ba Fix proxy and redirect configuration file names.
While working on puppet-lodgeit acceptance tests we found that the
configuration file that `httpd::mod::proxy` creates was not being picked
up by Apache because it was missing the prefix `.conf`. This transition
is required to configure httpd modules correctly on Apache >= 2.4

To prevent Apache from loading two the same configuration twice, we
remove the file without extension, so this change does not affect
running systems.

This change has fixes for `httpd::mod::proxy` and `httpd::mod::redirect`
as they have the same issue. We added tests as well to increase the
confidence on the fix.

The acceptance will be fixed on the follow-up patch, as the redirect
grants are broken for 2.4 as well.

Change-Id: I82241038d687316f91f18209fe8323c12422e2f8
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
2015-10-19 15:43:51 -02:00
Jeremy Stanley
0dcb175c42 Clean up doubled backslashes in logrotate config
According to
https://docs.puppetlabs.com/puppet/3.8/reference/lang_datatypes.html
there is no way to end a single-quoted string with a literal
backslash, so fold this content into the preceding double-quoted
string in an effort to satisfy the linter as well.

Change-Id: Ic639cd2fc1c7953cbf4311ce7c958f9bdb61e31b
2015-10-14 13:29:17 +00:00
Clint Adams
a827227079 Allow specification of DocumentRoot when reverse-proxying partially
If any locations are being excluded from reverse-proxying, we need
to be able to specify a DocumentRoot to serve up un-proxied files.

Change-Id: I1c5fe6f73b5983886578975e89c5e4148b506795
2015-10-06 15:57:14 -04:00
Jenkins
2a142ac027 Merge "Allow specification of locations to not be proxied" 2015-10-06 07:27:48 +00:00
Clint Adams
c39fde20ed Allow specification of locations to not be proxied
A user of httpd::vhost::proxy may wish to exclude certain URLs from
being proxied.  This change allows the template to be populated with
such exclusions.

Change-Id: I55a86d3c703a667daf55cb75cf559eb23a556219
2015-10-02 12:15:43 -04:00
Bruno Tavares
edb7660f9b Add note of support on Python mods for CentOS 7.
CentOS 7 has offically deprecated mod_python in favor of mod_wsgi and
the package is not available anymore. This change add a note on the
module about the offically supported way to run python applications on
CentOS 7.

Change-Id: I9bf2e0dde6575f50db6ce12abf896b5890b42419
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
2015-09-28 14:50:03 -03:00
Glauco Oliveira
9c22e17cef Add acceptance tests for puppet-httpd
Add acceptance tests for puppet-httpd module so that once the module is
applied we check if files were created, packages were installed and
services were started.

Change-Id: I3e1430f2937bd2bc5ea789c626784af7d5d85959
Co-Authored-By: Bruno Tavares <btavare@thoughtworks.com>
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
2015-09-28 14:50:03 -03:00
Bruno Tavares
c180eeac3f Use httpd::mod when adding Apache modules.
Replace usage of httpd_mod with the httpd::mod wrapper to allow classes
to be applied as well on RedHat systems and have the httpd service
ordering fixed.

Change-Id: If790efd7b465e77c2eca7710f79e563d69ee3783
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
2015-09-28 14:50:03 -03:00
Bruno Tavares
a6f2016567 Fix httpd::python.
While writing acceptance tests for puppet-httpd we noticed that the
manifest of httpd::python is not working on Ubuntu Trusty.

The httpd::python manifest was using a non-declared
$apache::params::mod_python_package instead of
$httpd::params::mod_python_package

Change-Id: I4db9298aba7da90a017527b2fb29dcd17af28efc
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
2015-09-28 14:50:03 -03:00
Andy James
69310a65cb Changed to match 'python_package' to 'mod_python package'
Matches the parameter name set in params.pp

Change-Id: Ib95acfbb5dd510ad6c1cb13cda8741a0ace149d2
2015-09-28 14:50:03 -03:00
Bruno Tavares
84c5d2bf6a Fix httpd::dev.
While writing acceptance tests for puppet-httpd we noticed that the
manifest of httpd::dev was not working on Ubuntu Trusty.

That is because httpd::dev was trying to install multiple package using
the wrong syntax. Also, the one of the modules for Ubuntu was wrong and
we updated to keep applying.

Co-Authored-By: Bruno Tavares <btavare@thoughtworks.com>
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>

Change-Id: Ibe1e107417b4670902f74b8c2fedc0d9d927ce9b
2015-09-28 14:50:03 -03:00
Jenkins
d3261cdc81 Merge "Create a httpd::mod defined type" 2015-09-28 17:31:07 +00:00
Spencer Krum
5b0ebdf555 Create a httpd::mod defined type
This allows for before => Service['httpd'] on every resource without
being explicit.

Co-Authored-By: Bruno Tavares <btavare@thoughtworks.com>
Co-Authored-By: Glauco Oliveira <gvinici@thoughtworks.com>

Change-Id: I0e991a7a63317e608cc6ef35b58dc79b518ba863
2015-09-25 12:21:31 -07:00
Jenkins
f0d478b4f9 Merge "Add logrotate class to Apache" 2015-09-22 19:17:49 +00:00
James E. Blair
77cae247c9 Add "Satisfy any" to default vhost template
This is needed for Apache 2.4, and is compatible with 2.2.

Change-Id: I5c8243c0031e295b5d88a21ac05f7a467beefa33
2015-09-17 14:25:42 -07:00
Spencer Krum
2016285e71 Fix target path for regular git clone during tests
Use same target directory for zuul-cloner and
the regular git command.

Change-Id: Ia93972eb910cbff202820151a0407d36b3317dc4
Co-Authored-By: Fabien Boucher <fabien.boucher@enovance.com>
2015-08-19 16:36:20 -07:00
Yolanda Robla
208feadbcd Add logrotate class to Apache
Adding this subclass to httpd configuration, to allow
modules using this manifest to setup log rotation for
apache on demand.
Please note that apache is installing a logrotate file by
default here, but naming that on same way will overwrite it,
and allow our desired log rotation.

Depends-On: I7451ecc550b50b85c55784ef598f6b45412117fc
Change-Id: I3ef60fd9386795007e5b55264cc6e91fa0b67c68
2015-08-15 09:13:17 +02:00
Spencer Krum
95e9f04e20 Add vim swp files to gitignore
Change-Id: I6787886ee37b8860ad0b8931e012bd488f95fd07
2015-08-12 21:27:43 -07:00
Jenkins
d2e06d732b Merge "Add Gemfile and puppet 4 checks" 2015-08-11 05:07:50 +00:00
Jenkins
85469bb95e Merge "Add puppetlabs-firewall dependency to metadata" 2015-08-09 04:20:00 +00:00
Jenkins
0b6f95fe3f Merge "Fix $httpd::vhost::proxy::servername parameter" 2015-08-09 03:00:03 +00:00
Emma Barber
fafa13ca43 Add puppetlabs-firewall dependency to metadata
$configure_firewall defaults to true, however the related firewall
dependency is missing from the module metadata. The lower bound
used here reflects that of puppetlabs-apache v0.0.4, the upper bound is
the current release.

Change-Id: Ic628fcacf11a65786241047f58839544e3d1fc52
2015-08-07 18:41:07 -07:00
Jenkins
4220a07129 Merge "Revise offensive comment" 2015-08-03 19:09:21 +00:00
Colleen Murphy
17430b7507 Add Gemfile and puppet 4 checks
In anticipation of puppet 4, start trying to deal with puppet 4 things
that can be helpfully predicted by puppet lint plugins. Also fix errors
caught by the puppet-lint-unquoted_string-check and
puppet-lint-absolute_classname-check gems.

Change-Id: I9d74d25d2f2c95ec52a6db3bf070903240e1b933
2015-07-29 23:18:35 -07:00
Colleen Murphy
eedc2abb66 Fix $httpd::vhost::proxy::servername parameter
The $httpd::vhost::proxy::servername parameter was not being used, and
the local variable $srvname was defaulting to the name of the defined
type. This patch copies the logic from httpd::vhost to conditionally
set $srvname to the $servername parameter if it is set, and default to
the old behavior if not.

Change-Id: I4936be856db1a1af279b7c3824606e2c0375e9a6
2015-07-29 23:18:17 -07:00
Timothy Chavez
6f79bf9f8c Revise offensive comment
Change-Id: I549b82c94551057fe52c47a5c859f7e7e9921450
2015-07-29 16:16:26 -05:00
Spencer Krum
bb5bdb2a56 Boilerplate beaker-rspec files
Change-Id: I7bd86e006d6e6dc3b97e5e68598b833e18394e33
2015-07-28 02:04:32 -07:00
Paul Belanger
6559655964 Fix variable access warnings
Change-Id: I9bb68f50be21885072e7e999063f723b2059a2e9
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2015-07-10 09:54:55 -04:00
Jeremy Stanley
76cfa28338 Replace ci.o.o links with docs.o.o/infra
The http://ci.openstack.org/ documentation site has been deprecated,
replaced by redirects to corresponding paths within
http://docs.openstack.org/infra/ where other Project Infrastructure
documentation already resides.

Change-Id: I98d5d0f062520f423f041605de7572c8e3d73511
2015-05-14 21:38:17 +00:00
Ramy Asselin
48c90450bf Rename openstackci to openstackinfra
Change-Id: I5d5db705d447e19f07a88b475d9a3ab2e17da7ec
2015-04-20 13:44:18 -07:00
Spencer Krum
5532712791 Reduce version to 0.0.0
We want to drive version from git tag. That means the git repo doesn't hold
version number. So we'll set version to 0.0.0 in git and anyone using the repo
from git will know they are doing something funky and will have to ask git
what version they are running.

Change-Id: Iea80c34d4b87a2a4f89ee5429aa1714cee481c11
2015-03-18 22:06:03 +00:00
Spencer Krum
76b2185b05 rename to openstackinfra
Change-Id: I39bafac1e7f85b0d14ec5d6626779985093c54f7
2015-03-03 14:55:53 -08:00
Spencer Krum
9010a73e9d Remove tests
These tests don't work and we don't run them. We can return to
testing using rspec-puppet at a future time.

Change-Id: I0cdd922e329358c1921335d92c5261f001019713
2015-02-25 03:28:27 -08:00
Spencer Krum
de611fb20e Remove a2mod definion
One snuck past the global renaming

Change-Id: I1d60946a30a32d0a117e61cc969e065fa39993e8
2015-02-25 03:27:55 -08:00
Jenkins
f2b15379a4 Merge "Rename apache2 to httpd globally" 2015-02-23 18:02:21 +00:00
Spencer Krum
dab0f45bea Rename apache2 to httpd globally
This renames the classes and defined types from apache to httpd.
With the 'httpd' module available, we can migrate usage of 'apache'
to 'httpd.' Eventually this will free the 'apache' namespace.

A native ruby type and provider is contained in this class. It is
not namespaced to the class name so it has been renamed from a2mod
to httpd_mod.

Change-Id: I056eb28a13e7ccc95f1496019bedc332c17dd458
2015-02-05 05:49:30 -08:00
Jenkins
23bf46e4a8 Merge "Update Rakefile and module info" 2015-02-02 23:25:02 +00:00
Jeremy Stanley
ac42db23c5 Add missing LICENSE file
The content of this project is Apache 2 licensed, but we should
include a standard LICENSE file just to be clear about that.

Change-Id: Iee6320b9d7e35fbe8d3b0a9794f3e485c18ef2c8
2015-01-30 00:16:24 +00:00