Add ability to disable Apache in puppet-horizon

Bug #1190282 reported by Mathieu Gagné
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
puppet-horizon
Fix Released
Wishlist
Mathieu Gagné

Bug Description

puppet-horizon should not impose the use of Apache in horizon::init.

The user should be free to disable the auto-configuration of Apache and installs/configures a WSGI server of its choice: with puppet or not.

This bug is created to open a discussion on the implementation details and try to answer questions:
* Should we split the Apache configuration to its own class?
* Should we add a new parameter to horizon::init where the user can select which WSGI server to install?
* Or should it be a boolean?
* Furthermore, the user should be able to configure the application path.

Revision history for this message
Joe T (joe-topjian-v) wrote :

I'm definitely for keeping Horizon and Apache separate.

The following comments are my "in a perfect world" opinion. :)

I've been a fan of the cinder::volume and cinder::volume::driver style of manifests. cinder::volume contains no reference to what driver you'll be using. Instead you have to explicitly declare a cinder::volume::driver class. I think the same should be done to Horizon.

If horizon::init contains any reference to a web server, then it must always be kept up to date with all supported web servers. As an example, look at all of the rpc information in the nova manifest.

To comment on the last point, all web server-specific settings, including application path, could go in horizon::http::apache.

Also, I don't think that horizon::http::apache should include "class { 'apache': }" -- horizon::http::apache should assume that the user has explicitly declared this class elsewhere. The reason for this is if the server that horizon is installed on is also being used for other web services (such as Nagios).

Revision history for this message
Benedikt Trefzer (benedikt-trefzer) wrote :

I agree with Joe. Horizon should not depend on Apache.
Further: keep in mind, that the service also has to be configurable.

Revision history for this message
Graeme Gillies (graeme-r-gillies) wrote :

Hi,

I've done a first attempt at splitting out the apache configuration from the horizon configuration into a separate class horizon::apache. The theory is then that you could have horizon::nginx or other http webservers configured separately from configuring horizon itself. It seems to work for me on RHEL6 but if someone can take a test of it on debian/ubuntu (don't have access to either at the moment) and give me some feedback it would be much appreciated.

https://github.com/ggillies/puppet-horizon/commit/e9e2157547c8687a06ff51b0e2b11d42ec027521

Mathieu Gagné (mgagne)
affects: puppet-openstack → puppet-horizon
Mathieu Gagné (mgagne)
Changed in puppet-horizon:
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-horizon (master)

Fix proposed to branch: master
Review: https://review.openstack.org/69990

Changed in puppet-horizon:
assignee: nobody → Mathieu Gagné (mgagne)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-horizon (master)

Reviewed: https://review.openstack.org/69990
Committed: https://git.openstack.org/cgit/stackforge/puppet-horizon/commit/?id=4b864789c0dbf46897324e69ad6750912f758143
Submitter: Jenkins
Branch: master

commit 4b864789c0dbf46897324e69ad6750912f758143
Author: Mathieu Gagné <email address hidden>
Date: Wed Jan 29 15:39:41 2014 -0500

    Add ability to disable configuration of apache

    Add configure_apache parameter to add the ability to disable
    configuration of Apache vhost for Horizon.

    - Move Apache configuration to horizon::wsgi::apache class.
    - Move management of logdir resource to horizon::wsgi::apache class.

    Change-Id: I5aeb577ce827e923ed01a73cca1bd79789f81eff
    Closes-bug: #1190282

Changed in puppet-horizon:
status: In Progress → Fix Committed
Mathieu Gagné (mgagne)
Changed in puppet-horizon:
milestone: none → 4.0.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.