archive download-sw
software install
request platform software package install
copy
followed by set boot ...
config/config.yaml
and config/images.yaml
and match them to your requirements. Defaults are sane enough for most environments, but don't take any chances :)images.yaml
to the src_image_path
defined in config.yaml
.images.yaml
and add the same model to their respective models
lists. Then, change match_feature_set
to true
in config.yaml
.example/batch_example.py
iosfw
no longer works. I recommend setting up an FTP server on a separate host and setting config.yaml
accordingly.request platform software package install
. Upgrading them requires a different manual process that is not yet implemented:del /force flash:/cat*.pkg
del /force flash:/packages.conf
no boot system
in config modecopy <source> flash:
request platform software package expand switch all file flash:/<file>
boot system flash:/<file>
reload at 00:00
iosfw
does not check to ensure transfer_source
is reachable. If not reachable, the install command will fail, but not timeout for more than 30 minutes. Most commonly, transfer_source
may not be reachable due to sending the requests out the incorrect interface. You can specify the source interface for TFTP and FTP transfers with ip (ftp|tftp) source-interface <iface>
in config mode.iosfw
throws a ProcessLookupError
on exit. I have not found a way to catch or suppress this.napalm
connection objecttransfer_source
, attempting fix as needed__init__()
into separate methods, with more verbose feedbackarchive download-sw
and request platform software package install
) download the upgrade package twice, for reasons I did not determine.iosfw
class exposes all of NAPALM's config parameters, and stores the NAPALM session under self.napalm
, so you can use all of NAPALM's features easily.self.device
- so you can send arbitrary commands with iosfw.device.send_command('my arbitrary command')