COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
SOFTWARE DEFINED NETWORKING: PYTHON PROGRAMMABILITY AND EVENT MANAGERDecember, 2015
3COPYRIGHT © 2012 ALCATEL-LUCENT ENTERPRISE. ALL RIGHTS RESERVED.
1. Python Programmability and Event Manager Intro2. Scenario and Demo3. Key Takeaways
AGENDA
4COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
WHAT ARE WE GOING TO TALK ABOUT?NEW FEATURES IN AOS 7.3.4
DESCRIPTIONEvent-Action Triggers execution of a python program when the specified trap occursPython Interpreter
Enables execution of Python programs
RESTful API (Since 7.3.2)
Web Services management interface to access the MIB as well as CLI in JSON or XML formats.
SOFTWARE-DEFINED RESPONSE TO NETWORK EVENTS
5COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
INTERNAL PYTHON
• Internal Python program under AOS on the OmniSwitch• Three ways to execute Python Automatically, as an AOS “event-action” when a TRAP occurs Interactively, from the AOS console In a file executed by command from the AOS console• AOS Python includes standard Python 3 packages for OS access and issuing AOS
commands
Customer-written Python program
Python 3 interpreter and standard Python packages are built into AOS
AOS 7.3.4Python script running
on OmniSwitch
6COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
EXTERNAL PYTHONTHROUGH RESTFUL API• External Python scripts run on a PC external to the OmniSwitch Requires python2 or python3 interpreter on PC/Linux/Mac. Easy to install from python.org. Python script on PC connects to AOS using HTTP/HTTPS and the AOS RESTful APIs. Sample Python code and libraries are available to demonstrate access to MIB variables in
one or more AOS 7.3.4 switches. Sample library returns results in an easy-to-handle Python “dictionary” object
Python scriptrunning on PC/Linux/Mac AOS 7.3.4
MIB variables accessible via Web
Services
Web Services via HTTP/HTTPS
Customer-written Python program
Sample AOS REST library
Python 2 or Python 3 interpreter/PyPi packages
7COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
INTERNAL + EXTERNAL
• Combine internal python scripts with external RESTful API• A python script can execute on the local switch and on the remote switch through
the RESTful API• Can execute interactively from console, from a file or when a TRAP occurs.
Customer-written Python programPython 3 interpreter and standard Python packages are built into AOS
AOS 7.3.4Python script running
on OmniSwitch (Client)
RESTFul API (Server)
RESTFul API (Server)
AOS 7.3.4Python script running
on OmniSwitch (Client)Sample AOS REST library
Customer-written Python programPython 3 interpreter and standard Python packages are built into AOS
Sample AOS REST library
Web Services via HTTP/HTTPS
Web Services via HTTP/HTTPS
SCENARIO AND DEMO
9COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
DEMO SCENARIO
• The Microwave link provides high bandwidth at low cost however is susceptible to fading etc in bad weather.• The Telco link provides moderate
bandwidth and high quality but the cost is high.• In normal circumstances, Internet traffic
will use the Microwave link whilst Corporate traffic including VOIP will use the Telco link.• But when the quality of the Microwave
link degrades, a Python App will divert Internet traffic to the Telco link and set a 1Mbps bandwidth cap.• Internet traffic will automatically revert to
using the Microwave link when the quality becomes acceptable.
Central Site
Corporate Traffic
Internet Traffic
Remote Site
10COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
ACTUAL SETUP
16900-T20
2
1 2
EMP (10.244.1.2)
6400 Port 10, VLAN
1244 (10.244.1.3)
10.244.1.0/24
HTTP
S
10.244.1.201
dmz33-rdpgw.al-mydemo.com
RDP
RDP
192.168.20.1
192.168.20.2
192.168.30.1
192.168.30.2
Lo0 192.168.10.1
Lo0 192.168.40.1
TelcoLink
Microwave Link
Remote Site
CentralSite
11COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
DEMO SCENARIOCONFIGURATIONMeasuring Link Quality with SAA IP Ping (100 pings every minute)! SAA:saa "linktest" interval 1saa "linktest" type ip-ping destination-ip 192.168.30.2 source-ip 192.168.30.1 type-of-service 5 inter-pkt-delay 100 num-pkts 100saa "linktest" startTriggering Python Application after test is completed! Trap Manager:snmp-trap absorption disableevent-action trap alaSaaIPIterationCompleteTrap script /flash/python/linkquality.py
QOS Policies! QOS:policy condition Internet destination ip 192.168.40.1 #This IP address represents an Internet IP addresspolicy action UseTelcoLinkAndRateLimit maximum bandwidth 1.00M permanent gateway-ip 192.168.20.2 policy action UseMicrowaveLink permanent gateway-ip 192.168.30.2 policy rule InternetViaMicrowave condition Internet action UseMicrowaveLink policy rule InternetViaTelco disable condition Internet action UseTelcoLinkAndRateLimit #This rule is normally disabledqos apply
12COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
DEMO SCENARIOPYTHON LOGIC
Packet Loss
Microwave Link in
Use?Disable InternetViaMicrowave ruleEnable InternetViaTelco rule
Do nothing and exit
Microwave Link in
Use?Disable InternetViaTelco ruleEnable InternetViaMicrowave rule
> 10 %
5 % to 10 % (hysteresis to avoid toggling)
< 5 %
Yes
Yes
No
No
linkquality.py
KEY TAKEAWAYS
14COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Embedded software-defined response to network events
Minimize disruption with nearly real-time reaction No dependence on NMS or SDN controller availability or reachability
Infinite possibilities
PYTHON PROGRAMMABILITY AND EVENT MANAGERKEY TAKEAWAYS
15COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
v
16COPYRIGHT © 2014 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Linkedin.com – Group: Alcatel-Lucent Enterprise
Twitter.com/ALUEnterprise
Facebook.com/ALUEnterprise
Youtube.com/user/enterpriseALU
Slideshare.net/tagged/Enterprise
Storify.com/ALUEnterprise
Follow us on:
enterprise.alcatel-lucent.com