Merge "Validate that there should not be XFS volumes with ftype=0"

This commit is contained in:
Zuul 2018-04-25 18:03:54 +00:00 committed by Gerrit Code Review
commit 201d515812
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,13 @@
---
upgrade:
- |
Validate that there are no volumes formatted with XFS
and ftype=0.
Deployments from OpenStack Kilo or Liberty have XFS
partitions formatted with ftype=0, which is incompatible
with the docker overlayfs driver.
From OpenStack Newton, we have support for XFS ftype=1
by default.
This check will make fail the pre-upgrade validations
if there are deployments coming back from Kilo or Liberty
and have XFS partitions with ftype=0.

View File

@ -0,0 +1,34 @@
---
- hosts: undercloud, overcloud
vars:
metadata:
name: XFS ftype check
description: >
Check if there is at least 1 XFS volume
with ftype=0 in any deployed node.
groups:
- pre-upgrade
tasks:
- name: Check if there are XFS volumes with ftype=0
become: true
shell: |
for dev in $(df -h | grep '/dev/' | grep -v 'tmp' | cut -d' ' -f1)
do
parseftype=$(xfs_info $dev | grep ftype=0);
if [[ ! -z "$parseftype" ]]; then
ftype="ftype=0";
break;
fi
done
echo $ftype;
register: ftype
changed_when: false
- name: Check ftype
fail:
msg: >
XFS volumes formatted using ftype=0 are incompatible
with the docker overlayfs driver.
Run xfs_info in {{ ansible_fqdn }} and fix those volumes
before proceeding with the upgrade.
when:
- ftype.stdout == 'ftype=0'