openstack-ansible-os_horizon/tasks/horizon_pre_install.yml
Matt Thompson bfabfab93f Standardise installation-related task files
Most IRR roles have identical pre_install and install YAML task files.
This makes it easy to change them across the board.  Horizon, however,
has a number of tasks in the pre_install YAML file where on the other
roles these tasks lie in the install YAML.

This commit moves the following from horizon_pre_install to
horizon_install.yml:

Install requires pip packages
Get local venv checksum
Get remote venv checksum
Attempt venv download
Set horizon get_venv fact
Remove existing venv
Create horizon venv dir
Unarchive pre-built venv
Update virtualenv path
Create horizon venv
Create horizon links for venv
Create static horizon dir

Additionally, we delete the 'Create horizon venv' task as there should
be no reason to install horizon_requires_pip_packages into the venv
itself.  This also requires moving 'Create horizon links for venv' and
'Create static horizon dir' to the end of horizon_install.yml since the
venv does not exist at this point as the 'Install pip packages (venv)'
still needs to run.

With this change in place, it becomes easier to make changes across all
roles as they should now all follow a similar pattern.

Change-Id: Ie22b2ccdfb5e1f58b09c6740d16c9b538521143c
2016-03-21 08:59:25 +00:00

89 lines
2.5 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 the system group
group:
name: "{{ horizon_system_group_name }}"
state: "present"
system: "yes"
tags:
- horizon-group
- name: Create the horizon system user
user:
name: "{{ horizon_system_user_name }}"
group: "{{ horizon_system_group_name }}"
comment: "{{ horizon_system_comment }}"
shell: "{{ horizon_system_shell }}"
system: "yes"
createhome: "yes"
home: "{{ horizon_system_user_home }}"
tags:
- horizon-user
- 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) }}"
with_items:
- { path: "/openstack", mode: "0755", owner: "root", group: "root" }
- { path: "/etc/horizon", mode: "2755" }
- { path: "{{ horizon_system_user_home }}", mode: "2755" }
tags:
- horizon-dirs
- name: Create horizon venv dir
file:
path: "{{ item.path }}"
state: directory
with_items:
- { path: "/openstack/venvs" }
- { path: "{{ horizon_venv_bin }}" }
when:
- horizon_venv_enabled | bool
tags:
- horizon-dirs
- name: Test for log directory or link
shell: |
if [ -h "/var/log/horizon" ]; then
chown -h {{ horizon_system_user_name }}:{{ horizon_system_group_name }} "/var/log/horizon"
chown -R {{ horizon_system_user_name }}:{{ horizon_system_group_name }} "$(readlink /var/log/horizon)"
else
exit 1
fi
register: log_dir
failed_when: false
changed_when: log_dir.rc != 0
tags:
- horizon-dirs
- horizon-logs
- name: Create horizon log 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: "/var/log/horizon" }
when: log_dir.rc != 0
tags:
- horizon-dirs
- horizon-logs