VIRL April Webinar

VIRL April Webinar
Cisco VIRL Team
Apr 28, 2015
AGENDA
- 
April release review (15 min) – Joel Obstfeld
- 
Do you GIT? (15 min) – Tom Bryan
- 
Doing real work with VIRL (10 min) – Daniel Clark
- 
OpenDayLight and VIRL (10 min) – Joel Obstfeld
- 
VIRL@CiscoLive San Diego – Valerie Lu
- 
Q&A
© 2015 Cisco and/or its affiliates. All rights reserved.
2
April release review
Joel Obstfeld
© 2015 Cisco and/or its affiliates. All rights reserved.
3
VIRL April release - highlights
•  New
• 
• 
• 
• 
virtual machine images
IOSv 15.5(2)T
IOSvL2 15.2(411)
NXOSv 7.2.0
ASAv 9.3.2
•  Auto
config support for IOSvL2 and ASAv
© 2015 Cisco and/or its affiliates. All rights reserved.
4
VIRL April release - highlights
•  GraphML
• 
• 
import/export support
Open file format
Huge topology repository at
http://www.topology-zoo.org/dataset.html
•  Integrated
• 
Packet capture
Supports ‘live’ and ‘offline’ capture from within UWM
© 2015 Cisco and/or its affiliates. All rights reserved.
5
VIRL April release - upgrade
•  Existing
• 
In-place upgrade
• 
• 
Quick or Full upgrade options
Request OVA or ISO install images
•  New
• 
• 
VIRL users
VIRL users
Got 0.9.17 OVA/ISO? Install and use In-place upgrade
New OVA/ISO image will be posted for download
© 2015 Cisco and/or its affiliates. All rights reserved.
6
QUICK UPGRADE DEMO
© 2015 Cisco and/or its affiliates. All rights reserved.
7
Do you Git?
Tom Bryan
© 2015 Cisco and/or its affiliates. All rights reserved.
8
What is Git®?
• 
• 
• 
Git is a free and open source
distributed version control system.
Originally developed by Linus
Torvalds in 2005.
More information: http://git-scm.com
© 2015 Cisco and/or its affiliates. All rights reserved.
9
What does Git do?
Manages changes to a set of files
• 
• 
• 
• 
“Add” and remove files
“Commit” the current state of the files
View the current “status” and “log” of changes over time
Facilitates sharing
• 
• 
• 
• 
“Pull” changes from other users
“Push” changes to other users
“Merge” concurrent changes to the same file
© 2015 Cisco and/or its affiliates. All rights reserved.
10
Why use Git with VIRL?
• 
Using VM Maestro on multiple different
machines
• 
Sharing topologies with a team
• 
To get the sample topologies from
VIRL-open/sample-topologies
© 2015 Cisco and/or its affiliates. All rights reserved.
11
Multiple “clones” of a repository
Git
repository
Git
repository
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
12
Basic Git Terminology and Workflow
• 
“Clone” a repository (once)
• 
“Pull” changes from the repository
• 
“Commit” your changes locally
• 
“Push” your changes to the repository
© 2015 Cisco and/or its affiliates. All rights reserved.
13
Simple Git Example, slide 1 of 7
Git
repository
clone
clone
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
14
Simple Git Example, slide 2 of 7
Git
repository
Commits changes
e.g., adds a file
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
15
Simple Git Example, slide 3 of 7
Git
repository
“push” changes
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
16
Simple Git Example, slide 4 of 7
Git
repository
“pull” changes
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
17
Simple Git Example, slide 5 of 7
Git
repository
Commits a change
e.g., modified file
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
18
Simple Git Example, slide 6 of 7
Git
repository
“push” changes
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
19
Simple Git Example, slide 7 of 7
Git
repository
“pull” changes
Git
repository
Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
20
VIRL-Open GitHub Project
•  GitHub,
• 
• 
• 
https://github.com/
Collaboration platform and web application
Hosted projects and Git repositories
Free to use with public repositories
•  https://github.com/VIRL-Open/
• 
• 
• 
GitHub project created by the VIRL team
For sharing utility scripts, sample topologies, etc.
Open to contributions from the community. (That means you!)
© 2015 Cisco and/or its affiliates. All rights reserved.
21
VM Maestro’s built-in Git support
•  You
• 
• 
• 
• 
can use Git directly from VM Maestro
Clone repositories
Pull and merge changes
Commit changes locally
Push changes upstream
•  VM
Maestro provides a full-featured Git client
•  We
provide a basic tutorial here for simplicity (not
covering branching, merging, the index, etc.)
© 2015 Cisco and/or its affiliates. All rights reserved.
22
Option 1
Read-only VIRL-Open/sample-topologies
• 
Clone VIRL-Open/sample-topologies
repository
• 
Anonymous access – no need to
provide a username or password
• 
View and use files locally.
• 
Pull changes
• 
No ability to push changes back to the
public repository
VIRL-Open/
sample-topologies
clone
Local Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
23
VM Maestro: Open Git Perspective
Open Perspective
Select Git
© 2015 Cisco and/or its affiliates. All rights reserved.
24
VM Maestro: Clone Repository, 1 of 3
Repository
URL
Clone
User/passwd,
if desired
© 2015 Cisco and/or its affiliates. All rights reserved.
25
VM Maestro: Clone Repository, 2 of 3
Make sure master
is selected
Import
Projects
© 2015 Cisco and/or its affiliates. All rights reserved.
26
VM Maestro: Clone Repository, 3 of 3
sample-topololgies
repository
sample-topologies
project
© 2015 Cisco and/or its affiliates. All rights reserved.
27
Pull Changes
Team > Pull
to pull changes
from GitHub to
local repository
and workspace
© 2015 Cisco and/or its affiliates. All rights reserved.
28
Option 2
Forked VIRL-Open/sample-topologies
• 
Use this option to contribute to VIRL-Open/sample-topologies
• 
Requires GitHub account
• 
Fork VIRL-Open/sample-topologies repository
• 
Clone the forked repository and add “remote” for VIRL-Open
• 
Fetch changes, merge locally
• 
Commit locally and push upstream
• 
Make “pull requests” to VIRL-Open projects
© 2015 Cisco and/or its affiliates. All rights reserved.
29
Clone of a Forked Repository
VIRL-Open/
sample-topologies
1. Fork
on Github
UserId/sampletopologies
2. Clone
3. Add remote
Local Git
repository
© 2015 Cisco and/or its affiliates. All rights reserved.
30
Fork VIRL-Open/sample-topologies
On GitHub, fork
VIRL-Open/sample-topologies
© 2015 Cisco and/or its affiliates. All rights reserved.
31
VM Maestro: Open Git Perspective
Open Perspective
Select Git
© 2015 Cisco and/or its affiliates. All rights reserved.
32
VM Maestro: Clone Repository, 1 of 3
Forked
Repository
URL
Clone
GitHub
credentials
© 2015 Cisco and/or its affiliates. All rights reserved.
33
VM Maestro: Clone Repository, 2 of 3
Make sure master
is selected
Import
Projects
© 2015 Cisco and/or its affiliates. All rights reserved.
34
VM Maestro: Clone Repository, 3 of 3
sample-topololgies
repository
sample-topologies
project
© 2015 Cisco and/or its affiliates. All rights reserved.
35
Add VIRL-Open as Remote
Click Change.
Provide VIRL-Open
repository details.
© 2015 Cisco and/or its affiliates. All rights reserved.
36
Push/Pull Changes to “Upstream”
VIRL-Open/
sample-topologies
UserId/sampletopologies
Pull/Push to upstream
Local Git
repository
Commit
© 2015 Cisco and/or its affiliates. All rights reserved.
37
VM Maestro: Git Pull
Pull updates from the
upstream repository
that you cloned to
your local workspace
If you have made local
changes, the pull may
result in conflicts that
you will need to resolve.
© 2015 Cisco and/or its affiliates. All rights reserved.
38
VM Maestro: Commit Changes
Commit local
changes to
repository.
“>” indicates
a modified
file that has
not been
committed
© 2015 Cisco and/or its affiliates. All rights reserved.
39
VM Maestro: Commit Dialog
Enter a commit message
to describe your change.
Select which files to
commit to the repository.
Commit to local repository
Or commit and push to
upstream repository
© 2015 Cisco and/or its affiliates. All rights reserved.
40
Fetch changes from remote
VIRL-Open/
sample-topologies
UserId/sampletopologies
3. Push to upstream
1. Fetch from remote
Local Git
repository
2. Merge/
Commit
© 2015 Cisco and/or its affiliates. All rights reserved.
41
Fetch Updates from Alternate Remote
© 2015 Cisco and/or its affiliates. All rights reserved.
42
Select Alternate Remote
Select VIRL-Open
remote repository
Fetch Result
lists fetched
changes
© 2015 Cisco and/or its affiliates. All rights reserved.
43
We’re not done!
• 
After the fetch, the
changes are now on
your local machine.
• 
The workspace files
have not changed.
• 
We need to “merge’
the changes before
committing them to
the local repository.
© 2015 Cisco and/or its affiliates. All rights reserved.
44
Merge Changes Locally
Merge changes from
VIRL-Open/sampletopologies
Simple merge,
no conflict
resolution needed
© 2015 Cisco and/or its affiliates. All rights reserved.
45
Push Changes Upstream
• 
The merged files were
only committed to your
local repository.
• 
Push the committed files
“upstream.”
• 
Upstream is your forked
copy of the repository on
GitHub that you originally
cloned.
© 2015 Cisco and/or its affiliates. All rights reserved.
46
Submit changes to VIRL-Open
VIRL-Open/
sample-topologies
3. Create
Pull Request
on Gitub
UserId/sampletopologies
2. Push to upstream
Local Git
repository
1. Commit
© 2015 Cisco and/or its affiliates. All rights reserved.
47
Create a pull request
• 
To contribute to the VIRL-Open/sample-topologies repository
• 
• 
• 
• 
Set up VM Maestro as shown above with your own forked repository.
Commit and push changes to your upstream forked repository on GitHub.
Create a “pull request” on GitHub.
The VIRL team will be notified of the pull request
• 
• 
• 
The VIRL team will review your pull request.
They may want to discuss the pull request.
If your change it accepted, it will be merged into the main repository and
become part of VIRL-Open/sample-topologies.
© 2015 Cisco and/or its affiliates. All rights reserved.
48
GitHub: Pull Request
• 
First, commit a
change and push
upstream.
• 
From your forked
repository, click
the pull requests
tab.
© 2015 Cisco and/or its affiliates. All rights reserved.
49
GitHub: Create Pull Request, 1 of 3
Click “create a pull
request”
© 2015 Cisco and/or its affiliates. All rights reserved.
50
GitHub: Create Pull Request, 2 of 3
Review pull
request and
click “Create”
button
For more details and
options, see https://
help.github.com/articles/
using-pull-requests/.
© 2015 Cisco and/or its affiliates. All rights reserved.
51
GitHub: Create Pull Request, 3 of 3
Adjust commit
headline and
description
Click the “Create”
button to submit
the pull request
© 2015 Cisco and/or its affiliates. All rights reserved.
52
Pull Request
• 
View your pending
pull request on
GitHub.
• 
Participate in the
pull request’s
discussion if there
are any questions
from the VIRL-Open
team about your
submission.
© 2015 Cisco and/or its affiliates. All rights reserved.
53
Using the Git CLI with VM Maestro
•  If
you prefer, you may use the Git CLI instead.
•  In
this case, VM Maestro does not know that the
project is managed by Git
•  When
• 
• 
• 
using the Git CLI with VM Maestro,
Keep the Git workspace separate from the VM Maestro workspace
Import the project from your Git workspace into VM Maestro.
After performing Git commands, refresh the project in VM Maestro.
© 2015 Cisco and/or its affiliates. All rights reserved.
54
Git: Further Reading
• 
Git: http://git-scm.com/
• 
GitHub: https://help.github.com/
• 
Complete user guide for the EGit plug-in, which provides the Git
integration in the VM Maestro UI:
http://wiki.eclipse.org/EGit/User_Guide
© 2015 Cisco and/or its affiliates. All rights reserved.
55
Doing real work with VIRL
Daniel Clark
© 2015 Cisco and/or its affiliates. All rights reserved.
56
OpenDayLight & VIRL
Joel Obstfeld
© 2015 Cisco and/or its affiliates. All rights reserved.
57
OpenDayLight
• 
http://
www.opendaylight.org/
software
Controllers has a number of different integration modules – more at
https://opendaylight.org/sites/opendaylight/files/User-Guide-Helium-SR2.pdf
© 2015 Cisco and/or its affiliates. All rights reserved.
58
OpenDayLight in VIRL
• 
Create an ODL controller using Linux server and adding in required packages
• 
Packages available from ODL project page
• 
Once installed, cd /home/ubuntu/distribution-karaf-0.2.2-Helium-SR2/bin
• 
sudo ./karaf
• 
NOW WAIT FOR ODL TO START
• 
enable packages:
• 
feature:install odl-restconf
• 
feature:install odl-netconf-connector-ssh
• 
feature:install odl-l2switch-switch-ui
• 
feature:install odl-bgpcep-all
• 
Ensure that services are up and running, automated to start on reboot – now ‘freeze’
your image
• 
Web interface is accessible at http://ip address:8181/dlux/index.html
© 2015 Cisco and/or its affiliates. All rights reserved.
59
OpenDayLight in VIRL
Sim 2 – XRv instances
Sim 1 – ODL Controller
© 2015 Cisco and/or its affiliates. All rights reserved.
60
OpenDayLight in VIRL
Static_ip: 172.16.1.61
Static_ip: 172.16.1.60
route add -net 192.168.0.0/24 gw
172.16.1.61 dev eth1
© 2015 Cisco and/or its affiliates. All rights reserved.
61
VIRL @ CiscoLive San Diego
Quick Announcement
© 2015 Cisco and/or its affiliates. All rights reserved.
62
VIRL@CLUS
•  Sunday
• 
• 
• 
TECRST-2611 – Techtorial - Network Simulation: The VIRL Compendium
https://www.ciscolive2015.com/connect/sessionDetail.ww?
SESSION_ID=2770 1pm->5pm
Devnet Zone – Learning Labs – all day
•  Monday
• 
• 
• 
7th June
8th June
Devnet Zone - VIRL Booth – all day
Devnet Zone – Learning Labs – all day
Devnet Zone – Main Theatre - 11am
VIRL - your network simulation 'swiss-army knife’
© 2015 Cisco and/or its affiliates. All rights reserved.
63
VIRL@CLUS
• 
Tuesday 9th June
• 
• 
• 
• 
Wednesday 10th June
• 
• 
• 
Devnet Zone - VIRL Booth – all day
Devnet Zone – Learning Labs – all day
VIRL Mini-workshop – 10:30am & 3:30pm
Devnet Zone - VIRL Booth – all day
Devnet Zone – Learning Labs – all day
Thursday 11th June
• 
• 
Devnet Zone - VIRL Booth – all day
Devnet Zone – Learning Labs – all day
© 2015 Cisco and/or its affiliates. All rights reserved.
64
VIRL@CLUS – Meet Up!
• 
Want to hear and learn what other users are building with
VIRL? Want to talk to the development team about what’s
new and exciting?
• 
Come and meet the VIRL development team and fellow
VIRL users at our FIRST Meet-up event @ CiscoLive in
San Diego on Tuesday 9th June, 17:30 to 19:00 in the
DevNet Zone.
• 
Sign up link (also posted on VIRL Community Forum):
http://goo.gl/forms/ynYaGWvyxb
© 2015 Cisco and/or its affiliates. All rights reserved.
65
Q&A
© 2015 Cisco and/or its affiliates. All rights reserved.
66
Useful Links
• 
Support Forum: http://community.dev-innovate.com/c/virl
• 
VIRL Documentation: http://virl-dev-innovate.cisco.com/
• 
VIRL YouTube Channel:
https://www.youtube.com/channel/
UC41WuzXlJCGY5qLsuZ8aHkQ
• 
GITHub topology repo:
https://github.com/VIRL-Open/sample-topologies
• 
© 2015 Cisco and/or its affiliates. All rights reserved.
67
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
68