Bug 1536214
| Summary: | VDO Ansible module in the 6.1.0.114 package fails on modification operations | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Bryan Gurney <bgurney> |
| Component: | vdo | Assignee: | Bryan Gurney <bgurney> |
| Status: | CLOSED ERRATA | QA Contact: | Jakub Krysl <jkrysl> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.5 | CC: | awalsh, jkrysl, limershe, rhandlin |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | 6.1.0.142 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-04-10 15:50:08 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: | |||
|
Description
Bryan Gurney
2018-01-18 22:15:52 UTC
Comment previously in BZ 1536522: While working to resole bug 1536214 to get the VDO Ansible module working again, I found that an attempt to change the write policy fails due to the error "unrecognized arguments: --writePolicy=async". This was previously successful, but is no longer a valid option (this is detailed in bug 1536166). Comment previously in BZ 1536635: After having fixed the problems that were preventing the VDO Ansible module from interacting with VDO (bug 1536214 and bug 1536522), I found that the module was running in a way that would always return a "changed" value of "True" if the state of deduplication or compression were changed, regardless of whether the operation actually did run. This is incorrect; if the playbook tries to change something, and fails in a way that results in no change, it should show a "changed" return status for that task. Comment previously in BZ 1536564: While working to fix bug 1536214, I found that there are some cases where the VDO Ansible module may pass zero options to the "vdo modify" command. This previously resulted in a return code 0 with no output, and no action taken, but with VDO 6.1.0.114, now seems to "fail" with a return code 2 and help screen. Example of how this was found: use /usr/share/doc/vdo/examples/ansible/test_vdocreate.yml as a base for a creation playbook, /usr/share/doc/vdo/examples/ansible/test_vdoremove.yml as a base for a removal playbook, and a version of /usr/share/doc/vdo/examples/ansible/test_vdocreate.yml with the additional line "writepolicy: async" to act as a playbook to modify the write policy to async. The failure mode seen: The Ansible play fails with error text resembling the following error message from the VDO command: usage: vdo modify [-h] (-a | -n <volume>) [--blockMapCacheSize <megabytes>] [--blockMapPeriod <period>] [--readCache {disabled,enabled}] [--readCacheSize <megabytes>] [--vdoAckThreads <threadCount>] [--vdoBioRotationInterval <ioCount>] [--vdoBioThreads <threadCount>] [--vdoCpuThreads <threadCount>] [--vdoHashZoneThreads <threadCount>] [--vdoLogicalThreads <threadCount>] [--vdoPhysicalThreads <threadCount>] [-f <file>] [--logfile <pathname>] [--verbose] vdo modify: error: options must be specified from: --blockMapCacheSize, --blockMapPeriod, --readCache, --readCacheSize, --vdoAckThreads, --vdoBioRotationInterval, --vdoBioThreads, --vdoCpuThreads, --vdoHashZoneThreads, --vdoLogicalThreads, --vdoPhysicalThreads with vdo.py ansible module from vdo-6.1.0.146-16 on server with the same version: # ansible-playbook BZ1536214.yaml PLAY [vdoClients] ************************************************************************************************************************************************************************************************* TASK [Gathering Facts] ******************************************************************************************************************************************************************************************** ok: [storageqe-74.#####] TASK [Create VDO volume vdo1] ************************************************************************************************************************************************************************************* changed: [storageqe-74.#####] TASK [Change write policy of VDO volume vdo1 to async] ************************************************************************************************************************************************************ changed: [storageqe-74.#####] TASK [Remove VDO volume vdo1] ************************************************************************************************************************************************************************************* changed: [storageqe-74.#####] PLAY RECAP ******************************************************************************************************************************************************************************************************** storageqe-74.#####: ok=4 changed=3 unreachable=0 failed=0 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/RHEA-2018:0871 |