SlideShare uma empresa Scribd logo
1 de 46
AnsibleDurham
17April 2019
Joel W. King Engineering and Innovations
Network Solutions
Enabling policy migration in the Data Center with Ansible
@joelwking
@joel_w_king
@programmablenetworks/
Enabling policy migration in the Data Center with Ansible
www.slideshare.net/joelwking/
www.meetup.com/Ansible-Durham/events/260264063/
At AnsibleFest Austin 2018, we demonstrated using Ansible to
extract policy from Cisco Tetration Analytics and expose it as
variables to playbooks.
The internal World Wide Technology IT department is
migrating from a traditional Nexus fabric to Application Centric
Infrastructure (ACI).
This talk describes how Ansible is used to migrate policy to,
and automate the configuration of, the new data center fabric.
 Background and context
… a bit of history on WWT involvement with Ansible network automation
 What is?
Application Centric Infrastructure
Tetration Analytics
 Workflow
Roles and Playbooks
 Source of Truth
 Data Optimization and Enrichment
 Summary / Resources
PROFESSIONAL SERVICES
WWT ACI University – Sept 2015
AnsibleFest
Brooklyn June 2015 ACI Modules added
Ansible version 2.4
December 2017
ansible.com/cisco
AnsibleFest
Austin June 2018
Cisco
Tetration
Analytics™
ADVANCED
TECHNOLOGY
CENTER
IT OPs
Q1 2019
CODE EXCHANGE
Fourth-generation programming language (4GL) for Python
#SILICONVALLEYINSTL
Application Centric Infrastructure
Application Policy Infrastructure Controller
 Cisco’s Software Defined Data Center Fabric
 Software and Hardware tightly coupled
Nexus 9000 family of switches
(APIC) manages and configures switches
 Viewed as one big (stateless) switch
 APIC is the central repository for all config / policies
 Emphasizing ACI as ‘Automation Centric Infrastructure’
 ‘ACI Anywhere’ - including public cloud.
Application Centric Infrastructure
Ansible modules for managing Cisco ACI fabrics
Network
Configuration
and
Policy
Multi-Site
Orchestrator (MSO)
3 VM Cluster
in-band
out-of-band
github.com/ansible/community/wiki/Network:-ACI
---
apic:
username: maint
password: !vault | $ANSIBLE_VAULT;1.1;AES256 3836363862353137613630356
ansible-aci-credentials
All roles have been created using signature-based
authentication. Because automation can generate a
high volume of connections to the APIC, password-
based authentication will trigger the anti-DoS feature
introduced on ACI v3.1+, which will randomly generate
HTTP 503 errors, causing the playbook to fail.
/files/ passwords.yml
https://apic.example.net/api/mo/uni.json
universe
common small largeTenant(s)
GREEN BLUEVRF1
BD1
Private Networks
(aka VRF)
Bridge Domain
(Layer 2 )
Subnet
(aka VLAN Interface)
BD1 Servers BD1
198.51.100.1/24
192.0.2.1/24
192.0.2.1/24
198.51.100.1/24
198.51.100.1/24
 APIC is based on hierarchical object
model.
 Everything is represented as an object
 Every object can be manipulated by the
ACI_REST module.
• MOs are organized in a tree structure
called the Management Information
Tree
• MO are abstract representations of a
physical or logical entity that contain a
set of configurations and properties
Entire infrastructure operates as a single system . All infrastructure components are open for programmatic access. The GUI (APIC Web) uses same API interface as applications.
23 REP0S
ACI MODULE
ARGS PRIOR #
COMMON TO ALL
ROLES
VARIABLE
NAMES FROM MIT
 Existing ACI modules
95 ACI and ACI MultiSite modules in v2.8
 ACI_REST
direct access to the APIC API,
 APIC API is natively idempotent
distributed system, cluster of controllers
 Config / Policy definition is a tree structure
50,000 +/- managed objects
parent, child, logical bindings
ACI FABRIC
https://github.com/ansible/community/wiki/Network:-ACI
#SILICONVALLEYINSTL
Automates generation
of whitelist policy
Enabling a Zero-trust model for
application segmentation
Tetration
Tetration Appliance
(Tetration, Tetration-M)
Tetration-V
Tetration-SaaS
Apache Hadoop
Distributed File System (HDFS)
Apache Kafka
stream-processing
Google Protocol Buffers
serializing structured data
FORM FACTORS
open-source software
TECHNOLOGY
Cisco Tetration
39RU dual-rack option
[ 1/2 large form factor ]
Data Collection Layer
Cisco
Tetration
Analytics™
NETWORKING
[TELEMETRY ONLY]
Data Consumption Layer
REST API
KAFKA MESSAGE BUS
 Policy available via
Web GUI
REST API
Network Policy Publisher
 Generate policy with Tetration
 Automate ACI config with Ansible
… I can’t imagine creating fabric policies
manually, using the ACI GUI is impossible …
- Lenny Ilyashov WWT
#SILICONVALLEYINSTL
 Data center consists of approximately 1,600 servers
 Network Centric with Policy
ACI implementation - hybrid between network centric and
application centric
 Environment based migration
 Default gateways remain on legacy
