adds check for AddConditionError when adding conditional statements (#5123)

The Conditional instance will now raise the AddConditionError and this
change instructs eos_command to catch the error and return a nicely formed
error message
reviewable/pr18780/r1
Peter Sprygada 8 years ago committed by GitHub
parent 4b3c892284
commit 886757b4dd

@ -149,7 +149,7 @@ import ansible.module_utils.eos
from ansible.module_utils.basic import get_exception from ansible.module_utils.basic import get_exception
from ansible.module_utils.network import NetworkModule, NetworkError from ansible.module_utils.network import NetworkModule, NetworkError
from ansible.module_utils.netcli import CommandRunner from ansible.module_utils.netcli import CommandRunner
from ansible.module_utils.netcli import AddCommandError from ansible.module_utils.netcli import AddCommandError, AddConditionError
from ansible.module_utils.netcli import FailedConditionsError from ansible.module_utils.netcli import FailedConditionsError
from ansible.module_utils.netcli import FailedConditionalError from ansible.module_utils.netcli import FailedConditionalError
from ansible.module_utils.six import string_types from ansible.module_utils.six import string_types
@ -212,8 +212,13 @@ def main():
exc = get_exception() exc = get_exception()
warnings.append('duplicate command detected: %s' % cmd) warnings.append('duplicate command detected: %s' % cmd)
for item in conditionals: try:
runner.add_conditional(item) for item in conditionals:
runner.add_conditional(item)
except AddConditionError:
exc = get_exception()
module.fail_json(msg=str(exc), condition=exc.condition)
runner.retries = module.params['retries'] runner.retries = module.params['retries']
runner.interval = module.params['interval'] runner.interval = module.params['interval']

Loading…
Cancel
Save