Validate that there should not be XFS volumes with ftype=0
If we have XFS partitions formatted with ftype=0, the upgrades will fail because ftype=0 is incompatible with the docker overlayfs driver. Related-Bug: 1765121 Change-Id: I895fc83d148523c283664080b7b1bf75d53d9edb
This commit is contained in:
parent
70ba8b5cb6
commit
a5e63ee725
|
@ -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.
|
|
@ -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'
|
Loading…
Reference in New Issue