openstack-ansible-ops/leap-upgrades/upgrade-utilities/cinder-volume-container-lvm-check.yml
Marc Gariepy ce9d791291 cinder is_metal is undefined
Check if is_metal is defined, also renaming the tasks name to reduce stress.

Change-Id: Ifcd5b4d1a99ca61cbe508d4980d063a6a9adff1a
2017-12-01 10:59:01 -05:00

44 lines
1.5 KiB
YAML

---
# Copyright 2016, 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: Cinder volume config check
hosts: "cinder_volume"
gather_facts: false
user: root
tasks:
- name: Check if cinder is in a container
set_fact:
in_container: true
when: >
(is_metal is defined and is_metal != true) or
container_name != physical_host
- name: Check if cinder backends are LVM
set_fact:
uses_lvm: true
when: >
'lvm' in item.value['volume_driver'] | lower
with_dict: "{{ cinder_backends }}"
- name: Check for cinder volume in a container failure
fail:
msg: >-
In order to continue you must perform a manual migration of the cinder volume container
[ {{ container_name }} ] to the physical host [ {{ physical_host }} ]. The leap
upgrade can NOT continue until this task has been accomplished.
when: >
uses_lvm | default(false) == true and
in_container | default(false) == true