openstack-ansible/playbooks/os-octavia-install.yml
Jean-Philippe Evrard ad985158b6 Do not run tasks for containers when on metal
Without this patch, ansible parses the includes for containers,
even when running on metal, and therefore even if there is no
reason to do so.

This is a problem because some of those includes rely on variables
set by our dynamic inventory, and would fail when running OSA
with a static inventory on metal.

This patch solves the problem by ensuring the task will not
run unnecessarily.

Change-Id: I101b121d3d94673597a705979c38ea207043555f
2018-07-06 12:09:31 +00:00

60 lines
2.0 KiB
YAML

---
# Copyright 2017, 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: Install octavia server
hosts: octavia_all
gather_facts: "{{ osa_gather_facts | default(True) }}"
user: root
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- octavia
pre_tasks:
- include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
static: no
when: not is_metal
- include: common-tasks/oslomsg-rpc-vhost-user.yml
static: no
vars:
rpc_user: "{{ octavia_oslomsg_rpc_userid }}"
rpc_password: "{{ octavia_oslomsg_rpc_password }}"
rpc_vhost: "{{ octavia_oslomsg_rpc_vhost }}"
when:
- inventory_hostname == groups['octavia_all'][0]
- groups[octavia_oslomsg_rpc_host_group] | length > 0
- include: common-tasks/os-log-dir-setup.yml
vars:
log_dirs:
- src: "/openstack/log/{{ inventory_hostname }}-octavia"
dest: "/var/log/octavia"
- include: common-tasks/unbound-clients.yml
static: no
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
roles:
- role: "os_octavia"
- role: "system_crontab_coordination"
tags:
- crontab
post_tasks:
- include_tasks: "common-tasks/rsyslog-client.yml"
vars:
rsyslog_client_log_rotate_file: octavia_log_rotate
rsyslog_client_log_dir: "/var/log/octavia"
rsyslog_client_config_name: "100-octavia-rsyslog-client.conf"