You are on page 1of 27

#CLMel

DevNet Workshop
Cisco DNA Center as a
Platform

Adam Radford - Distinguished Systems Engineer


DEVWKS-2879
Cisco Webex Teams

Questions?
Use Cisco Webex Teams (formerly Cisco Spark)
to chat with the speaker after the session

How
1 Open the Cisco Events Mobile App
2 Find your desired session in the “Session Scheduler”
3 Click “Join the Discussion”
4 Install Webex Teams or go directly to the team space
5 Enter messages/questions in the team space
cs.co/ciscolivebot#DEVWKS-2879

© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
BRKRST-2674 Cisco DNA Center Automation
Day0 – DayN
DEVWKS-2424 PnP
Thu 12:50pm Wed 12pm

DEVNET-2877 DNACaaP
Tue 3pm DEVNET-2425 Common Tasks
DEVWKS-2879 DNACaaP Fri 9am
Wed-4pm DEVWKS-2872 Hands on Intent
Tue 1pm

DEVNET-2878 Assurance
Wed 5pm
DEVWKS-2878 Assurance workshop
Wed 9am
#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
Agenda
• Introduction to Platform
• Hands on
• API Overview
• Enrichment
• Webhook
• Hands On

DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
BRKRST-2674 Cisco DNA Center Automation
Day0 – DayN
DEVWKS-2424 PnP
Thu 12:50pm Wed 12pm

DEVNET-2877 DNACaaP
Tue 3pm DEVNET-2425 Common Tasks
DEVWKS-2879 DNACaaP Fri 9am
Wed-4pm DEVWKS-2872 Hands on Intent
Tue 1pm

DEVNET-2878 Assurance
Wed 5pm
DEVWKS-2878 Assurance workshop
Wed 9am
#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
Some Operational Challenges

95% 70% 75%

Manual Changes Policy Violations OpEx spent on


Due to Human Error Network Visibility and
Troubleshooting
Source: 2016 Cisco Study

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
The Journey to Intent-based Networking
Increased
IT Agility

Platforms

Systems

Products

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
Initial Platform Capabilities – APIs, Adapters & SDKs
Business and Network Intent APIs
IT and Network
System Process Adapters Application Policy Software Image
Management (SWIM)
Assurance
Network Inventory /
ITSM Wireless Provisioning
Discovery
Plug-n-Play
IPAM Command Runner
Topology
Template Programmer
Reporting
eNFV Provisioning

X-Domain Adapters

3rd Party SDKs Networking

Map 3rd Party Network Devices to Data Model


Security
Level 1 Operations support:
Discovery, Inventory, Topology, Availability, Health Score #CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
Hands On
Always on Sandbox

User: devnetuser
Password: Cisco123!

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
DNA Center Platform ITSM Integration Overview
Northbound
Rest API application

Integration Workflows DNA App for Service


Connect to Now - Ref. App
DNA Services Network Issues as IT Events
DNA Center Service Now Integration
Automation User, Device, Client based Enrichment Rest
Platform Adapter
Basic Inventory to CMDB Synch
Assurance Other Non
ServiceNow
consumers

Analytics app
CSV
DaaS Tableau
PDF BI, Reporting app

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
Schedule Flows

Currently internal polling –


not real time
30min – SWIM
15min - Events

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
API Overview
Categories
Integration API
• POST /dna/intent/api/v1/update-itsm-problem-details
• POST /dna/intent/api/v1/update-itsm-incident-details
• POST /dna/intent/api/v1/update-itsm-alert-details
Enrichment API
• GET /dna/intent/api/v1/issue-enrichment
• GET /dna/intent/api/v1/device-enrichment
• GET /dna/intent/api/v1/user-enrichment

Assurance API
• GET /dna/intent/api/v1/site-hierarchy?timestamp=
• GET /dna/intent/api/v1/network-health?startTime=&endTime=
• GET /dna/intent/api/v1/client-health?startTime=&endTime=
• GET /dna/intent/api/v1/client-detail?timestamp=&macAddress=<mac>
#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
To use enrichment API, enable ServiceNow integration

Does not need to