APRIL
ATC
SANDBOX
Master Data Center
and Hybrid Cloud
DATA CENTER ENVIRONMENTS
DEVELOPMENT TEST PRODUCTION
TETRATION
ADM
Q1 2020
GIT
it-automation-aci
Telemetry
Network
Configuration
Policy
Tetration
LEGACY NETWORK
VISIBILITY AGENT
ACI FABRIC
Network
Policy
Configuration
DATA MANIPULATION
DATA ENRICHMENT
/it-automation-aci/
├── ansible-aci-application-profile
├── ansible-aci_automation
├── ansible-aci-automation-package
├── ansible-aci-bridgedomain
├── ansible-aci-contract-filter
├── ansible-aci-credentials
.........
├── ansible-aci-epg
├── ansible-aci-include-data
├── ansible-aci-tenant
├── ansible-aci-vrf
UTILITY AND ACI ROLES
PAGE
2 OF 2
FABRIC ACCESS
POLICY CONFIGURATION
VIRTUAL
MACHINE
MANAGERS (VMM)
INTEGRATION
PAGE
1 OF 2
TENANT SPECIFIC
CONFIGURATION
TENANT POLICY
CONFIGURATION
TETRATION
POLICY
MIGRATION
Contract Subject
(vzSubj)
Contract (vzBrCP)
Filter
(vzFilter)
Filter Entry
(vzEntry)
Bind Filter to
Contract Subject
(vzRsSubjFiltAtt)
Tenant
(fvTenant)
End Point Group
(fvAEPg)
Application Profile
(fvAP)
Bind EPGs to Contracts
(fv:RsCons, fv:RsProv)
 Deployment
repos represent
‘customer’
deployments.
 Playbooks
consume ‘utility
roles’ plus one
or more ‘ansible-
aci’ roles from
the Git
Organization
roles/requirements.yml
aci_tenant_master.yml
#SILICONVALLEYINSTL
Configuration Policy
IPAM GLOBAL
CONFIG
YAML
ENCRYPTED
CREDENTIALS
YAML
PLAYBOOK
SERVICE
TICKETING
SYSTEM
VERSION CONTROL
SOURCE OF TRUTH
NETWORK
DEPLOYMENT
ENGINEER
https://github.wwt.com/it-automation-aci/ansible-aci-include-data
MongoDB
BOOTSTRAP
EXTRA_VARS
PRE-PROCESSING
POST-PROCESSING
Configuration
 Network Engineers like spreadsheets
 Free and readily available – no training
 YAML, JSON and XML confound
non-programmers
tabular structure to hierarchical
Various Sheets for Configuration Data
EPG
(End Point Group)
BD
(Bridge Domain)
Configuration
Policy
WEB GUI
REST API
NETWORK POLICY PUBLISHER
As we document, we capture things like this:
Tetration was a big unknown when we started this a few months ago. Our thoughts on it now:
We are attempting to use Tetration as the source of truth for policy because, coupled with the automation
tools the GET team has developed, it minimizes manual effort and gives us a head start on automating the
policy creation process.
 Using scopes and workspaces in unique ways that fit our needs gives us the ability to design our own
"WWT" migration methodology.
 The flow data that Tetration collects provides a level of visibility that gives us a good starting point
from which to create policy.
 Tetration gives us the ability to export policy in a format that can be manipulated (if needed) and then
imported into ACI programmatically.
o Adding policy manually into ACI at our scale is a nearly impossible task.
 It also provides an easy to consume view of traffic flow and cross-environment communication for the
