bfabfab93f
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
89 lines
2.5 KiB
YAML
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
|