5. aruba airheads tech update 15 feb 2018 - campus automation · the features or data of an...
TRANSCRIPT
![Page 1: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/1.jpg)
Campus AutomationJoe Neville – Aruba Consulting System Engineer - @joeneville_
![Page 2: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/2.jpg)
2
Agenda
§Network Automation – What is it and why is it?§Aruba, Python and APIs§Fingers crossed (demo time)§Start Small - Building an ecosystem
![Page 3: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/3.jpg)
3
DISCLAIMER
You don’t need to know any of this stuff*ArubaOS-Switch & CX = full CLI
*But you’ll be glad that you do
![Page 4: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/4.jpg)
4
IPv6 in the Campus
“It will never happen!”
![Page 5: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/5.jpg)
5
The v4 Island?
Campus IPv4
DC IPv6
Home IPv6
BranchIPv6
ISP IPv6
![Page 6: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/6.jpg)
6
IPv6 in the Campus
Now The future
5-10 years?
“It will neverhappen!” “IPv4 what?”
Timeline
![Page 7: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/7.jpg)
7
Campus Automation
“It will never happen!”• Network Engineers use CLI & SNMP.• They are not programmers!• Heard it all before with SDN.
![Page 8: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/8.jpg)
8
The advent of electrification, and automatic lamp changers…led to the phasing out of non-automated lighthouses
![Page 9: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/9.jpg)
9
The Campus CLI Island?
Campus CLI?
Self-driving
vehicles
Automated data centre
Cloud-managed branch
Serverless
![Page 10: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/10.jpg)
10
Automation in the Campus
Now The future
10-20 years?
“It will neverhappen!” Self-managed networks?
Timeline
![Page 11: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/11.jpg)
11
Network Automation – Define our terms
Static§ Static / manual configuration§ Primarily using CLI§ Large majority of campus customers use these practises.
Automation• Combine multiple processes into workflows.• Tasks can pass through multiple phases without manual intervention.• Programmatic. “If this is true, do that”
![Page 12: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/12.jpg)
12
Network Automation – Define our terms
Automation• Most networks already use an automated process for IP address assignment (DHCP)• Lots of others use Zero Touch Provisioning.• ZTP uses a process flow to get a switch up and running with minimal intervention from
NetOps.• We’re now exploring other process flows, at different stages of device lifecycle (e.g. day to
day ops / MACs)
![Page 13: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/13.jpg)
13
So what’s wrong with CLI?
§ Humanly readable§ Slow & cumbersome (forcing a machine to speak English)
§ Slow§ Interacting via CLI, even if scripted, is slow (SSH in, input commands, parse output)
§ Response is unstructured§ Networks getting bigger (IoT)§ Customer looking for new ways to automate (like they did with servers)
![Page 14: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/14.jpg)
14
Network Automation
§So CLI is dead?§No despite some clickbait out there, CLI is a tool in the toolbox and a very
valuable one.§CLI is the tool for humans.§But we want to speed-up and lessen human interaction § It is time for some new tools§Like what….
![Page 15: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/15.jpg)
15
Enter the API§ Application Programming Interface:
“a set of functions and procedures that allow the creation of applications which access the features or data of an operating system, application, or other service.” – google dictionary
§ Modern approach: REST API = Representational state transfer- Stateless call and response method to interact with an OS, application and now networking
devices- Popular: fridges, youtube, ArubaOS-Switches
and ArubaOS-CX have REST APIs. {RESTAPI
![Page 16: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/16.jpg)
16
Enter the API
REST concept will be familiar to most:§ Based on HTTP methods to perform an action on a device:GET, POST, PUT, DELETE§ Fire HTTP at a device, get a response. No open channel between Sender and Receiver
hence stateless§ show command = HTTP GET to URI§ New config = POST, amend config = PUT§ Delete is DELETE!
HTTP GET {RESTAPI
![Page 17: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/17.jpg)
17
Enter the API
§Data is returned as JavaScript Object Notation – structured data§THIS IS KEY§We can quickly mine the data we need
{RESTAPI
JSON
![Page 18: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/18.jpg)
18
Enter the API
§ Without an API – previous scripting (PERL)§ Slow, log in, issue CLI command, log out….THEN
CLI: show vlans
![Page 19: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/19.jpg)
19
Enter the API
§ Without an API – previous scripting (PERL)§ Slow, log in, issue CLI command, log out….THEN§ CLI OUTPUT = semi-structured (whitespace, column headers) to make it readable to
humans = superfluous information§ Must be parsed to get the salient data =
work / regex§ API structured data makes our lives easier
CLI:
sw1# sh vlan
--------------------------------------------------------------------------------------------VLAN Name Status Reason Type Interfaces--------------------------------------------------------------------------------------------1 DEFAULT_VLAN_1 down no_member_forwarding default 1/1/22 VLAN_2 up default 1/1/53 VLAN_3 up default 1/1/64 VOICE up default 1/1/75 VIDEO up default 1/1/8
![Page 20: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/20.jpg)
20
Cue this response:
§Sure, but SNMP…§Complex, specialized and vendor-specific.§Reality: CLI & SNMP hasn’t got us where we want to
be – lots of manual changes
“But SNMP is structured data”
![Page 21: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/21.jpg)
21
REST API != SNMP / CLI
§Not only faster and quicker to mine data§REST API not a networking specific feature. They are on all your home
automation kit and fave social media sites§Barrier to entry much lower – technical types in all areas of IT touch them / kids
out of college can hack on them
![Page 22: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/22.jpg)
22
Aruba APIs
ArubaOS-CX
8400 8320
Auto-generated from database100% day one
![Page 23: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/23.jpg)
23
Aruba APIs
ArubaOS-SwitchStarted in 16.02Now on v4 as rollout continues
![Page 24: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/24.jpg)
24
Where does Python fit in?
Here!
§Use code to build REST API calls and handle the JSON§Python is a good candidate language
![Page 25: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/25.jpg)
25
Why Python?
§Popular – lots of examples online and tutorials§Widely supported – default on linux distros, easy Wins install§Third-party library support – especially ‘requests’ i.e. someone has already
written the code we need§Quite readable…dare I say fun?
![Page 26: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/26.jpg)
26
Basic operations with Python
1. Login – send HTTP POST to https://<ipaddr>/rest/v1/login
http://192.168.2.1/rest/v1/login
![Page 27: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/27.jpg)
27
Basic operations with Python
1. Login – send HTTP POST to https://<ipaddr>/rest/v1/login2. Response from CX
response
![Page 28: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/28.jpg)
28
Basic operations with Python
1. Login – send HTTP POST to https://<ipaddr>/rest/v1/login2. Response from CX 3. Get VLAN table
https://192.168.2.1/rest/v1/system/bridge/vlans
![Page 29: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/29.jpg)
29
Basic operations with Python
1. Login – send HTTP POST to https://<ipaddr>/rest/v1/login2. Response from CX 3. Get VLAN table4. JSON returned
[{'aclv4_in_statistics': {},'aclv4_in_status': {},'aclv4_out_statistics': {},'aclv4_out_status': {},'aclv6_in_statistics': {},'aclv6_in_status': {},'aclv6_out_statistics': {},'aclv6_out_status': {},'admin': 'up','flood_enabled_subsystems': ['/rest/v1/system/subsystems/system/base'],'id': 1,'internal_usage': {},'mgmd_counters': {'igmp_fast_leave_counter': 0,
'igmp_forced_fast_leave_counter': 0,'igmp_membership_timeout_counter': 0,'igmp_rx_bad_checksum_counter': 0,'igmp_rx_malformed_pkt_counter': 0,'igmp_rx_unknown_msg_type_counter': 0,'igmp_rx_v1_all_host_query_counter': 0,'igmp_rx_v1_member_report_counter': 0,'igmp_rx_v2_all_host_query_counter': 0,'igmp_rx_v2_group_specific_query_counter': 0,'igmp_rx_v2_member_leave_counter': 0,'igmp_rx_v2_member_report_counter': 0,'igmp_rx_v3_all_host_query_counter': 0,'igmp_rx_v3_group_specific_query_counter': 0,'igmp_rx_v3_gssq_counter': 0,'igmp_rx_v3_member_report_counter': 0,'igmp_rx_wrong_version_query_counter': 0,'igmp_tx_flood_on_vlan': 0,'igmp_tx_forward_to_routers': 0,'igmp_tx_v2_group_specific_query_counter': 0,'igmp_tx_v3_group_specific_query_counter': 0},
'mgmd_drop_unknown_status': {},'mgmd_dynamic_group_count': {'igmp_exclude_mode': 0, 'igmp_include_mode': 0},'mgmd_enable': {},'mgmd_enable_status': {},'mgmd_igmp_block_ports': [],'mgmd_igmp_fastleave_ports': [],'mgmd_igmp_forcedfastleave_ports': [],'mgmd_igmp_forward_ports': [],'mgmd_igmp_router_port_time_expiry': {},'mgmd_igmp_static_groups': [],'mgmd_mld_block_ports': [],'mgmd_mld_fastleave_ports': [],'mgmd_mld_forcedfastleave_ports': [],'mgmd_mld_forward_ports': [],'mgmd_mld_router_port_time_expiry': {},'mgmd_mld_static_groups': [],'mgmd_oper_version': {},'mgmd_querier_ip': {},'mgmd_querier_port': {},'mgmd_querier_timer_info': {},'name': 'DEFAULT_VLAN_1','oper_state': 'down','oper_state_reason': 'no_member_port','replication_group': '/rest/v1/system/replication_groups/5ad50a0f-0fd5-47dd-81b8-f40b4e107e6d','type': 'default'}]
That’s a lot of info…but it is structured!
![Page 30: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/30.jpg)
30
Basic operations with Python
5. Extract required info from Python dictionary (key-value pair)6. Consume (print, if/else logic)7. Logout
{'id': 5,'name': ‘VOICE_VLAN_5}
key value
![Page 31: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/31.jpg)
31
Hang on! How do we know the URLs?
§ArubaOS-Switch – Schema document§ArubaOS-CX – Swagger UI
????????????????????????????????
![Page 32: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/32.jpg)
32
§ArubaOS-Switch – Schema document§ArubaOS-CX – Swagger UI
????????????????????????????????
Hang on! How do we know the URLs?
![Page 33: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/33.jpg)
33
Python Functions
• API call operations (login, get x, configure y) lend themselves to python functions.
HTTP to API URI
Python function
Python script
![Page 34: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/34.jpg)
34
Python Functions
• API call operations (login, get x, configure y) lend themselves to python functions.
Task Skills requiredBuild python script from functions Networking, basic pythonWrite python function to send call and mine JSON
Intermediate python
Use swagger to get HTTP URI Networking, Swagger XP
![Page 35: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/35.jpg)
35
Python Functions
• Software = collaboration (no one writes from scratch)• Git clone / copy&paste from Github• Aruba are building an ecosystem - switchingbot
HTTP to API URI
Python function
Python script
Swagger
GithubUNDER CONSTRUCTION
![Page 36: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/36.jpg)
36
Network Automation Timeline
• Steps towards automating a network
Cli only – manual changes / unstructured
Parse unstructured data, regex
Create API – structured data
Compose API calls – call and response to interact with network
Combine API calls with logic based on network state
Rollout across network
![Page 37: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/37.jpg)
37
First rule of Fight Club Network Automation:
“Start small”My experience when mentioning Network AutomationDreams of fully-orchestrated, self-healing, self-aware networks.
![Page 38: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/38.jpg)
38
First rule of Fight Club Network Automation:
“Start small”• Better to go for small, repetitive tasks the take up NetOps time• Start with info-only.• Harvest and process data from network.• Use the existing processes of network engineers. AKA scraps of paper and
post-its stuck to screen.
• Create workflows, automate.
![Page 39: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/39.jpg)
39
Don’t Start Here!
else
if
if
if
ifelse
elseelif
else
ifif
if
Process flow per device
Deep
![Page 40: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/40.jpg)
40
Better!
elseif
Process flow across devicesShallow
But Wide….is powerful
elseif elseif elseif
![Page 41: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/41.jpg)
41
But WHY?????
• Do more with less planned downtime / staff• Less human-error = less unplanned downtime• Manage the explosion of networked devices (IoT).• Save money…of course.
![Page 42: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/42.jpg)
42
Network automation final thoughts:
• Customer driven• Don’t panic – start of a long journey• API is key - this unlocks new potential
![Page 43: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/43.jpg)
43
Network automation final thoughts:
![Page 44: 5. Aruba Airheads Tech Update 15 feb 2018 - Campus Automation · the features or data of an operating system, application, or other service.” ... •Aruba are building an ecosystem](https://reader030.vdocuments.mx/reader030/viewer/2022040216/5f0bf2027e708231d432fef7/html5/thumbnails/44.jpg)
Thank You!