openstack-ansible-os_horizon/tasks/horizon_post_install.yml
Nolan Brubaker dfda6bc078 Compress static files after customizations
The previous behavior compressed files, then customized the horizon
install. By doing this, static files in the customization modules were
left out of the static collection/compression process. This change in
ordering will now catch those files.

Additionally, a notification is sent to the apache restart handler.

Change-Id: I5c6678c2ef93b46f38cf94f19c9b2cf444411ea8
Closes-Bug: #1598146
2016-07-06 12:01:27 -04:00

128 lines
4.1 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.
# Because there is no specific "horizon" command this method
# is looking for the "keystone" command to set the horizon
# command path.
- name: Get horizon command path
command: which keystone
register: horizon_command_path
when:
- not horizon_venv_enabled | bool
tags:
- horizon-command-bin
- name: Set horizon command path
set_fact:
horizon_bin: "{{ horizon_command_path.stdout | dirname }}"
when:
- not horizon_venv_enabled | bool
tags:
- horizon-command-bin
- name: Setup Horizon config(s)
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ horizon_system_user_name }}"
group: "{{ horizon_system_group_name }}"
mode: "{{ item.mode }}"
with_items:
- { src: "horizon_local_settings.py.j2", dest: "/etc/horizon/local_settings.py", mode: "0644" }
- { src: "horizon-manage.py.j2", dest: "{{ horizon_bin }}/horizon-manage.py", mode: "0755" }
- { src: "80_admin_default_panel.py.j2", dest: "{{ horizon_lib_dir }}/openstack_dashboard/local/enabled/_80_admin_default_panel.py", mode: "0755" }
notify: Restart apache2
tags:
- horizon-configs
- horizon-branding
- name: Uploading horizon custom files
copy:
src: "{{ item.value.src }}"
dest: "{{ horizon_lib_dir }}/openstack_dashboard/static/dashboard/{{ item.value.dest }}"
with_dict: "{{ horizon_custom_uploads | default({}) }}"
tags:
- horizon-branding
- name: Enable the neutron-lbaas-dashboard Horizon panel
file:
src: "{{ horizon_venv_lib_dir }}/neutron_lbaas_dashboard/enabled/_1481_project_ng_loadbalancersv2_panel.py"
path: "{{ horizon_venv_lib_dir }}/openstack_dashboard/local/enabled/_1481_project_ng_loadbalancersv2_panel.py"
state: "{{ (horizon_enable_neutron_lbaas | bool) | ternary('link', 'absent') }}"
notify: Restart apache2
tags:
- horizon-configs
- name: Create horizon links
file:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ horizon_system_user_name }}"
group: "{{ horizon_system_group_name }}"
state: "link"
with_items:
- { src: "/etc/horizon/local_settings.py", dest: "{{ horizon_lib_dir }}/openstack_dashboard/local/local_settings.py" }
tags:
- horizon-configs
- name: Setup Horizon config(s)
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ horizon_system_user_name }}"
group: "{{ horizon_system_group_name }}"
with_items:
- { src: "horizon_django.wsgi.j2", dest: "{{ horizon_lib_wsgi_file }}" }
notify: Restart apache2
tags:
- horizon-configs
- horizon-wsgi-venv
- name: Create customization module directory
file:
path: "{{ horizon_lib_dir }}/horizon_customization"
state: directory
owner: "{{ horizon_system_user_name }}"
group: "{{ horizon_system_group_name }}"
mode: "0755"
when: horizon_customization_module is defined
tags:
- horizon-configs
- name: Drop horizon customization module
template:
src: "{{ horizon_customization_module }}"
dest: "{{ horizon_lib_dir }}/horizon_customization/__init__.py"
owner: "{{ horizon_system_user_name }}"
group: "{{ horizon_system_group_name }}"
mode: "0644"
notify: Restart apache2
when: horizon_customization_module is defined
tags:
- horizon-configs
- name: Collect and compress static files
command: "{{ item }}"
become: yes
become_user: "{{ horizon_system_user_name }}"
with_items:
- "{{ horizon_bin }}/horizon-manage.py collectstatic --noinput"
- "{{ horizon_bin }}/horizon-manage.py compress --force"
notify: Restart apache2
tags:
- horizon-configs
- horizon-static-collect
- horizon-command-bin