dp-workbench
所属分类:前端开发
开发工具:HTML
文件大小:1063KB
下载次数:0
上传日期:2017-06-07 09:23:58
上 传 者:
sh-1993
说明: 设备可编程性工作台框架
(Device Programability Workbench Framework)
文件列表:
DOCKER (0, 2017-06-07)
DOCKER\Dockerfile (2054, 2017-06-07)
DOCKER\START-HERE.ipynb (8755, 2017-06-07)
DOCKER\images (0, 2017-06-07)
DOCKER\images\agents.png (181383, 2017-06-07)
DOCKER\images\devnet-logo.png (7644, 2017-06-07)
DOCKER\images\forwardicon.png (600, 2017-06-07)
DOCKER\images\logo.png (4473, 2017-06-07)
DOCKER\images\postman.png (56029, 2017-06-07)
DOCKER\images\snmp-comparison.png (208127, 2017-06-07)
DOCKER\images\topology.png (256675, 2017-06-07)
DOCKER\images\uri-structure.png (66475, 2017-06-07)
DOCKER\images\url-construction.png (138489, 2017-06-07)
DOCKER\images\whyndpmatters.png (81887, 2017-06-07)
DOCKER\resources (0, 2017-06-07)
DOCKER\resources\custom.css (1630, 2017-06-07)
DOCKER\resources\ned-vlan.html (1166633, 2017-06-07)
DOCKER\resources\notebook.json (438, 2017-06-07)
DOCKER\resources\tree.json (82, 2017-06-07)
DOCKER\resources\tree.patch (1107, 2017-06-07)
DOCKER\sections (0, 2017-06-07)
DOCKER\sections\LXML-NETCONF.ipynb (13865, 2017-06-07)
DOCKER\sections\NETCONF.ipynb (30322, 2017-06-07)
DOCKER\sections\RESTCONF.ipynb (18192, 2017-06-07)
DOCKER\sections\WSMA.ipynb (16487, 2017-06-07)
DOCKER\sync-to-lab.sh (273, 2017-06-07)
LICENSE (1081, 2017-06-07)
Makefile (381, 2017-06-07)
Vagrantfile (1483, 2017-06-07)
install.sh (483, 2017-06-07)
manual-netconf.xml (506, 2017-06-07)
rtr1-confg (3624, 2017-06-07)
rtr2-confg (3575, 2017-06-07)
# README.md
This repository provides a framework for an interactive device programability learning class. It is intended to be used with individual workstations where each workstation hosts the complete environment consisting of
- 1-2 CSR1000V virtual routers running IOS XE 16.3.2 Denali. The platform for the virtual machines is Vagrant using the VirtualBox provider.
- Docker Container running Jupyter to serve the content notebooks with Python 3.5 as the kernel.
![overview](https://github.com/CiscoDevNet/dp-workbench/blob/master/DOCKER/images/topology.png)
# Building the Environment
This is a rough guideline how to bring up / prepare the entire environment. It has a couple of dependencies:
- Git client
- VirtualBox 5.0.28
- Vagrant 1.8.7 (be aware of [this issue](https://github.com/CiscoDevNet/dp-workbench/blob/master/https://github.com/mitchellh/vagrant/issues/7970))
- Docker 1.12.3
- cdrtools (in particular `mkisofs`)
- a build environment (e.g. compiler, make, ...), suggest to use MacPorts or Brew if running on a Mac
- Clone the `iso-xrv-x***-vbox` repository [from GitHub](https://github.com/CiscoDevNet/dp-workbench/blob/master/https://github.com/ios-xr/iosxrv-x***-vbox)
- IOS XE image from Cisco.com (e.g. [here](https://github.com/CiscoDevNet/dp-workbench/blob/master/https://software.cisco.com/download/type.html?mdfid=2843***978&catid=null), then go to *IOS XE Software* and download the Denali-16.3.2 .iso file in the *Latest* tree branch, ~350MB in size)
> *Note:* Version numbers mentioned were the ones that have been used when testing / creating the environment. Upgrading to latest code of the various components might simply work -- ymmv. Recommend to stick with 16.3.2 for the time being, though. Proper RESTCONF support should be included with 16.6.
## Building the Vagrant Box
Go to the directory where you cloned the `iso-xrv-x***-vbox` repository. Start the Vagrant box image build by running the following command
iosxe_iso2vbox.py -v ~/Downloads/csr1000v-universalk9.16.03.02.iso
This will take a while. When done, you need to install the resulting box into Vagrant:
vagrant box add --name iosxe csr1000v-universalk9.16.03.02.box
(See the output at the end of the script. It has the exact location of the generated box file and also the command to add / replace the Vagrant box file).
## Configure and Start Routers
The next steps are required to prepare configuration disks for the routers and then either launch both or only one of them
- Clone this repo from GitHub into a new directory
- Make sure that the Vagrant box name matches the one configured in the Vagrant file
- Ensure you have the required tools installed
- run `make` to create the ISO files with the router configurations
- Bring up the routers using `vagrant up` (brings up both) or `vagrant up rtr1` to only start rtr1
## Build the Container Image
- Change into the DOCKER directory
- Build the container using
docker build . -t dp-workbench
This will take a while. The resulting image should be around 400MB in size.
- Run the container. If you want to make the content read-only then don't provide a volume. Otherwise providing the DOCKER directory as the volume enables to edit the content. Additional build is required to update files in container image if content is changed.
docker run -p8888:8888 -v$(pwd):/home/docker/notebooks -d dp-workbench
The above command runs the container with a mapped volume.
docker run -p8888:8888 --name workbench -d dp-workbench
This command runs without a mapped volume, therefore using the content from *within* the container as read-only content. It also assigns the name `workbench` to it to refer to the container.
## Accessing the Notebooks
Point your browser on your local machine to `http://localhost:8888`. Everything should be working at this point.
## Docker commands
- Run the container without Volume (e.g. readonly files)
`docker run -p8888:8888 -d dp-workbench`
- Run the container with the Volume (need to build the image again
after changing files)
`docker run -p8888:8888 -v$(pwd):/home/docker/notebooks -d dp-workbench`
- Execute a shell into the container
`docker exec -it -u 0 ${CONTAINER_ID} /bin/sh`
- Build the image
`docker build . -t dp-workbench`
- When building in a lab that requires a proxy:
`docker build . -t dp-workbench --build-arg http_proxy=$http_proxy`
近期下载者:
相关文件:
收藏者: