Fix exception with load_provider function (#56959)

It is possible for provider.authorize to exist, but set to None. Rather
then loading this value blindly, assume the default is False.

   File "/home/zuul/src/github.com/ansible/ansible/lib/ansible/executor/task_executor.py", line 145, in run
     res = self._execute()
   File "/home/zuul/src/github.com/ansible/ansible/lib/ansible/executor/task_executor.py", line 635, in _execute
     result = self._handler.run(task_vars=variables)
   File "/home/zuul/src/github.com/ansible/ansible/lib/ansible/plugins/action/ios.py", line 50, in run
     provider = load_provider(ios_provider_spec, self._task.args)
   File "/home/zuul/src/github.com/ansible/ansible/lib/ansible/module_utils/network/common/utils.py", line 424, in load_provider
     provider['authorize'] = boolean(provider['authorize'])
   File "/home/zuul/src/github.com/ansible/ansible/lib/ansible/module_utils/parsing/convert_bool.py", line 26, in boolean
     raise TypeError("The value '%s' is not a valid boolean.  Valid booleans include: %s" % (to_text(value), ', '.join(repr(i) for i in BOOLEANS)))

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
pull/57063/head
Paul Belanger 6 years ago committed by GitHub
parent 1a893a48a3
commit 532de89b44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -421,7 +421,7 @@ def load_provider(spec, args):
provider[key] = None
if 'authorize' in provider:
# Coerce authorize to provider if a string has somehow snuck in.
provider['authorize'] = boolean(provider['authorize'])
provider['authorize'] = boolean(provider['authorize'] or False)
args['provider'] = provider
return provider

Loading…
Cancel
Save