60ae573179
As there were 2 compilemessages tasks in different places and one of them was executed on every launch, in order to remove dublicated code and ease it's maintenance, this task was moved to handlers. Change-Id: Ic9c0de9248c8bd3cd796aa2a338cc57afba57446
122 lines
4.4 KiB
YAML
122 lines
4.4 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 horizon dirs are accessible by user
|
|
file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
owner: "{{ horizon_system_user_name }}"
|
|
group: "{{ horizon_system_group_name }}"
|
|
mode: "0755"
|
|
recurse: yes
|
|
with_items:
|
|
- { path: "{{ horizon_lib_dir }}", fixup: True }
|
|
- { path: "/etc/openstack-dashboard", fixup: "{{ (ansible_os_family | lower) == 'redhat' }}" }
|
|
when: item.fixup
|
|
|
|
# TODO(hwoarang): See if we can use local_settings.py from the distribution packages
|
|
# when horizon_install_method == 'distro'
|
|
- name: Setup Horizon config(s)
|
|
template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: "{{ item.owner|default(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", owner: "root", mode: "0640", always_install: True }
|
|
- { src: "horizon-manage.py.j2", dest: "{{ horizon_bin }}/horizon-manage.py", mode: "0755", always_install: "{{ (horizon_install_method == 'source') }}" }
|
|
- { src: "80_admin_default_panel.py.j2", dest: "{{ horizon_lib_dir }}/openstack_dashboard/local/enabled/_80_admin_default_panel.py", mode: "0755", always_install: True }
|
|
when: item.always_install
|
|
notify: Restart apache2
|
|
|
|
- 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({}) }}"
|
|
|
|
- name: Create horizon links
|
|
file:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: "{{ horizon_system_user_name }}"
|
|
group: "{{ horizon_system_group_name }}"
|
|
state: "link"
|
|
force: yes
|
|
with_items:
|
|
- { src: "/etc/horizon/local_settings.py", dest: "{{ horizon_lib_dir }}/openstack_dashboard/local/local_settings.py" }
|
|
|
|
- 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
|
|
|
|
- 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
|
|
|
|
- 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
|
|
|
|
- name: Creating horizon custom theme path
|
|
file:
|
|
path: "{{ horizon_lib_dir }}/openstack_dashboard/{{ item.value.theme_path }}/"
|
|
state: directory
|
|
owner: "{{ horizon_system_user_name }}"
|
|
group: "{{ horizon_system_group_name }}"
|
|
mode: "0755"
|
|
with_dict: "{{ horizon_custom_themes }}"
|
|
|
|
- name: Drop horizon custom themes
|
|
unarchive:
|
|
src: "{{ item.value.theme_src_archive }}"
|
|
dest: "{{ horizon_lib_dir }}/openstack_dashboard/{{ item.value.theme_path }}/"
|
|
owner: "{{ horizon_system_user_name }}"
|
|
group: "{{ horizon_system_group_name }}"
|
|
with_dict: "{{ horizon_custom_themes }}"
|
|
when: item.value.theme_src_archive is defined
|
|
notify: Restart apache2
|
|
|
|
- name: Collect and compress static files
|
|
command: "{{ item }}"
|
|
become: yes
|
|
become_user: "{{ horizon_system_user_name }}"
|
|
changed_when: false
|
|
with_items:
|
|
- "{{ horizon_manage }} collectstatic --noinput"
|
|
- "{{ horizon_manage }} compress --force"
|
|
notify: Restart apache2
|
|
register: async_compress_static_files
|
|
async: 600
|
|
poll: 0
|