--- # 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. # Workaround for https://github.com/ansible/ansible-modules-core/issues/5328 # TODO: Replace using apache2_module when fixed in Ansible release - name: Enable apache2 modules command: "{{ (item.state == 'present') | ternary('a2enmod','a2dismod') }} {{ item.name }}" register: horizon_apache2_module changed_when: horizon_apache2_module.stdout.find('{{ item.name }} already') == -1 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 } notify: Restart apache2 - 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) }}" with_items: - { src: "horizon_apache_ports.conf.j2", dest: "/etc/apache2/ports.conf", owner: "root", group: "root" } - { src: "openstack_dashboard.conf.j2", dest: "/etc/apache2/sites-available/openstack-dashboard.conf" } notify: Restart apache2 - name: Enable Horizon Site file: src: "/etc/apache2/sites-available/{{ item.name }}" dest: "/etc/apache2/sites-enabled/{{ item.name }}" state: "{{ item.state }}" with_items: - { state: link, name: openstack-dashboard.conf } - { state: absent, name: 000-default.conf } notify: Restart apache2 - name: Ensure Apache ServerName lineinfile: dest: "/etc/apache2/apache2.conf" line: "ServerName {{ horizon_server_name }}" notify: Restart apache2 - name: Ensure Apache ServerTokens lineinfile: dest: "/etc/apache2/conf-available/security.conf" regexp: '^ServerTokens' line: "ServerTokens {{ horizon_apache_servertokens }}" notify: Restart apache2 - name: Ensure Apache ServerSignature lineinfile: dest: "/etc/apache2/conf-available/security.conf" regexp: '^ServerSignature' line: "ServerSignature {{ horizon_apache_serversignature }}" notify: Restart apache2