All of the code and examples for this lesson is located in the netprog_basics/application_hosting/guestshell
directory. Clone and access it with the following commands:
git clone https://github.com/CiscoDevNet/netprog_basics
cd netprog_basics/application_hosting/guestshell
Be sure to complete the General Workstation Setup instructions before beginning this lesson.
It is recommended that this lesson be completed using Python 3.8. Other versions of Python 3 should also work.
Note about Python 2: Python 2 was sunset by Python Software Foundation on January 1, 2020. This means that no more updates to Python 2 are being worked on, including security updates. Python 3 is now the recommended version of Python for everyone to use. Most Python developers of software, packages, and scripts have migrated to Python 3 already, however you may find some older scripts and tools that are no longer maintained that only work with Python 2.
You may see/hear references to Python 2 within the videos in this course from before January 2020, however all examples scripts and demos available in the GitHub repo to run have been updated to leverage Python 3.
It is highly recommended to leverage Python Virtual Environments for completing exercises in this course.
There is no need to create independent venv for each lesson, but you can if you choose.
Follow these steps to create and activate a venv.
Note: If you are leveraging a shared venv across all lessons simply activate it.
# OS X or Linux
python3 -m venv venv
source venv/bin/activate
# Windows
python -m venv venv
venv/Scripts/activate
With the Virtual Environment activated, use pip to install the necessary requirements.
# From the code directory for this lesson
pip install -r requirements.txt
This lesson leverages the IOS XE on CSR Recommended Code Sandbox.
You will need to reserve an instance of the sandbox, and establish a VPN connection to your individual Sandbox to complete this lab.
Note: In the video, an older version of IOS XE was used.
The commands to enable GuestShell have changed slightly, be sure to refer to the sample configuration in the code samples for the latest command syntax.
You can download the slides for this lesson here.
Suggestion: Right click, "Open in new tab"