Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixes eos connection checks and checks configured connection #32828

Merged
merged 1 commit into from
Nov 13, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
43 changes: 22 additions & 21 deletions lib/ansible/plugins/action/eos.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,14 @@
class ActionModule(_ActionModule):

def run(self, tmp=None, task_vars=None):
provider = load_provider(eos_provider_spec, self._task.args)
transport = provider['transport'] or 'cli'

display.vvvv('connection transport is %s' % transport, self._play_context.remote_addr)
if self._play_context.connection == 'local':
provider = load_provider(eos_provider_spec, self._task.args)
transport = provider['transport'] or 'cli'

if transport == 'cli':
if self._play_context.connection == 'local':
display.vvvv('connection transport is %s' % transport, self._play_context.remote_addr)

if transport == 'cli':
pc = copy.deepcopy(self._play_context)
pc.connection = 'network_cli'
pc.network_os = 'eos'
Expand All @@ -70,29 +71,29 @@ def run(self, tmp=None, task_vars=None):

task_vars['ansible_socket'] = socket_path

else:
provider['transport'] = 'eapi'
else:
provider['transport'] = 'eapi'

if provider.get('host') is None:
provider['host'] = self._play_context.remote_addr
if provider.get('host') is None:
provider['host'] = self._play_context.remote_addr

if provider.get('port') is None:
default_port = 443 if provider['use_ssl'] else 80
provider['port'] = int(self._play_context.port or default_port)
if provider.get('port') is None:
default_port = 443 if provider['use_ssl'] else 80
provider['port'] = int(self._play_context.port or default_port)

if provider.get('timeout') is None:
provider['timeout'] = C.PERSISTENT_COMMAND_TIMEOUT
if provider.get('timeout') is None:
provider['timeout'] = C.PERSISTENT_COMMAND_TIMEOUT

if provider.get('username') is None:
provider['username'] = self._play_context.connection_user
if provider.get('username') is None:
provider['username'] = self._play_context.connection_user

if provider.get('password') is None:
provider['password'] = self._play_context.password
if provider.get('password') is None:
provider['password'] = self._play_context.password

if provider.get('authorize') is None:
provider['authorize'] = False
if provider.get('authorize') is None:
provider['authorize'] = False

self._task.args['provider'] = provider
self._task.args['provider'] = provider

result = super(ActionModule, self).run(tmp, task_vars)
return result