sdn users group_january_2016v5

22
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

Upload: joel-king

Post on 13-Jan-2017

502 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Sdn users group_january_2016v5

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

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

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

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

Spark and ServiceNowSam Womack

Page 6: Sdn users group_january_2016v5

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

Spark | F5 API OverviewJoel King

Page 8: Sdn users group_january_2016v5

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

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

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

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

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

Ansible F5 Spark Integration Presentation and DemonstrationMark Wall

Page 14: Sdn users group_january_2016v5

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

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

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

Example Workflow

DC 2DC 1

AnsibleF5 iControl – REST API

F5 Auto Config Sync

F5 Config.csvCisco Spark

Page 18: Sdn users group_january_2016v5

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

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

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

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