92b1b97885
At the moment services might have different MPM selected while all operating the same Apache setup, ie on metal setup. This results in failures to set selected MPMs, so eventually second run of roles after initial deployment will end up in failure (ie upgrade). This patch ensures that all except selected MPMs are disabled and do role get's the desired state of deployment. We also need to align selected MPM across all roles to avoid future conflicts. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/930272 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/929690 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-rabbitmq_server/+/930446 Change-Id: I480222993a63af41cfba65464f5b5c8585b2d4fd
106 lines
3.2 KiB
YAML
106 lines
3.2 KiB
YAML
---
|
|
# 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.
|
|
|
|
- name: Ensure apache2 MPM for Debian/Ubuntu
|
|
apache2_module:
|
|
name: "{{ item.name }}"
|
|
state: "{{ item.state }}"
|
|
ignore_configcheck: yes
|
|
warn_mpm_absent: false
|
|
with_items: "{{ horizon_apache_mpms | sort(attribute='state') }}"
|
|
when:
|
|
- ansible_facts['pkg_mgr'] == 'apt'
|
|
notify: Restart wsgi process
|
|
|
|
- name: Ensure apache2 MPM for EL
|
|
copy:
|
|
content: |
|
|
LoadModule mpm_{{ horizon_apache_mpm_backend }}_module modules/mod_mpm_{{ horizon_apache_mpm_backend }}.so
|
|
|
|
dest: /etc/httpd/conf.modules.d/00-mpm.conf
|
|
mode: "0644"
|
|
when:
|
|
- ansible_facts['pkg_mgr'] == 'dnf'
|
|
notify: Restart wsgi process
|
|
|
|
# NOTE(hwoarang): Module enable/disable process is only functional on Debian
|
|
- name: Enable apache2 modules
|
|
apache2_module:
|
|
name: "{{ item.name }}"
|
|
state: "{{ item.state }}"
|
|
ignore_configcheck: yes
|
|
with_items:
|
|
- "{{ horizon_apache_modules }}"
|
|
when:
|
|
- ansible_facts['pkg_mgr'] == 'apt'
|
|
notify: Restart wsgi process
|
|
|
|
- name: Drop apache2 configs
|
|
template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: "{{ item.owner | default(horizon_system_user_name) }}"
|
|
group: "{{ item.group | default(horizon_system_group_name) }}"
|
|
mode: "0644"
|
|
with_items: "{{ horizon_apache_configs }}"
|
|
notify: Restart wsgi process
|
|
|
|
- name: Disable default apache site
|
|
file:
|
|
path: "{{ item }}"
|
|
state: "absent"
|
|
with_items: "{{ horizon_apache_default_sites }}"
|
|
notify: Restart wsgi process
|
|
|
|
- name: Enable Horizon Site
|
|
file:
|
|
src: "{{ horizon_apache_site_available }}"
|
|
dest: "{{ horizon_apache_site_enabled }}"
|
|
state: "link"
|
|
when:
|
|
- horizon_apache_site_available is defined
|
|
- horizon_apache_site_enabled is defined
|
|
notify: Restart wsgi process
|
|
|
|
- name: Ensure Apache ServerName
|
|
lineinfile:
|
|
dest: "{{ horizon_apache_conf }}"
|
|
line: "ServerName {{ horizon_server_name }}"
|
|
notify: Restart wsgi process
|
|
|
|
- name: Ensure Apache ServerTokens
|
|
lineinfile:
|
|
dest: "{{ horizon_apache_security_conf }}"
|
|
regexp: '^ServerTokens'
|
|
line: "ServerTokens {{ horizon_apache_servertokens }}"
|
|
notify: Restart wsgi process
|
|
|
|
- name: Ensure Apache ServerSignature
|
|
lineinfile:
|
|
dest: "{{ horizon_apache_security_conf }}"
|
|
regexp: '^ServerSignature'
|
|
line: "ServerSignature {{ horizon_apache_serversignature }}"
|
|
notify: Restart wsgi process
|
|
|
|
# Removing the Listen (or listen.conf inclusion) from apache config to prevent
|
|
# conflicts with ports.conf on CentOS and openSUSE
|
|
- name: Remove Listen from Apache config
|
|
lineinfile:
|
|
dest: "{{ horizon_apache_security_conf }}"
|
|
regexp: '^(Listen.*)'
|
|
backrefs: yes
|
|
line: '#\1'
|
|
notify: Restart wsgi process
|