Upgrading the Application and Routers
摘要
In this penultimate chapter, you will assemble the ten Python stand-alone applications developed in the last two chapters. This application, an exploratory Cisco IOS/IOS-XE upgrade application, encompasses pre-checks, IOS uploads, pre-reload checks, pre-reload configuration backups, reloads, and post-upgrade verification checks. Traditional network engineers have manually upgraded IOS on Cisco network devices for years. However, now you can develop and amalgamate various Python tools, enabling your Python code to automate these tasks. You will integrate one application at a time and test the code during the integration process. By the chapter's end, you will have learned how to combine smaller applications to create a sophisticated and highly exploratory application. Python provides programmers with the freedom to write almost any code, limited only by the programmer's imagination. Conversely, configuration and orchestration tools like Terraform, Ansible, Jenkins, and Puppet offer non-programming engineers control over devices using declarative languages, with several limitations that restrict the freedom and flexibility depending on the tool sets available to users. While writing Python code grants you freedom, it's essential to operate within the imaginary framework established by company policies and agreements among business stakeholders. Upon completing this chapter, you'll have achieved a significant milestone in your Python network programming journey. Are you ready to give it one big push?