All of the code and examples for this lesson is located in the netprog_basics/application_hosting/iox
directory. Clone and access it with the following commands:
git clone https://github.com/CiscoDevNet/netprog_basics
cd netprog_basics/application_hosting/iox
Be sure to complete the General Workstation Setup instructions before beginning this lesson.
It is recommended that this lesson be completed using Python 3.6. A recent version of Python 2.7 or Python 3.5 should also work.
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. At a minimum you should create 2 venvs, one for Python 2 and one for Python 3.
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
virtualenv venv --python=python3
source venv/bin/activate
# Windows (assumes Python 3 is default)
virtualenv 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
In this lab, you will package and deploy a containerized application to IOx using Docker Tooling. To do so, you'll need Docker version 1.11 or higher installed for your workstation. Docker is supported across Linux, OS X, and Windows operating systems.
Visit www.docker.com/get-docker, download and install the client for your platform.
IOx Client is an application you'll run use to package, deploy and install applications to IOx devices.
Download and install version 1.4 or higher from Cisco Downloads.
Save ioxclient into one of the following locations:
- The
netprog_basics/application_hosting/iox
directory on your workstation - A directory that exists within your
PATH
environment variable.- Example:
/usr/local/bin
on OS X or Linux
- Example:
This lesson leverages the IOx Sandbox.
You will need to reserve an instance of the sandbox, and establish a VPN connection to your individual Sandbox to complete this lab.