purposes of analysis and planning our migration approach.
Best regards,
Lenny Ilyashov
Policy
aci-demo.sandbox.wwtatc.local : ok=3287 changed=720 unreachable=0 failed=0
Policy TASK [Get facts from CSV file]
************************************************************************************************
ok: [localhost] => {
"ansible_facts": {
"ENTRYs": [
{
"consumer_filter_name": "Default:WWT:EPG-EXT-LGC",
"contract_name": "EPG-EXT-LGC_to_EPG-SND-PRVLIN1",
"contract_subject_name": "SUBJ-EPG-EXT-LGC_to_EPG-SND-PRVLIN1",
"ether_type": "ip",
"ports_from": "27000",
"ports_to": "27000",
"proto": "tcp",
"provider_filter_name": "EPG-SND-PRVLIN1"
},
{
"consumer_filter_name": "EPG-SND-RAZOR",
"contract_name": "EPG-SND-RAZOR_to_EPG-EXT-PRD",
"contract_subject_name": "SUBJ-EPG-SND-RAZOR_to_EPG-EXT-PRD",
"ether_type": "ip",
"ports_from": "17472",
"ports_to": "17472",
"proto": "tcp",
"provider_filter_name": "Default:WWT:EPG-EXT-PRD"
},
UPDATE_ENDUPDATE_START
Policy
>>>
print(json.dumps(parsed['imdata']['ansible_facts']['inventory_filters'][0],indent=4))
{
"query": "type=and, filter=[{type=eq, field=vrf_id, value=1},{type=eq,
field=user_org, value=wwt},{type=eq, field=user_env, value=snd},type=or,
filter=[{type=eq, field=user_epg, value=EPG-SND-KUBE2},{type=subnet, field=ip,
value=10.5.31.0/24, subnet=10.5.31.0/24},],unsafeSubnetValue=null]",
"id": "5c74b382497d4f610afd2ccb",
"inventory_items": [
{
"end_ip_addr": "10.5.31.5",
"start_ip_addr": "10.5.31.1",
"addr_family": "IPv4"
},
{
"end_ip_addr": "10.5.31.102",
"start_ip_addr": "10.5.31.100",
"addr_family": "IPv4"
},
>>> print(json.dumps(parsed['imdata']['ansible_facts']['intents'][0:2],indent=4))
[
{
"dst_port_start": 161,
"dst_port_end": 161,
"ip_protocol": "udp",
"consumer_filter_id": "5c75720c755f02668c5d8073",
"action": "ALLOW",
"provider_filter_id": "5c8c013e497d4f3ecafd2d20",
"intent_id": "f2465ad8765cf10fdbd9f0ab7a945f5b"
},
{
"dst_port_start": 22,
"dst_port_end": 22,
"ip_protocol": "tcp",
"consumer_filter_id": "5c75718f497d4f0eb2fd2cd7",
"action": "ALLOW",
"provider_filter_id": "5c8c013e497d4f3ecafd2d20",
"intent_id": "456a23f0d3eca1ca6262319170b96ce5"
}
]
#SILICONVALLEYINSTL
 Configuration Data
Converting tabular data to a hierarchical structure
 Policy Data
Associating the generated policy (contract) with the
appropriate ACI managed objects
(Tenant, Application Profile, EPG) Tetration
./csv_to_mongo.yml -e filename="/it-automation-aci/TEST_DATA/aci_constructs_policies_3.csv" --skip-tags "mongo"
tasks:
- name: Get facts from CSV file
csv_to_facts:
src: '{{ filename }}'
table: spreadsheet
vsheets:
- VRFs:
- VRF
- Tenant
- TENANTs:
- Tenant
- APs:
- Tenant
- AppProfile
- debug:
msg: '{{ TENANTs }}'
TASK [debug]
******************************************************************************************************************
ok: [localhost] => {}
MSG:
[{u'Tenant': u'WWT-INT'}, {u'Tenant': u'WWT-DMZ'}, {u'Tenant': u'WWT_NULL'}]
UNIQUE (SET) OF
TENANTS
PRESENT IN THE
SPREADSHEET
CSV FILE FROM
EXCEL
VIRTUAL SPREADSHEET
https://github.com/joelwking/ansible-nxapi/blob/master/csv_to_facts.py
I want to be able to parse two
datasets to optimize the creation
and deletion of objects. For the
creation of new objects, I only
want to send the call to create
the object for objects that do not
already exist.
For the deletion, I want to delete
objects that are no longer
required.
 Most Network Engineers are not familiar with data serialization
formats – will need good examples | documentation
 Don’t clutter playbooks with conditionals validating data format
 While ACI is idempotent, optimize data for efficiency, memory,
total execution time
 Create a process flow to identify sources and sinks of data and
tasks within playbooks
#SILICONVALLEYINSTL
 Team approach
Software repository | Ansible roles are a means to an end
Requires a team of engineers with complementary skills
 Data Analysis: Managing and manipulating data
Generating fabric policies are iterative,
time consuming
 Automation is a requirement, not an option.
… I can’t imagine creating fabric policies manually, using the
ACI GUI is impossible … - Lenny Ilyashov WWT
#SILICONVALLEYINSTL
 AnsibleFest 2018: Using Ansible Tower to implement security policies and
telemetry streaming for hybrid clouds
https://www.ansible.com/using-ansible-tower-to-implement-security-policies-
telemetry-streaming
 Cisco Code Exchange
https://developer.cisco.com/codeexchange/#search=tetration
 Using Tetration for Application Security and Policy Enforcement
https://blogs.cisco.com/developer/tetration-for-security
 Coders and developers: The new heroes of the network?
https://www.computerweekly.com/news/252457087/Coders-and-developers-the-
new-heroes-of-the-network
 Analytics for Application Security and Policy Enforcement in Cloud Managed
Networks
https://developer.cisco.com/devnetcreate/2019/agenda
Migrate Network Policy to ACI Fabric with Ansible

Mais conteúdo relacionado

Mais procurados

From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...Joel W. King
 
DevNet Study Group: Using a SDK
DevNet Study Group: Using a SDKDevNet Study Group: Using a SDK
DevNet Study Group: Using a SDKJoel W. King
 
API 102: Programming with Meraki APIs
API 102: Programming with Meraki APIsAPI 102: Programming with Meraki APIs
API 102: Programming with Meraki APIsJoel W. King
 
Integrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementIntegrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementJoel W. King
 
Learn To Think Like A Computer Scientist
Learn To Think Like A Computer ScientistLearn To Think Like A Computer Scientist
Learn To Think Like A Computer ScientistJoel W. King
 
Goodbye CLI, hello API: Leveraging network programmability in security incid...
Goodbye CLI, hello API:  Leveraging network programmability in security incid...Goodbye CLI, hello API:  Leveraging network programmability in security incid...
Goodbye CLI, hello API: Leveraging network programmability in security incid...Joel W. King
 
$10,000 Phantom App & Playbook Contest - F5 and Cisco Meraki
$10,000 Phantom App & Playbook Contest - F5 and Cisco Meraki$10,000 Phantom App & Playbook Contest - F5 and Cisco Meraki
$10,000 Phantom App & Playbook Contest - F5 and Cisco MerakiJoel W. King
 
(SACON) Madhu Akula - Automated Defense Using Cloud Service Aws, Azure, Gcp
(SACON) Madhu Akula  - Automated Defense Using Cloud Service Aws, Azure, Gcp(SACON) Madhu Akula  - Automated Defense Using Cloud Service Aws, Azure, Gcp
(SACON) Madhu Akula - Automated Defense Using Cloud Service Aws, Azure, GcpPriyanka Aash
 
StackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite Talk
StackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite TalkStackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite Talk
StackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite TalkStackStorm
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationHank Preston
 
Monitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack CloudsMonitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack CloudsPLUMgrid
 
Using Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep diveUsing Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep diveCisco DevNet
 
Opentelemetry - From frontend to backend
Opentelemetry - From frontend to backendOpentelemetry - From frontend to backend
Opentelemetry - From frontend to backendSebastian Poxhofer
 
IoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache CamelIoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache CamelHenryk Konsek
 
Hands-on Lab: Test Drive Your OpenStack Network
Hands-on Lab: Test Drive Your OpenStack NetworkHands-on Lab: Test Drive Your OpenStack Network
Hands-on Lab: Test Drive Your OpenStack NetworkPLUMgrid
 
Getting started with OpenStack
Getting started with OpenStackGetting started with OpenStack
Getting started with OpenStackKnoldus Inc.
 
Delivering Composable NFV Services for Business, Residential and Mobile Edge
Delivering Composable NFV Services for Business, Residential and Mobile EdgeDelivering Composable NFV Services for Business, Residential and Mobile Edge
Delivering Composable NFV Services for Business, Residential and Mobile EdgePLUMgrid
 
Policy as code what helm developers need to know about security
Policy as code  what helm developers need to know about securityPolicy as code  what helm developers need to know about security
Policy as code what helm developers need to know about securityLibbySchulze
 
See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...
See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...
See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...PLUMgrid
 
NetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO ConfigurationsNetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO ConfigurationsHank Preston
 

Mais procurados (20)

From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
 
DevNet Study Group: Using a SDK
DevNet Study Group: Using a SDKDevNet Study Group: Using a SDK
DevNet Study Group: Using a SDK
 
API 102: Programming with Meraki APIs
API 102: Programming with Meraki APIsAPI 102: Programming with Meraki APIs
API 102: Programming with Meraki APIs
 
Integrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementIntegrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud management
 
Learn To Think Like A Computer Scientist
Learn To Think Like A Computer ScientistLearn To Think Like A Computer Scientist
Learn To Think Like A Computer Scientist
 
Goodbye CLI, hello API: Leveraging network programmability in security incid...
Goodbye CLI, hello API:  Leveraging network programmability in security incid...Goodbye CLI, hello API:  Leveraging network programmability in security incid...
Goodbye CLI, hello API: Leveraging network programmability in security incid...
 
$10,000 Phantom App & Playbook Contest - F5 and Cisco Meraki
$10,000 Phantom App & Playbook Contest - F5 and Cisco Meraki$10,000 Phantom App & Playbook Contest - F5 and Cisco Meraki
$10,000 Phantom App & Playbook Contest - F5 and Cisco Meraki
 
(SACON) Madhu Akula - Automated Defense Using Cloud Service Aws, Azure, Gcp
(SACON) Madhu Akula  - Automated Defense Using Cloud Service Aws, Azure, Gcp(SACON) Madhu Akula  - Automated Defense Using Cloud Service Aws, Azure, Gcp
(SACON) Madhu Akula - Automated Defense Using Cloud Service Aws, Azure, Gcp
 
StackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite Talk
StackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite TalkStackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite Talk
StackStorm Product Highlights - DevOps Enterprise 2014 After-Party Ignite Talk
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Monitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack CloudsMonitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack Clouds
 
Using Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep diveUsing Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep dive
 
Opentelemetry - From frontend to backend
Opentelemetry - From frontend to backendOpentelemetry - From frontend to backend
Opentelemetry - From frontend to backend
 
IoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache CamelIoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache Camel
 
Hands-on Lab: Test Drive Your OpenStack Network
Hands-on Lab: Test Drive Your OpenStack NetworkHands-on Lab: Test Drive Your OpenStack Network
Hands-on Lab: Test Drive Your OpenStack Network
 
Getting started with OpenStack
Getting started with OpenStackGetting started with OpenStack
Getting started with OpenStack
 
Delivering Composable NFV Services for Business, Residential and Mobile Edge
Delivering Composable NFV Services for Business, Residential and Mobile EdgeDelivering Composable NFV Services for Business, Residential and Mobile Edge
Delivering Composable NFV Services for Business, Residential and Mobile Edge
 
Policy as code what helm developers need to know about security
Policy as code  what helm developers need to know about securityPolicy as code  what helm developers need to know about security
Policy as code what helm developers need to know about security
 
See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...
See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...
See Your OpenStack Network Like Never Before with Real-time Visibility and Mo...
 
NetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO ConfigurationsNetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO Configurations
 

Semelhante a Migrate Network Policy to ACI Fabric with Ansible

StampedeCon 2015 Keynote
StampedeCon 2015 KeynoteStampedeCon 2015 Keynote
StampedeCon 2015 KeynoteKen Owens
 
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015StampedeCon
 
Application Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centreApplication Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centreCisco Canada
 
Cisco and F5 accelerate Application Delivery
Cisco and F5 accelerate Application DeliveryCisco and F5 accelerate Application Delivery
Cisco and F5 accelerate Application DeliveryShashi Kiran
 
Building The Right Network
Building The Right NetworkBuilding The Right Network
Building The Right NetworkCisco Canada
 
Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...
Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...
Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...Joel W. King
 
Reducing Cost with DNA Automation
Reducing Cost with DNA AutomationReducing Cost with DNA Automation
Reducing Cost with DNA AutomationCisco Canada
 
Cisco Centro de Datos de proxima generación, Cisco Data Center Nex Generation
Cisco Centro de Datos de proxima generación, Cisco Data Center Nex GenerationCisco Centro de Datos de proxima generación, Cisco Data Center Nex Generation
Cisco Centro de Datos de proxima generación, Cisco Data Center Nex GenerationSuministros Obras y Sistemas
 
Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr Cisco Canada
 
Cisco connect winnipeg 2018 simple it leads to simple it management
Cisco connect winnipeg 2018   simple it leads to simple it managementCisco connect winnipeg 2018   simple it leads to simple it management
Cisco connect winnipeg 2018 simple it leads to simple it managementCisco Canada
 
Cisco Connect 2018 Singapore - Cisco Software Defined Access
Cisco Connect 2018 Singapore - Cisco Software Defined AccessCisco Connect 2018 Singapore - Cisco Software Defined Access
Cisco Connect 2018 Singapore - Cisco Software Defined AccessNetworkCollaborators
 
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...Cisco Canada
 
Cisco Connect 2018 Indonesia - software-defined access-a transformational ap...
Cisco Connect 2018 Indonesia -  software-defined access-a transformational ap...Cisco Connect 2018 Indonesia -  software-defined access-a transformational ap...
Cisco Connect 2018 Indonesia - software-defined access-a transformational ap...NetworkCollaborators
 
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on AzureMigrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on AzureMitchell Pronschinske
 
Istio Service Mesh
Istio Service MeshIstio Service Mesh
Istio Service MeshLew Tucker
 
SDN in the Enterprise: APIC Enterprise Module
SDN in the Enterprise:  APIC Enterprise Module SDN in the Enterprise:  APIC Enterprise Module
SDN in the Enterprise: APIC Enterprise Module Cisco Canada
 
Three Innovations that Define a “Next-Generation Global Transit Hub”
Three Innovations that Define a “Next-Generation Global Transit Hub”Three Innovations that Define a “Next-Generation Global Transit Hub”
Three Innovations that Define a “Next-Generation Global Transit Hub”Khash Nakhostin
 
OpenStack and the Future of Application Centric Infrastructure
OpenStack and the Future of Application Centric InfrastructureOpenStack and the Future of Application Centric Infrastructure
OpenStack and the Future of Application Centric InfrastructureLew Tucker
 

Semelhante a Migrate Network Policy to ACI Fabric with Ansible (20)

StampedeCon 2015 Keynote
StampedeCon 2015 KeynoteStampedeCon 2015 Keynote
StampedeCon 2015 Keynote
 
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
 
Application Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centreApplication Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centre
 
Cisco and F5 accelerate Application Delivery
Cisco and F5 accelerate Application DeliveryCisco and F5 accelerate Application Delivery
Cisco and F5 accelerate Application Delivery
 
Cisco APIC AAG
Cisco APIC AAGCisco APIC AAG
Cisco APIC AAG
 
Building The Right Network
Building The Right NetworkBuilding The Right Network
Building The Right Network
 
Cisco project ideas
Cisco   project ideasCisco   project ideas
Cisco project ideas
 
Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...
Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...
Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Cent...
 
Reducing Cost with DNA Automation
Reducing Cost with DNA AutomationReducing Cost with DNA Automation
Reducing Cost with DNA Automation
 
Cisco Centro de Datos de proxima generación, Cisco Data Center Nex Generation
Cisco Centro de Datos de proxima generación, Cisco Data Center Nex GenerationCisco Centro de Datos de proxima generación, Cisco Data Center Nex Generation
Cisco Centro de Datos de proxima generación, Cisco Data Center Nex Generation
 
Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr
 
Cisco connect winnipeg 2018 simple it leads to simple it management
Cisco connect winnipeg 2018   simple it leads to simple it managementCisco connect winnipeg 2018   simple it leads to simple it management
Cisco connect winnipeg 2018 simple it leads to simple it management
 
Cisco Connect 2018 Singapore - Cisco Software Defined Access
Cisco Connect 2018 Singapore - Cisco Software Defined AccessCisco Connect 2018 Singapore - Cisco Software Defined Access
Cisco Connect 2018 Singapore - Cisco Software Defined Access
 
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...
 
Cisco Connect 2018 Indonesia - software-defined access-a transformational ap...
Cisco Connect 2018 Indonesia -  software-defined access-a transformational ap...Cisco Connect 2018 Indonesia -  software-defined access-a transformational ap...
Cisco Connect 2018 Indonesia - software-defined access-a transformational ap...
 
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on AzureMigrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
 
Istio Service Mesh
Istio Service MeshIstio Service Mesh
Istio Service Mesh
 
SDN in the Enterprise: APIC Enterprise Module
SDN in the Enterprise:  APIC Enterprise Module SDN in the Enterprise:  APIC Enterprise Module
SDN in the Enterprise: APIC Enterprise Module
 
Three Innovations that Define a “Next-Generation Global Transit Hub”
Three Innovations that Define a “Next-Generation Global Transit Hub”Three Innovations that Define a “Next-Generation Global Transit Hub”
Three Innovations that Define a “Next-Generation Global Transit Hub”
 
OpenStack and the Future of Application Centric Infrastructure
OpenStack and the Future of Application Centric InfrastructureOpenStack and the Future of Application Centric Infrastructure
OpenStack and the Future of Application Centric Infrastructure
 

Mais de Joel W. King

DevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptxDevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptxJoel W. King
 
BRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptxBRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptxJoel W. King
 
Introduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSIntroduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSJoel W. King
 
NetDevOps Development Environments
NetDevOps Development EnvironmentsNetDevOps Development Environments
NetDevOps Development EnvironmentsJoel W. King
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introductionJoel W. King
 
Using Batfish for Network Analysis
Using Batfish for Network AnalysisUsing Batfish for Network Analysis
Using Batfish for Network AnalysisJoel W. King
 
Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.Joel W. King
 
Cisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideCisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideJoel W. King
 
Business Ready Teleworker Design Guide
Business Ready Teleworker Design GuideBusiness Ready Teleworker Design Guide
Business Ready Teleworker Design GuideJoel W. King
 
Data manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleData manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleJoel W. King
 
Foray into Ansible Content Collections
Foray into Ansible Content CollectionsForay into Ansible Content Collections
Foray into Ansible Content CollectionsJoel W. King
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Joel W. King
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network EngineersJoel W. King
 
Phantom app: Ansible Tower
Phantom app:  Ansible TowerPhantom app:  Ansible Tower
Phantom app: Ansible TowerJoel W. King
 

Mais de Joel W. King (15)

DevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptxDevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptx
 
BRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptxBRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptx
 
Introduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSIntroduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOS
 
NetDevOps Development Environments
NetDevOps Development EnvironmentsNetDevOps Development Environments
NetDevOps Development Environments
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
 
Using Batfish for Network Analysis
Using Batfish for Network AnalysisUsing Batfish for Network Analysis
Using Batfish for Network Analysis
 
Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.
 
Cisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideCisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design Guide
 
Business Ready Teleworker Design Guide
Business Ready Teleworker Design GuideBusiness Ready Teleworker Design Guide
Business Ready Teleworker Design Guide
 
Data manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleData manipulation for configuration management using Ansible
Data manipulation for configuration management using Ansible
 
Foray into Ansible Content Collections
Foray into Ansible Content CollectionsForay into Ansible Content Collections
Foray into Ansible Content Collections
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
What is Code?
What is Code?What is Code?
What is Code?
 
Phantom app: Ansible Tower
Phantom app:  Ansible TowerPhantom app:  Ansible Tower
Phantom app: Ansible Tower
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Último (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Migrate Network Policy to ACI Fabric with Ansible

  • 1. AnsibleDurham 17April 2019 Joel W. King Engineering and Innovations Network Solutions Enabling policy migration in the Data Center with Ansible
  • 2. @joelwking @joel_w_king @programmablenetworks/ Enabling policy migration in the Data Center with Ansible www.slideshare.net/joelwking/ www.meetup.com/Ansible-Durham/events/260264063/
  • 3. At AnsibleFest Austin 2018, we demonstrated using Ansible to extract policy from Cisco Tetration Analytics and expose it as variables to playbooks. The internal World Wide Technology IT department is migrating from a traditional Nexus fabric to Application Centric Infrastructure (ACI). This talk describes how Ansible is used to migrate policy to, and automate the configuration of, the new data center fabric.
  • 4.  Background and context … a bit of history on WWT involvement with Ansible network automation  What is? Application Centric Infrastructure Tetration Analytics  Workflow Roles and Playbooks  Source of Truth  Data Optimization and Enrichment  Summary / Resources
  • 5. PROFESSIONAL SERVICES WWT ACI University – Sept 2015 AnsibleFest Brooklyn June 2015 ACI Modules added Ansible version 2.4 December 2017 ansible.com/cisco AnsibleFest Austin June 2018 Cisco Tetration Analytics™ ADVANCED TECHNOLOGY CENTER IT OPs Q1 2019 CODE EXCHANGE
  • 8. Application Centric Infrastructure Application Policy Infrastructure Controller  Cisco’s Software Defined Data Center Fabric  Software and Hardware tightly coupled Nexus 9000 family of switches (APIC) manages and configures switches  Viewed as one big (stateless) switch  APIC is the central repository for all config / policies  Emphasizing ACI as ‘Automation Centric Infrastructure’  ‘ACI Anywhere’ - including public cloud.
  • 9. Application Centric Infrastructure Ansible modules for managing Cisco ACI fabrics Network Configuration and Policy Multi-Site Orchestrator (MSO) 3 VM Cluster in-band out-of-band github.com/ansible/community/wiki/Network:-ACI
  • 10. --- apic: username: maint password: !vault | $ANSIBLE_VAULT;1.1;AES256 3836363862353137613630356 ansible-aci-credentials All roles have been created using signature-based authentication. Because automation can generate a high volume of connections to the APIC, password- based authentication will trigger the anti-DoS feature introduced on ACI v3.1+, which will randomly generate HTTP 503 errors, causing the playbook to fail. /files/ passwords.yml
  • 11. https://apic.example.net/api/mo/uni.json universe common small largeTenant(s) GREEN BLUEVRF1 BD1 Private Networks (aka VRF) Bridge Domain (Layer 2 ) Subnet (aka VLAN Interface) BD1 Servers BD1 198.51.100.1/24 192.0.2.1/24 192.0.2.1/24 198.51.100.1/24 198.51.100.1/24  APIC is based on hierarchical object model.  Everything is represented as an object  Every object can be manipulated by the ACI_REST module. • MOs are organized in a tree structure called the Management Information Tree • MO are abstract representations of a physical or logical entity that contain a set of configurations and properties Entire infrastructure operates as a single system . All infrastructure components are open for programmatic access. The GUI (APIC Web) uses same API interface as applications.
  • 12. 23 REP0S ACI MODULE ARGS PRIOR # COMMON TO ALL ROLES VARIABLE NAMES FROM MIT
  • 13.  Existing ACI modules 95 ACI and ACI MultiSite modules in v2.8  ACI_REST direct access to the APIC API,  APIC API is natively idempotent distributed system, cluster of controllers  Config / Policy definition is a tree structure 50,000 +/- managed objects parent, child, logical bindings ACI FABRIC https://github.com/ansible/community/wiki/Network:-ACI
  • 15. Automates generation of whitelist policy Enabling a Zero-trust model for application segmentation Tetration Tetration Appliance (Tetration, Tetration-M) Tetration-V Tetration-SaaS Apache Hadoop Distributed File System (HDFS) Apache Kafka stream-processing Google Protocol Buffers serializing structured data FORM FACTORS open-source software TECHNOLOGY
  • 16. Cisco Tetration 39RU dual-rack option [ 1/2 large form factor ] Data Collection Layer Cisco Tetration Analytics™ NETWORKING [TELEMETRY ONLY] Data Consumption Layer REST API KAFKA MESSAGE BUS
  • 17.  Policy available via Web GUI REST API Network Policy Publisher  Generate policy with Tetration  Automate ACI config with Ansible … I can’t imagine creating fabric policies manually, using the ACI GUI is impossible … - Lenny Ilyashov WWT
  • 19.  Data center consists of approximately 1,600 servers  Network Centric with Policy ACI implementation - hybrid between network centric and application centric  Environment based migration  Default gateways remain on legacy APRIL ATC SANDBOX Master Data Center and Hybrid Cloud DATA CENTER ENVIRONMENTS DEVELOPMENT TEST PRODUCTION TETRATION ADM Q1 2020 GIT it-automation-aci
  • 20. Telemetry Network Configuration Policy Tetration LEGACY NETWORK VISIBILITY AGENT ACI FABRIC Network Policy Configuration DATA MANIPULATION DATA ENRICHMENT /it-automation-aci/ ├── ansible-aci-application-profile ├── ansible-aci_automation ├── ansible-aci-automation-package ├── ansible-aci-bridgedomain ├── ansible-aci-contract-filter ├── ansible-aci-credentials ......... ├── ansible-aci-epg ├── ansible-aci-include-data ├── ansible-aci-tenant ├── ansible-aci-vrf UTILITY AND ACI ROLES
  • 21. PAGE 2 OF 2 FABRIC ACCESS POLICY CONFIGURATION VIRTUAL MACHINE MANAGERS (VMM) INTEGRATION
  • 22. PAGE 1 OF 2 TENANT SPECIFIC CONFIGURATION TENANT POLICY CONFIGURATION TETRATION POLICY MIGRATION
  • 23. Contract Subject (vzSubj) Contract (vzBrCP) Filter (vzFilter) Filter Entry (vzEntry) Bind Filter to Contract Subject (vzRsSubjFiltAtt) Tenant (fvTenant) End Point Group (fvAEPg) Application Profile (fvAP) Bind EPGs to Contracts (fv:RsCons, fv:RsProv)
  • 24.  Deployment repos represent ‘customer’ deployments.  Playbooks consume ‘utility roles’ plus one or more ‘ansible- aci’ roles from the Git Organization roles/requirements.yml aci_tenant_master.yml
  • 27. IPAM GLOBAL CONFIG YAML ENCRYPTED CREDENTIALS YAML PLAYBOOK SERVICE TICKETING SYSTEM VERSION CONTROL SOURCE OF TRUTH NETWORK DEPLOYMENT ENGINEER https://github.wwt.com/it-automation-aci/ansible-aci-include-data MongoDB BOOTSTRAP EXTRA_VARS PRE-PROCESSING POST-PROCESSING
  • 28. Configuration  Network Engineers like spreadsheets  Free and readily available – no training  YAML, JSON and XML confound non-programmers tabular structure to hierarchical
  • 29. Various Sheets for Configuration Data EPG (End Point Group) BD (Bridge Domain) Configuration
  • 31. As we document, we capture things like this: Tetration was a big unknown when we started this a few months ago. Our thoughts on it now: We are attempting to use Tetration as the source of truth for policy because, coupled with the automation tools the GET team has developed, it minimizes manual effort and gives us a head start on automating the policy creation process.  Using scopes and workspaces in unique ways that fit our needs gives us the ability to design our own "WWT" migration methodology.  The flow data that Tetration collects provides a level of visibility that gives us a good starting point from which to create policy.  Tetration gives us the ability to export policy in a format that can be manipulated (if needed) and then imported into ACI programmatically. o Adding policy manually into ACI at our scale is a nearly impossible task.  It also provides an easy to consume view of traffic flow and cross-environment communication for the purposes of analysis and planning our migration approach. Best regards, Lenny Ilyashov Policy
  • 32. aci-demo.sandbox.wwtatc.local : ok=3287 changed=720 unreachable=0 failed=0
  • 33. Policy TASK [Get facts from CSV file] ************************************************************************************************ ok: [localhost] => { "ansible_facts": { "ENTRYs": [ { "consumer_filter_name": "Default:WWT:EPG-EXT-LGC", "contract_name": "EPG-EXT-LGC_to_EPG-SND-PRVLIN1", "contract_subject_name": "SUBJ-EPG-EXT-LGC_to_EPG-SND-PRVLIN1", "ether_type": "ip", "ports_from": "27000", "ports_to": "27000", "proto": "tcp", "provider_filter_name": "EPG-SND-PRVLIN1" }, { "consumer_filter_name": "EPG-SND-RAZOR", "contract_name": "EPG-SND-RAZOR_to_EPG-EXT-PRD", "contract_subject_name": "SUBJ-EPG-SND-RAZOR_to_EPG-EXT-PRD", "ether_type": "ip", "ports_from": "17472", "ports_to": "17472", "proto": "tcp", "provider_filter_name": "Default:WWT:EPG-EXT-PRD" },
  • 35. Policy >>> print(json.dumps(parsed['imdata']['ansible_facts']['inventory_filters'][0],indent=4)) { "query": "type=and, filter=[{type=eq, field=vrf_id, value=1},{type=eq, field=user_org, value=wwt},{type=eq, field=user_env, value=snd},type=or, filter=[{type=eq, field=user_epg, value=EPG-SND-KUBE2},{type=subnet, field=ip, value=10.5.31.0/24, subnet=10.5.31.0/24},],unsafeSubnetValue=null]", "id": "5c74b382497d4f610afd2ccb", "inventory_items": [ { "end_ip_addr": "10.5.31.5", "start_ip_addr": "10.5.31.1", "addr_family": "IPv4" }, { "end_ip_addr": "10.5.31.102", "start_ip_addr": "10.5.31.100", "addr_family": "IPv4" }, >>> print(json.dumps(parsed['imdata']['ansible_facts']['intents'][0:2],indent=4)) [ { "dst_port_start": 161, "dst_port_end": 161, "ip_protocol": "udp", "consumer_filter_id": "5c75720c755f02668c5d8073", "action": "ALLOW", "provider_filter_id": "5c8c013e497d4f3ecafd2d20", "intent_id": "f2465ad8765cf10fdbd9f0ab7a945f5b" }, { "dst_port_start": 22, "dst_port_end": 22, "ip_protocol": "tcp", "consumer_filter_id": "5c75718f497d4f0eb2fd2cd7", "action": "ALLOW", "provider_filter_id": "5c8c013e497d4f3ecafd2d20", "intent_id": "456a23f0d3eca1ca6262319170b96ce5" } ]
  • 37.  Configuration Data Converting tabular data to a hierarchical structure  Policy Data Associating the generated policy (contract) with the appropriate ACI managed objects (Tenant, Application Profile, EPG) Tetration
  • 38. ./csv_to_mongo.yml -e filename="/it-automation-aci/TEST_DATA/aci_constructs_policies_3.csv" --skip-tags "mongo" tasks: - name: Get facts from CSV file csv_to_facts: src: '{{ filename }}' table: spreadsheet vsheets: - VRFs: - VRF - Tenant - TENANTs: - Tenant - APs: - Tenant - AppProfile - debug: msg: '{{ TENANTs }}' TASK [debug] ****************************************************************************************************************** ok: [localhost] => {} MSG: [{u'Tenant': u'WWT-INT'}, {u'Tenant': u'WWT-DMZ'}, {u'Tenant': u'WWT_NULL'}] UNIQUE (SET) OF TENANTS PRESENT IN THE SPREADSHEET CSV FILE FROM EXCEL VIRTUAL SPREADSHEET https://github.com/joelwking/ansible-nxapi/blob/master/csv_to_facts.py
  • 39. I want to be able to parse two datasets to optimize the creation and deletion of objects. For the creation of new objects, I only want to send the call to create the object for objects that do not already exist. For the deletion, I want to delete objects that are no longer required.
  • 40.
  • 41.  Most Network Engineers are not familiar with data serialization formats – will need good examples | documentation  Don’t clutter playbooks with conditionals validating data format  While ACI is idempotent, optimize data for efficiency, memory, total execution time  Create a process flow to identify sources and sinks of data and tasks within playbooks
  • 43.  Team approach Software repository | Ansible roles are a means to an end Requires a team of engineers with complementary skills  Data Analysis: Managing and manipulating data Generating fabric policies are iterative, time consuming  Automation is a requirement, not an option. … I can’t imagine creating fabric policies manually, using the ACI GUI is impossible … - Lenny Ilyashov WWT
  • 45.  AnsibleFest 2018: Using Ansible Tower to implement security policies and telemetry streaming for hybrid clouds https://www.ansible.com/using-ansible-tower-to-implement-security-policies- telemetry-streaming  Cisco Code Exchange https://developer.cisco.com/codeexchange/#search=tetration  Using Tetration for Application Security and Policy Enforcement https://blogs.cisco.com/developer/tetration-for-security  Coders and developers: The new heroes of the network? https://www.computerweekly.com/news/252457087/Coders-and-developers-the- new-heroes-of-the-network  Analytics for Application Security and Policy Enforcement in Cloud Managed Networks https://developer.cisco.com/devnetcreate/2019/agenda

Notas do Editor

  1. Dec 13, 2017 - In the latest Ansible release (version 2.4), thirty-two (32) Cisco ACI modules were added to Ansible core.
  2. https://rednectar.net/2015/09/21/cisco-aci-tutorial-2-goodbye-to-vlans-well-not-quite/
  3. https://www.cisco.com/c/en/us/products/collateral/data-center-analytics/tetration-analytics/white-paper-c11-738477.html
  4. POD2
  5. With apologies to Michael Schmalz and O'Reilly Media.
  6. With apologies to Michael Schmalz and O'Reilly Media.
  7. ./csv_to_mongo.yml -e filename="/it-automation-aci/TEST_DATA/SAND_Migration-v7-policies.json.csv" --skip-tags 'mongo' -v
  8. https://en.wikipedia.org/wiki/Unified_Modeling_Language
  9. http://mazamascience.com/WorkingWithData/?p=254
  10. administrator@flint:~/ansible/playbooks$ grep ',WWT-INT,' /it-automation-aci/TEST_DATA/aci_constructs_policies_3.csv | wc 98 98 10628
  11. https://github.wwt.com/it-automation-aci/ansible-aci-automation-package/blob/master/development/Optimizing%20Datasets%20Natively%20in%20Ansible.md