mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-25 20:01:25 -07:00
Fix eos integration test failure (#33407)
Fixes #33406 Fixes #33405 * Fix typo in network_cli for sendonly * Send `abort` to remote device in case configuration fails * Fix indentation issue in eos_static_route integration test * Revert network_cli change
This commit is contained in:
parent
d7ca068c3f
commit
35acae7ea7
4 changed files with 7 additions and 7 deletions
|
@ -195,6 +195,7 @@ class Cli:
|
||||||
|
|
||||||
rc, out, err = self.send_config(commands)
|
rc, out, err = self.send_config(commands)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
|
self.exec_command('abort')
|
||||||
self._module.fail_json(msg=to_text(err, errors='surrogate_then_replace'))
|
self._module.fail_json(msg=to_text(err, errors='surrogate_then_replace'))
|
||||||
|
|
||||||
self.exec_command('end')
|
self.exec_command('end')
|
||||||
|
|
|
@ -108,7 +108,7 @@ class ActionModule(_ActionModule):
|
||||||
out = conn.get_prompt()
|
out = conn.get_prompt()
|
||||||
while '(config' in to_text(out, errors='surrogate_then_replace').strip():
|
while '(config' in to_text(out, errors='surrogate_then_replace').strip():
|
||||||
display.vvvv('wrong context, sending exit to device', self._play_context.remote_addr)
|
display.vvvv('wrong context, sending exit to device', self._play_context.remote_addr)
|
||||||
conn.send_command('exit')
|
conn.send_command('abort')
|
||||||
out = conn.get_prompt()
|
out = conn.get_prompt()
|
||||||
|
|
||||||
result = super(ActionModule, self).run(tmp, task_vars)
|
result = super(ActionModule, self).run(tmp, task_vars)
|
||||||
|
|
|
@ -114,7 +114,7 @@ class Connection(ConnectionBase):
|
||||||
try:
|
try:
|
||||||
cmd = json.loads(to_text(cmd, errors='surrogate_or_strict'))
|
cmd = json.loads(to_text(cmd, errors='surrogate_or_strict'))
|
||||||
kwargs = {'command': to_bytes(cmd['command'], errors='surrogate_or_strict')}
|
kwargs = {'command': to_bytes(cmd['command'], errors='surrogate_or_strict')}
|
||||||
for key in ('prompt', 'answer', 'send_only'):
|
for key in ('prompt', 'answer', 'sendonly'):
|
||||||
if cmd.get(key) is not None:
|
if cmd.get(key) is not None:
|
||||||
kwargs[key] = to_bytes(cmd[key], errors='surrogate_or_strict')
|
kwargs[key] = to_bytes(cmd[key], errors='surrogate_or_strict')
|
||||||
return self.send(**kwargs)
|
return self.send(**kwargs)
|
||||||
|
@ -270,7 +270,6 @@ class Connection(ConnectionBase):
|
||||||
recv.seek(offset)
|
recv.seek(offset)
|
||||||
|
|
||||||
window = self._strip(recv.read())
|
window = self._strip(recv.read())
|
||||||
|
|
||||||
if prompts and not handled:
|
if prompts and not handled:
|
||||||
handled = self._handle_prompt(window, prompts, answer)
|
handled = self._handle_prompt(window, prompts, answer)
|
||||||
|
|
||||||
|
@ -279,14 +278,14 @@ class Connection(ConnectionBase):
|
||||||
resp = self._strip(self._last_response)
|
resp = self._strip(self._last_response)
|
||||||
return self._sanitize(resp, command)
|
return self._sanitize(resp, command)
|
||||||
|
|
||||||
def send(self, command, prompt=None, answer=None, send_only=False):
|
def send(self, command, prompt=None, answer=None, sendonly=False):
|
||||||
'''
|
'''
|
||||||
Sends the command to the device in the opened shell
|
Sends the command to the device in the opened shell
|
||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
self._history.append(command)
|
self._history.append(command)
|
||||||
self._ssh_shell.sendall(b'%s\r' % command)
|
self._ssh_shell.sendall(b'%s\r' % command)
|
||||||
if send_only:
|
if sendonly:
|
||||||
return
|
return
|
||||||
response = self.receive(command, prompt, answer)
|
response = self.receive(command, prompt, answer)
|
||||||
return to_text(response, errors='surrogate_or_strict')
|
return to_text(response, errors='surrogate_or_strict')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue