This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Upgrade Cisco 9300 Catalyst switches in Install Mode

I am wondering if there is a method for upgrading IOS on Cisco devices that use install mode instead of bundle mode by using NCM/Orion.  

There are several templates for upgrading Cisco devices, but all of them seem to be for upgrading devices in Bundle mode by replacing the bootfile  

I would like to do something like

request platform software package install switch all file flash:iosname.bin 

I have managed to get this somewhat automated through scripts, but would like to see if there is a fully automated through the firmware upgrade templates.

  • Any update on this? Would be a lot easier if the Firmware Upgrade template was created for Catalyst switches that are install mode instead of bundle mode.

  • Has anybody been able to figure that out by now? As we are rolling out more and more 9200 and 9300 devices, that would be a great help.

  • I have been working on scripting this out with jobs instead of the firmware upgrade templates. So far I've got the steps to be completed listed below:

    Job 1 - Flash cleanup & Software Clean

    1. delete /force /recursive flash:*.bin (I ran a seperate job listing the dir and show boot, I did not delete the boot file of the switch; but if you want you can do this command to delete all bin files)

    2. request platform software package clean switch all file flash:

    2a. Y (enter) or ${CLRF}

    Job 2 - File IOS upload and Install

    1. copy txxx.xxx.xxx.xxx/ios-file.bin flash:

    2. request platform software package install switch all file flash:ios-file.bin auto-copy

    3. dir (Looking to check that the bin file was successfully unpackaged and looking for the packages.conf)

    Job 3 - Boot statement & reload

    1. delete /force /recursive flash:ios-file.bin

    2. conf t

    3. boot system switch all flash:packages.conf

    4. wr mem or copy run start 

    5. ${REBOOT}

    Job 4

    1. sho boot

    2. sho ver

    Now as far as the job, you should really break them out because if you run it all there is no way to verify that the commands will be successful or fail until the job is over. It would be nice to script out a bunch of if/else statements to proceed but I'm not very versed in scripting yet. Hope this helps! I have only tested on a local 9300 and 9200 but we have a few hundred switches at remote sites so if it fails or boots the switch in rommon it's a pain getting to the site locally. The Firmware Upgrade template would have a bit more step verification that the jobs don't provide.

  • I am pretty much stuck between step 2 and 3.

    I manage to get the software on to the switches with the firmware upgrade section of NCM, I can run

    install add file flash:ios-image.bin

    In the next step I want to run

    install activate commit

    and let the switch/stack reload in that process. The activate commit part does not work for me as of yet using a script, as there is no immediate reply to the console, while the script says it finished.

  • I think you can modify a firmware template to achieve this. Haven't tried this on a C9300 but here are my thoughts.

    I copied a firmware upgrade template and modified it to work for the cgr-2010 switch module (GRWIC-D-ES-2S-8PC)

    The upgrade section which normally copies the bin file over can be repurposed like so:
    archive download-sw ${TransferProtocol}://${StorageAddress}/${SubFolder}/${NewImageName}${CRLF}
    Not this could be the request platform software package install command.

    Now the file is transferred and unpacked at once. In this case the file was a tar including the bin and other important files like fpga upgrade.

    The verify uploaded firmware image integrity can be adapted to look at the specific file like so:
    verify /md5 flash:/grwicdes-lanbasek9-mz.152-4.EA9a/grwicdes-lanbasek9-mz.152-4.EA9a.bin 29cb2b5bb8685ead5f6c78c808317c0d${SuccessRegEx:Verified}
    Note that the md5 hash of the extracted bin file was provided here since otherwise solarwinds would by default compare it to the hash of the compressed file instead which was already expanded. This can be easily determined after upgrading a single device. Yes it would be better if the firmware upgrade template was designed for the c9300 or this module and thus could understand how to do this without adaptation and I hope they do make more templates to improve the experience.

    The delete recursive is a bit tricky. I posted here thwack.solarwinds.com/.../ncm-firmware-delete-directory-not-just-bin-file-existingimagepath about this issue. I only offered what I went with currently given no better option yet. Let solarwinds auto detect the largest file which takes up the most space and delete that. It leaves behind other files and folder structure that needs to be cleaned up but so long as you are always upgrading all your devices from one version to another it will be a simple matter to put together a a single job for all of device machine type x, running the target version and include all the cleanup related command once ready. It wont be time sensitive as Solarwinds will theoretically clear enough space for the new software already so it can wait till after all your devices are upgraded.

    Hope this helps you, I know we have found this to not be perfect but still quite efficient.

  • Same challenge here. We have a very large number of 9200/9300/9500 switches all in install mode. I have the firmware updater working with Bundle mode but I am facing this same challenge with Install mode. Running multiple jobs with no verification that an update succeeded or failed is not going to be an option, we need a solution that works as the Firmware Updater is advertised.

  • Why are you having trouble with post update verification?

    Probably we need to submit a feature request but first we should narrow down the details.

    (+) Add Idea - Feature Requests - Network Configuration Manager (NCM) - THWACK (solarwinds.com)

  • I see that SK_Dave already has though again I would recommend more details to be added to it maybe. 
    (1) NCM: Firmwareupgrade template for Cisco Catalyst 9000 series - Feature Requests - Network Configuration Manager (NCM) - THWACK (solarwinds.com)

    Not sure why you wouldn't be able to do post verification already by modifying an existing template.

  • Depending on the software version you are on you can run 'install activate prompt-level none'

    I believe this will get you past any issues where you have to say yes to confirm the reload etc.