openstack-ansible-os_horizon/tasks/horizon_post_install.yml
Dmitriy Rabotjagov 60ae573179 Moved compilemessages to handlers
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
2019-03-19 15:59:04 +02:00

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