Bug 1604060

Summary: Introducing new parameters to the vdo config file breaks compatability with RHEL7.5
Product: Red Hat Enterprise Linux 7 Reporter: corwin <corwin>
Component: vdoAssignee: Joe Shimkus <jshimkus>
Status: CLOSED ERRATA QA Contact: Jakub Krysl <jkrysl>
Severity: unspecified Docs Contact:
Priority: high    
Version: 7.6CC: awalsh, bgurney, jkrysl, limershe, rhandlin
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 6.1.1.117 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1604122 1619603 (view as bug list) Environment:
Last Closed: 2018-10-30 09:40:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1604122, 1619603    

Description corwin 2018-07-19 20:52:28 UTC
Description of problem:

The vdo script's config file parsing is overly restrictive in that adding any new
fields will cause old versions of the script to reject the entire file. In any scenario which involves making VDO devices on RHEL7.5, upgrading the OS to a later version, and then later moving back to RHEL7.5 can encounter a problem.
These issues can occur in one of two ways:

Modifying the configuring of an existing volume with a newer vdo script, or creating new volumes with the newer script. Although we don't expect the old script to be able to manage newer volumes, this would also prevent managing the older volumes.


Version-Release number of selected component (if applicable):

vdo-6.1.1.111


How reproducible:

Currently, there is no way to induce this problem. Once there is a change to the set of parameters in the vdo config file, this is 100% reproducable.

Steps to Reproduce:
1. Make a VDO volume on RHEL7.5
2. Move the volume and config file to a RHEL7.6 host (or upgrade the existing host).
3. Create a new VDO volume
4. Move the volume and config file back to a RHEL7.5 host (or downgrade the existing host).
5. Attempt to start the old volume.

Actual results:

vdo script fails to read the config file

Expected results:

vdo script correctly starts the old volume

Additional info:

Comment 2 Joe Shimkus 2018-07-26 12:51:18 UTC
Ignores (but preserves) unrecognized entries in the config file.

Comment 6 Jakub Krysl 2018-09-04 13:00:26 UTC
Tested with vdo-6.1.1.120-3.el7:

Adding line to /etc/vdoconf.yml (not breaking formatting, just adding new values) no longer prevents vdo from starting.

Comment 8 errata-xmlrpc 2018-10-30 09:40:03 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3094