openstack-ansible-os_horizon/tasks/horizon_install.yml
Dmitriy Rabotjagov 3d60097f94 Re-written dashboards linking.
Old style of dashboards linking was replaced with find module.
horizon_panels variable was removed. Now deployer may install extra
dashboard with pip package, and it will be linked by role
in case of correct structure and naming.
Task for linking found dashboards was moved to horizon_install_source,
as we don't need linking during installation from packages.
Added _dashboard_panels_location - it's a list with subdirs inside
dashboard folders, where panels should be located.

horizon_panel_enable_state variable was also removed, as we
don't try to link dashboards in post_install anymore.

Depends-on: I708b5cf32e5cce6a18624d0b3be0cd4c828ad389
Change-Id: Ia76d959aa03ff67703bd41bd7ea418ea49a91df7
2018-09-04 16:01:01 +03:00

66 lines
2.2 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: Create horizon dir
file:
path: "{{ item.path }}"
state: directory
owner: "{{ item.owner|default(horizon_system_user_name) }}"
group: "{{ item.group|default(horizon_system_group_name) }}"
mode: "{{ item.mode|default('0755') }}"
with_items:
- { path: "/etc/pki/tls/certs", owner: "root", group: "root" }
- { path: "/etc/pki/tls/private", owner: "root", group: "root" }
- { path: "/var/log/httpd", mode: "2755" }
when: ansible_pkg_mgr in ['yum', 'dnf']
- name: Create system links
file:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
state: "link"
with_items:
- { src: "/etc/pki/tls/certs", dest: "/etc/ssl/certs" }
- { src: "/etc/pki/tls/private", dest: "/etc/ssl/private" }
- { src: "/var/log/httpd", dest: "/var/log/apache2" }
when: ansible_pkg_mgr in ['yum', 'dnf']
- name: Record the installation method
ini_file:
dest: "/etc/ansible/facts.d/openstack_ansible.fact"
section: "horizon"
option: "install_method"
value: "{{ horizon_install_method }}"
- name: Refresh local facts to ensure the horizon section is present
setup:
filter: ansible_local
gather_subset: "!all"
- name: Install distro packages
package:
name: "{{ horizon_package_list }}"
state: "{{ horizon_package_state }}"
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
register: install_packages
until: install_packages is success
retries: 5
delay: 2
- name: Install horizon packages from PIP
include_tasks: horizon_install_source.yml
when: horizon_install_method == 'source'