be configured, just
enabled

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
Issue Enrichment Headers:
entity_type: mac_address
entity_value: c8:4c:75:68:b2:c0
https://dnac/dna/intent/api/v1/issue-enrichment GET
{ "issueDetails" : { "impactedHosts" : [ {
"issue" : [ { "hostType" : "WIRELESS", NOTES:
"issueId" : "AWPuHcxR_Vn43OLUwqf-", "hostName" : "adams-MBP", Entity_type can be issue_id or
"issueSource" : "Cisco DNA", "hostOs" : "Apple-Device",
"issueCategory" : "Onboarding", "ssid" : "sda", mac_address
"issueName" : "wireless_client_onboarding", "connectedInterface" : "Unknown",
"issueDescription" : null, "macAddress" : "00:26:08:E0:F4:97",
"issueEntity" : "Client", "failedAttempts" : 1,
"issueEntityValue" : "00:26:08:E0:F4:97", "location" : {
"issueSeverity" : "HIGH", "siteId" : "305ed723-2e48-499b-a383-49103b15af54",
"issuePriority" : "", "siteType" : "FLOOR",
"issueSummary" : "Wireless client failed to roam (SSID: "area" : "Global",
sda, AP: adam-sda-3802, Band: 5.0 GHz, Site: Global/north "building" : "north sydney",
sydney/level 22) - Failed to authenticate due to Client "floor" : "level 22",
Timeout", "apsImpacted" : [ "CC:16:7E:92:2B:40" ]
"issueTimestamp" : 1528708144081, },
"suggestedActions" : [ { "timestamp" : 1528708144081
"message" : "Verify whether the client software has } ]
gone through a recent update since this may be a recent change }, {
of behavior.", "issueId" : "AWPuG_eH_Vn43OLUwqf7",
"steps" : [ ] "issueSource" : "Cisco DNA",
}, { "issueCategory" : "Onboarding",
"message" : "If the failed attempt is associated with a "issueName" : "wireless_client_onboarding",
client that is located outdoors, consider introducing Low RSSI "issueDescription" : null,
Threshold to the setup since this will force the client to join "issueEntity" : "Client",
an AP with a stronger signal. Also check the AP location for RF "issueEntityValue" : "00:26:08:E0:F4:97",
Issues. Make sure the AP is in client's line of sight.", "issueSeverity" : "HIGH",
"steps" : [ ] "issuePriority" : "",
} ], "issueSummary" : "Wireless client failed to roam (SSID:
sda, AP: adam-sda-3802, Band: 5.0 GHz, Site: Unknown) - Failed

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
Device Enrichment Headers:
entity_type: ip_address
entity_value: 10.10.22.74
https://dnac/dna/intent/api/v1/device-enrichment GET

[ { "waasDeviceMode" : null,
"deviceDetails" : { "series" : "Cisco ASR 1000 Series Aggregation Services
"family" : "Routers", Routers",
"type" : "Cisco ASR 1001-X Router", "inventoryStatusDetail" : "
"location" : null, <status>
"errorCode" : null, <general code=\"SUCCESS\"/>
"macAddress" : "00:c8:8b:80:bb:00", </status>",
"role" : "BORDER ROUTER", "collectionInterval" : "Global Default",
"apManagerInterfaceIp" : "", "serialNumber" : "FXS1932Q1SE",
"associatedWlcIp" : "", "softwareVersion" : "16.6.1", NOTES:
"bootDateTime" : "2018-01-11 15:47:26", "roleSource" : "AUTO", Entity_type can be device_id,
"collectionStatus" : "Managed", "hostname" : "asr1001-x.abc.inc",
"interfaceCount" : "12", "upTime" : "150 days, 9:50:00.62",
ip_address, mac_address
"lineCardCount" : "9", "lastUpdateTime" : 1528681048506,
"lineCardId" : "5e1b93c1-bed2-4324-b504-7bd0ed564c6d, "errorDescription" : null,
80781bb5-32b4-415e-96b4-ce580f66ac6e, aae1f793-fd41-420a-ab0e- "locationName" : null,
4a53ead7af08, 6855077f-deab-479d-bafd-630f3f51cf71, a6fabc8d- "tagCount" : "0",
3163-4fcb-b6c0-6244d35f69c5, 3ca823be-2c16-4cc8-b870- "lastUpdated" : "2018-06-11 01:37:28",
5993a53f8c50, 9dd486e6-c3b2-4e33-90dc-8e32c8877892, 375caca8- "instanceUuid" : "5337536f-0bb4-40eb-abd6-676894c9712c",
46da-413a-92af-d019a095ef47, 0cb53bff-e124-430e-a2b1- "id" : "5337536f-0bb4-40eb-abd6-676894c9712c",
4337b5777a47", "neighborTopology" : [ {
"managementIpAddress" : "10.10.22.74", "nodes" : [ {
"memorySize" : "3956371104", "role" : "DISTRIBUTION",
"platformId" : "ASR1001-X", "name" : "cs3850.abc.inc",
"reachabilityFailureReason" : "", "id" : "99b1ec00-3dcb-44b8-9b6e-2ad6fc141f36",
"reachabilityStatus" : "Reachable", "description" : "Switch",
"snmpContact" : "", "deviceType" : "Cisco Catalyst38xx stack-able ethernet
"snmpLocation" : "", switch",
"tunnelUdpPort" : null, <cont>
<cont<

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
User Enrichment Headers:
entity_type: mac_address
entity_value: c8:4c:75:68:b2:c0
https://dnac/dna/intent/api/v1/user-enrichment GET

[ { "vlanId" : "1",
"userDetails" : { "ssid" : null, "port" : null
"id" : "C8:4C:75:68:B2:C0", "frequency" : null, },
"connectionStatus" : "CONNECTED", "channel" : null, "connectedDevice" : [ {
"hostType" : "WIRED", "apGroup" : null, "deviceDetails" : {
"userId" : null, "location" : "Sydney/NSD5", "family" : "Switches and Hubs",
"hostName" : null, "clientConnection" : "type" : "Cisco Catalyst 9300 Switch",
"hostOs" : null, "cat_9k_1.abc.inc", "location" : null,
"hostVersion" : null, "connectedDevice" : [ ], "errorCode" : null,
"subType" : "UNKNOWN", "issueCount" : 0, "macAddress" : "f8:7b:20:67:62:80",
"lastUpdated" : 1528484918341, "rssi" : null, "role" : "ACCESS",
"healthScore" : [ { "avgRssi" : null, "apManagerInterfaceIp" : "",
"healthType" : "OVERALL", "snr" : null, "associatedWlcIp" : "",
"reason" : "", "avgSnr" : null, "bootDateTime" : "2018-01-11 14:42:26",
"score" : 10 "dataRate" : null, "collectionStatus" : "Managed",
}, { "txBytes" : null, "interfaceCount" : "41",
"healthType" : "ONBOARDED", "rxBytes" : null, "lineCardCount" : "2",
"reason" : "", "dnsSuccess" : null, "lineCardId" : "1cd043ef-aaf7-4b2e-b720-
"score" : 4 "dnsFailure" : null, 7af782b98b1c, a2b2467b-1692-46d4-8c64-e1765945efc1",
}, { "onboarding" : { "managementIpAddress" : "10.10.22.66",
"healthType" : "CONNECTED", "averageRunDuration" : null, "memorySize" : "889226872",
"reason" : "", "maxRunDuration" : null, "platformId" : "C9300-24UX",
"score" : 6 "averageAssocDuration" : null, "reachabilityFailureReason" : "",
} ], "maxAssocDuration" : null,
NOTES:
"reachabilityStatus" : "Reachable",
"hostMac" : "C8:4C:75:68:B2:C0", "averageAuthDuration" : null, "snmpContact" : "",Entity_type can be mac_address or
"snmpLocation" : "",
"hostIpV4" : "10.10.22.98", "maxAuthDuration" : null,
<cont> network_user_id
"hostIpV6" : [ ], "averageDhcpDuration" : null,
"authType" : null, "maxDhcpDuration" : null,
<cont> "aaaServerIp" : null,
"dhcpServerIp" : null,

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
Polling vs Notification
Polling (Pull) Notification (Push)

request

response subscription

30sec
request
DNA DNA
response
Center Center
Application Application
30sec
request
event response
response

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
Webhooks

SWIM Events
REST
endpoint
Assurance Issues

Today, these are scheduled internally.


However, they are published via webhook

CMDB sync

SWIM Events SNOW

Assurance Issues

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
Q&A

#CLMEL
DevNet Code Exchange

Build your
developer
cred Share
your
code

Get your code in front of the DevNet Community


developer.cisco.com/codeexchange
#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
Continue Meet Cisco Related
your the
Labs
Demos Sessions
education Expert in
WOS

#CLMel DEVWKS-2879 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 24
Complete Your Online Session Evaluation
• Give us your feedback and receive
a complimentary Cisco Live 2019
Power Bank after completing the
overall event evaluation and 5
session evaluations.
• All evaluations can be completed
via the Cisco Live Melbourne
Mobile App.
• Don’t forget: Cisco Live sessions
will be available for viewing on
demand after the event via
https://ciscolive.cisco.com/

#CLMEL © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
Thank you

#CLMel
#CLMel

You might also like