Cause:
The use of ansible_vault and configparser in the ovirt-dr scripts are using modules which are not part of RHV channel.
Consequence:
An exception is thrown when running ovirt-dr with the following message:
"attribute 'ExtendedInterpolation' is not compatible for configparser.
The user should install the missing modules with 'pip install'"
Fix:
Remove the dependency for ansible_vault and configparser and use another alternative
Result:
running ovirt-dr in RHEL 7.4 does not throw an exception for these modules any more.
For ovirt-dr to run successfully the user should have RHV channel configured in his RHEL environment with python-sdk installed
Description of problem:
The use of ansible_vault and configparser in the ovirt-dr scripts are not supported when running in RHEL.
The following execption is thrown:
Using attribute 'ExtendedInterpolation' is not compatible for
configparser.
If it is being used from RHEL 7.4 the following exception
is being thrown:
Traceback (most recent call last):
File "./ovirt-dr", line 145, in <module>
main(sys.argv[1:])
File "./ovirt-dr", line 28, in main
action, conf_file, log_file, log_level = _init_vars(argv)
File "./ovirt-dr", line 88, in _init_vars
log_file, log_level = _get_log_conf(conf_file, log_file, log_level)
File "./ovirt-dr", line 101, in _get_log_conf
settings._interpolation = configparser.ExtendedInterpolation()
AttributeError: 'module' object has no attribute 'ExtendedInterpolation'
Version-Release number of selected component (if applicable):
How reproducible:
Steps to Reproduce:
1. install ovirt-ansible-disaster-recovery on RHEL 7.4
2. run ./ovirt-dr --help or ./ovirt-dr generate
3.
Actual results:
Exception is thrown
Expected results:
script should pass
Additional info:
Comment 1Kevin Alon Goldblatt
2018-06-11 17:38:06 UTC
Verified with the following code:
--------------------------------------
ovirt-engine-4.2.4.1-0.1.el7.noarch
vdsm-4.20.29-1.el7ev.x86_64
ovirt-ansible-disaster-recovery-1.1.0-1.el7ev.noarch
Verified with the following scenario:
-------------------------------------
Steps to Reproduce:
1. install ovirt-ansible-disaster-recovery on RHEL 7.4
2. run ./ovirt-dr --help or ./ovirt-dr generate
./ovirt-dr --help
Log file: '/tmp/ovirt-dr-1528732336919.log'
usage: ovirt-dr <generate/validate/failover/failback>
[--conf-file=dr.conf]
[--log-file=log_file.log]
[--log-level=DEBUG/INFO/WARNING/ERROR]
Here is a description of the following actions:
generate Generate the mapping var file based on primary setup
validate Validate the var file mapping
failover Start a failover process to the target setup
failback Start a failback process to the source setup
Moving to VERIFIED
This bugzilla is included in oVirt 4.2.4 release, published on June 26th 2018.
Since the problem described in this bug report should be
resolved in oVirt 4.2.4 release, it has been closed with a resolution of CURRENT RELEASE.
If the solution does not work for you, please open a new bug report.
Description of problem: The use of ansible_vault and configparser in the ovirt-dr scripts are not supported when running in RHEL. The following execption is thrown: Using attribute 'ExtendedInterpolation' is not compatible for configparser. If it is being used from RHEL 7.4 the following exception is being thrown: Traceback (most recent call last): File "./ovirt-dr", line 145, in <module> main(sys.argv[1:]) File "./ovirt-dr", line 28, in main action, conf_file, log_file, log_level = _init_vars(argv) File "./ovirt-dr", line 88, in _init_vars log_file, log_level = _get_log_conf(conf_file, log_file, log_level) File "./ovirt-dr", line 101, in _get_log_conf settings._interpolation = configparser.ExtendedInterpolation() AttributeError: 'module' object has no attribute 'ExtendedInterpolation' Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. install ovirt-ansible-disaster-recovery on RHEL 7.4 2. run ./ovirt-dr --help or ./ovirt-dr generate 3. Actual results: Exception is thrown Expected results: script should pass Additional info: