--- # 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: 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" tags: - horizon-configs - horizon-static-collect - 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 }}" 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