Add support for the openSUSE Leap distributions
Add support for the openSUSE Leap distributions. Additionally, for openSUSE, we need to load some extra apache2 modules which are not there by default. Finally, Apache on openSUSE configures some of it's components in httpd.conf and some others in default-server.conf so it's not possible to drop one of them as that will likely break Apache. A future improvement would be to drop both and provide a good httpd.conf template. Until then, we need to drop the default configuration for the root directory as that breaks Horizon since it does not allow symlinks and global access to it. Change-Id: I51613df836c6a507f6f36967c0ce4b76ba9202a9
This commit is contained in:
parent
d7c2565493
commit
a64745174b
@ -23,6 +23,14 @@ galaxy_info:
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- xenial
|
||||
- name: EL
|
||||
versions:
|
||||
- 7
|
||||
- name: opensuse
|
||||
versions:
|
||||
- 42.1
|
||||
- 42.2
|
||||
- 42.3
|
||||
categories:
|
||||
- cloud
|
||||
- python
|
||||
|
@ -28,14 +28,9 @@
|
||||
state: "{{ item.state }}"
|
||||
ignore_configcheck: yes
|
||||
with_items:
|
||||
- { state: present, name: wsgi }
|
||||
- { state: present, name: ssl }
|
||||
- { state: absent, name: mpm_event }
|
||||
- { state: present, name: mpm_worker }
|
||||
- { state: present, name: rewrite }
|
||||
- { state: present, name: headers }
|
||||
- "{{ horizon_apache_modules }}"
|
||||
when:
|
||||
- ansible_pkg_mgr == 'apt'
|
||||
- ansible_pkg_mgr in ['apt', 'zypper']
|
||||
notify: Restart apache2
|
||||
|
||||
- name: Drop apache2 configs
|
||||
@ -54,6 +49,37 @@
|
||||
with_items: "{{ horizon_apache_default_sites }}"
|
||||
notify: Restart apache2
|
||||
|
||||
# NOTE(hwoarang) Default openSUSE apache configuration ships
|
||||
# with a <Directory /> configuration in /etc/apache2/httpd.conf
|
||||
# so we need to get rid of it to allow all the symlinks in the
|
||||
# root filesystem that horizon requires
|
||||
# TODO: Can this be improved somehow?
|
||||
- block:
|
||||
- name: Tag beginning of main apache2 directory configuration (SUSE)
|
||||
lineinfile:
|
||||
dest: "{{ horizon_apache_conf }}"
|
||||
insertbefore: '^<Directory />'
|
||||
line: "# BEGIN ANSIBLE MANAGED BLOCK"
|
||||
state: present
|
||||
notify: Restart apache2
|
||||
|
||||
- name: Tag end of main apache2 directory configuration (SUSE)
|
||||
lineinfile:
|
||||
dest: "{{ horizon_apache_conf }}"
|
||||
insertafter: '^</Directory>'
|
||||
line: "# END ANSIBLE MANAGED BLOCK"
|
||||
state: present
|
||||
notify: Restart apache2
|
||||
|
||||
- name: Remove default apache2 configuration for root directory (SUSE)
|
||||
blockinfile:
|
||||
dest: "{{ horizon_apache_conf }}"
|
||||
marker: "# {mark} ANSIBLE MANAGED BLOCK"
|
||||
content: ""
|
||||
notify: Restart apache2
|
||||
|
||||
when: ansible_pkg_mgr == 'zypper'
|
||||
|
||||
- name: Enable Horizon Site
|
||||
file:
|
||||
src: "{{ horizon_apache_site_available }}"
|
||||
|
@ -46,3 +46,16 @@ horizon_apache_configs:
|
||||
horizon_apache_default_sites:
|
||||
- "/etc/apache2/sites-enabled/000-default.conf"
|
||||
|
||||
horizon_apache_modules:
|
||||
- name: "wsgi"
|
||||
state: "present"
|
||||
- name: "ssl"
|
||||
state: "present"
|
||||
- name: "mpm_event"
|
||||
state: "absent"
|
||||
- name: "mpm_worker"
|
||||
state: "present"
|
||||
- name: "rewrite"
|
||||
state: "present"
|
||||
- name: "headers"
|
||||
state: "present"
|
||||
|
59
vars/suse-42.yml
Normal file
59
vars/suse-42.yml
Normal file
@ -0,0 +1,59 @@
|
||||
---
|
||||
# Copyright 2014, Rackspace US, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
horizon_system_service_name: apache2
|
||||
|
||||
horizon_distro_packages:
|
||||
- cronie
|
||||
- cronie-anacron
|
||||
- gettext
|
||||
- git-core
|
||||
- apache2
|
||||
- apache2-utils
|
||||
- libxslt-devel
|
||||
- apache2-mod_wsgi
|
||||
- python-MySQL-python
|
||||
- openssl
|
||||
- libopenssl-devel
|
||||
- which
|
||||
|
||||
horizon_apache_conf: "/etc/apache2/httpd.conf"
|
||||
horizon_apache_default_log_folder: "/var/log/apache2"
|
||||
horizon_apache_default_log_owner: "root"
|
||||
horizon_apache_default_log_grp: "root"
|
||||
horizon_apache_security_conf: "{{ horizon_apache_conf }}"
|
||||
|
||||
horizon_apache_configs:
|
||||
- { src: "horizon_apache_ports.conf.j2", dest: "/etc/apache2/conf.d/ports.conf", owner: "root", group: "root" }
|
||||
- { src: "openstack_dashboard.conf.j2", dest: "/etc/apache2/conf.d/openstack-dashboard.conf", owner: "root", group: "root" }
|
||||
|
||||
horizon_apache_default_sites:
|
||||
- "/etc/apache2/conf.d/gitweb.conf"
|
||||
|
||||
horizon_apache_modules:
|
||||
- name: "authz_host"
|
||||
state: "present"
|
||||
- name: "access_compat"
|
||||
state: "present"
|
||||
- name: "version"
|
||||
state: "present"
|
||||
- name: "ssl"
|
||||
state: "present"
|
||||
- name: "wsgi"
|
||||
state: "present"
|
||||
- name: "rewrite"
|
||||
state: "present"
|
||||
- name: "headers"
|
||||
state: "present"
|
Loading…
Reference in New Issue
Block a user