mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-24 11:21:25 -07:00
Ensure proper conversion while backing up of junos config (#28958)
* Ensure proper conversion while backing up of junos config * Minor changes * Fix review comment * Open config backup file in binary mode
This commit is contained in:
parent
f23f2468ec
commit
cc9ed352dd
3 changed files with 6 additions and 5 deletions
|
@ -121,7 +121,7 @@ def load_configuration(module, candidate=None, action='merge', rollback=None, fo
|
||||||
if format == 'xml':
|
if format == 'xml':
|
||||||
cfg.append(fromstring(candidate))
|
cfg.append(fromstring(candidate))
|
||||||
else:
|
else:
|
||||||
cfg.text = to_text(candidate, encoding='latin1')
|
cfg.text = to_text(candidate, encoding='latin-1')
|
||||||
else:
|
else:
|
||||||
cfg.append(candidate)
|
cfg.append(candidate)
|
||||||
return send_request(module, obj)
|
return send_request(module, obj)
|
||||||
|
@ -187,7 +187,7 @@ def get_diff(module):
|
||||||
|
|
||||||
output = reply.find('.//configuration-output')
|
output = reply.find('.//configuration-output')
|
||||||
if output is not None:
|
if output is not None:
|
||||||
return to_text(output.text, encoding='latin1').strip()
|
return to_text(output.text, encoding='latin-1').strip()
|
||||||
|
|
||||||
|
|
||||||
def load_config(module, candidate, warnings, action='merge', format='xml'):
|
def load_config(module, candidate, warnings, action='merge', format='xml'):
|
||||||
|
|
|
@ -256,7 +256,7 @@ def filter_delete_statements(module, candidate):
|
||||||
if match is None:
|
if match is None:
|
||||||
# Could not find configuration-set in reply, perhaps device does not support it?
|
# Could not find configuration-set in reply, perhaps device does not support it?
|
||||||
return candidate
|
return candidate
|
||||||
config = to_native(match.text, encoding='latin1')
|
config = to_native(match.text, encoding='latin-1')
|
||||||
|
|
||||||
modified_candidate = candidate[:]
|
modified_candidate = candidate[:]
|
||||||
for index, line in reversed(list(enumerate(candidate))):
|
for index, line in reversed(list(enumerate(candidate))):
|
||||||
|
|
|
@ -27,7 +27,7 @@ import glob
|
||||||
from ansible.plugins.action.junos import ActionModule as _ActionModule
|
from ansible.plugins.action.junos import ActionModule as _ActionModule
|
||||||
from ansible.module_utils._text import to_text
|
from ansible.module_utils._text import to_text
|
||||||
from ansible.module_utils.six.moves.urllib.parse import urlsplit
|
from ansible.module_utils.six.moves.urllib.parse import urlsplit
|
||||||
from ansible.module_utils._text import to_native
|
from ansible.module_utils._text import to_bytes
|
||||||
from ansible.utils.vars import merge_hash
|
from ansible.utils.vars import merge_hash
|
||||||
|
|
||||||
PRIVATE_KEYS_RE = re.compile('__.+__')
|
PRIVATE_KEYS_RE = re.compile('__.+__')
|
||||||
|
@ -75,7 +75,8 @@ class ActionModule(_ActionModule):
|
||||||
os.remove(fn)
|
os.remove(fn)
|
||||||
tstamp = time.strftime("%Y-%m-%d@%H:%M:%S", time.localtime(time.time()))
|
tstamp = time.strftime("%Y-%m-%d@%H:%M:%S", time.localtime(time.time()))
|
||||||
filename = '%s/%s_config.%s' % (backup_path, host, tstamp)
|
filename = '%s/%s_config.%s' % (backup_path, host, tstamp)
|
||||||
open(filename, 'w').write(to_native(contents, encoding='latin1'))
|
with open(filename, 'wb') as f:
|
||||||
|
f.write(to_bytes(to_text(contents, encoding='latin-1'), encoding='utf-8'))
|
||||||
return filename
|
return filename
|
||||||
|
|
||||||
def _handle_template(self):
|
def _handle_template(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue