sdn users group_january_2016v5
TRANSCRIPT
![Page 1: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/1.jpg)
Copyright © 2016 World Wide Technology, Inc. All rights reserved.
SDN Users Group
19 January 2016 Building And Automating The Next Generation Network
Engineering and Innovations Networking Solutions
![Page 2: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/2.jpg)
Abstract
Learn how Cisco Spark, a cloud based collaboration service, can be integrated into work flow processes and network automation through the Spark APIs.
The first portion of the meeting Sam Womack will demonstrate how the lab services PoC (Proof of Concept) integrates Spark and ServiceNow to manage the PoC workflow.
The second half of the presentation, Mark Wall will demonstrate how Ansible can be used to automate the configuration of F5 appliances in multiple data centers, and then use an Ansible module to create and add people to a Spark room to track the completion of the task.
![Page 3: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/3.jpg)
Agenda
• Lab services PoC (Proof of Concept) integrates Spark and ServiceNow to manage the PoC workflow. • Sam Womack
• Spark | F5 API Overview• Joel King
• Ansible F5 Spark Integration Presentation and Demonstration• Mark Wall
Demonstrate the integration of collaboration and automation tools for workflow management
![Page 4: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/4.jpg)
Why is this important to Customers?• Staff Productivity Increases• Internal Communication Improves• Agile Business Processes• Happy and Empowered Employees
• Improved Customer Experience• Less Mistakes = Less Cost• Automated Tasks require less
management.
![Page 5: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/5.jpg)
Spark and ServiceNowSam Womack
![Page 6: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/6.jpg)
Spark API Proof of Concept
A case is opened in ServiceNow for a Proof of Concept.
The case is approved by Project Management
A room is automatically created in Spark with the required people and documents. Formatted data is posted.
Once a PoC is complete, an automated process copies the interactions and rolls all documents into an archive file.
Solution: The project teams want to create an automated process once PoCs are approved to create a room, add the necessary resources to the room, and format the data from ServiceNow into the initial post of the room. The initial post will contain the request number, customer opportunity, and project billing number so all room participants will have accurate information.
The ServiceNow case status is automatically updated to closed upon receipt of notification from Spark.
![Page 7: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/7.jpg)
Spark | F5 API OverviewJoel King
![Page 8: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/8.jpg)
Ansible and Cisco Data Center Networking
SSH – TCP/22
Users, API
NTP – UDP / 123
HTTP(s) TCP/80:443:22
HTTP(s) TCP/80:443SSH – TCP/22
GitHubHTTPS TCP/443
LDAP – TCP / 389
ESXServer
WindowsSystems
LinuxDockerAmazon
Web Services
Agentless
Ansible / Tower
REST API
connection: local
feature nx-api
Nexus 3000 | 9000
Nexus 9000ACI
PARAMIKO
APIC-EMCisco IOS
REST API
Cisco Spark
Youare
here
![Page 9: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/9.jpg)
All APIs are not Created EqualSpark API F5 API
Authentication: Token Baseddevpreview.ciscospark.com/
OAuth 2 standard 3rd party apps to get a temporary access token
Documentation:devpreview.ciscospark.com/getting-started.html
Rooms are Eternal – people leave, but the room remains.
Room owner need not be added to the room, only invitees
Authentication: Basic, user | pw Documentation:
devcentral.f5.com/ iControl is self-documenting query
a root module and retrieve all the URLs which can be specified for that module.
Adds and Updates require different REST URLs / Body
![Page 10: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/10.jpg)
Ansible Notification Modules
http://docs.ansible.com/ansible/list_of_notification_modules.html
There are a number of Ansible ‘extra’ modulescurrently available.
Goal in developing the Spark notification module was to learn how to use the Spark APIs
https://github.com/joelwking/ansible-spark
![Page 11: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/11.jpg)
Playbook#!/usr/bin/ansible-playbook---- name: Ansible, cisco Spark hosts: localhost connection: local gather_facts: no
vars: spark_room: VIRL
tasks: - name: Decrypt the password file include_vars: "./passwords.yml"
- name: Add members to a room spark_room: room: "{{spark_room}}" members: "{{item}}" token: "{{spark_token}}" with_items: - [email protected] - [email protected] - [email protected]
- name: Send message to spark room spark_room: text: "Packet Pushers\t\t My Experiences With Cisco’s VIRL http://packetpushers.net/experiences-ciscos-virl/ " filename: "http://virl.cisco.com/img/logo.virl.png" room: "{{spark_room}}" token: "{{spark_token}}"
![Page 12: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/12.jpg)
Where to get these modulesSpark API F5 API
github.com/joelwking/ansible-spark
Blog: https://lnkd.in/eHhMbvT
github.com/joelwking/ansible-f5
Two modules in the repo, icontrol_gather_facts.pyicontrol_install_config.py
![Page 13: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/13.jpg)
Ansible F5 Spark Integration Presentation and DemonstrationMark Wall
![Page 14: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/14.jpg)
Why Automation with F5?
Challenge – • Manual configuration runs the risk of human error and is time consuming
Solution – • Leverage an automation platform that is simple and consumable by end users
Benefit – • Remove complexity and risk of human error from end user• Decrease deployment time
![Page 15: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/15.jpg)
Example Use Case• Migration of Legacy Configuration to F5
• F5 Engineer is not a programmer
• Deploy F5 LTM and F5 GTM Configurations
![Page 16: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/16.jpg)
Solution ComponentsF5 iControl
• REST API common across the F5 products• Complete control of F5 configuration objects
Ansible• Open Source Automation Tool• Easy for anyone to understand and learn
![Page 17: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/17.jpg)
Example Workflow
DC 2DC 1
AnsibleF5 iControl – REST API
F5 Auto Config Sync
F5 Config.csvCisco Spark
![Page 18: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/18.jpg)
F5 Configuration ExampleCSV File
• Easy to create/import by end users• Consolidated documentation
Ansible• Ansible Task <-> CSV Task• Adding new functionality simple• Easy Integration with F5 iApps
Tasks ColumnNODE
LTM_POOL
LTM_POOL_MEMBERS
LTM_VIP
…
Playbook Tasks-name: Create LTM Nodes iControl to create nodes-name: Create LTM Pool iControl to create nodes-name: Add Nodes to LTM Pool iControl to add nodes to Pool-name: Create LTM VIP iControl to create LTM VIP and attach pool
….
![Page 19: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/19.jpg)
Example CSV Configuration File
LTM VIP Configuration CLI
ltm virtual VS_LAMP { destination 10.10.10.15:http ip-protocol tcp mask 255.255.255.255 pool POOL_LAMP profiles { http { } tcp { } } source 0.0.0.0/0 source-address-translation { type automap } vs-index 39}
![Page 20: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/20.jpg)
Summary
Automation is not hard!
Start Simple – Choose a Workflow
Easy to Use – For You and Others
www.f5.com
www.ansible.com
![Page 21: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/21.jpg)
Key Takeaway
Network automation is a pragmatic step to implement SDN concepts.
Application Programming Interfaces (APIs) becoming more prevalent in networking.
Workflow management is an important component of NetDevOps.
January 20th - Network Automation and Programmability with Cisco Nexus 9000 and F5 BIG-IPhttps://interact.f5.com/DevCentralDevNetLiveEventDEC17.html?regsource=f5dc
![Page 22: Sdn users group_january_2016v5](https://reader033.vdocuments.site/reader033/viewer/2022042907/587812151a28ab971e8b73c5/html5/thumbnails/22.jpg)