mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
JunOS: Change os_install to use get_file instead of get_template
In the JunOS modules os_install is designed to install operating system images to the device. The current code uses get_template to upload the OS image file to the device. This does not work because get_template attempts to load the entire file into memory so that it can process any template directives inside the file. The typical JunOS files are so large that they cause a MemoryError exception in Python. I can think of no circumstances where it would be useful to template an OS image file. Any changes you make to it will break the internal checksums and cause upgrades to break. Therefore, I have changed the code to use get_file which does not have the problem with large files. This code has been tested in my lab with JunOS 15.1X53-D55.5 version upgrades on EX2300 switches.
This commit is contained in:
parent
2b533540fd
commit
c187812065
@ -1005,7 +1005,7 @@ def install_os(path=None, **kwargs):
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
image_cached_path = files.mkstemp()
|
image_cached_path = files.mkstemp()
|
||||||
__salt__['cp.get_template'](path, image_cached_path)
|
__salt__['cp.get_file'](path, image_cached_path)
|
||||||
|
|
||||||
if not os.path.isfile(image_cached_path):
|
if not os.path.isfile(image_cached_path):
|
||||||
ret['message'] = 'Invalid image path.'
|
ret['message'] = 'Invalid image path.'
|
||||||
|
Loading…
Reference in New Issue
Block a user