Cisco OperatingApplicationCentricInfrastructure
Cisco OperatingApplicationCentricInfrastructure
Cisco OperatingApplicationCentricInfrastructure
Application Centric
Infrastructure
Operating Cisco
Application Centric
Infrastructure
Copyright
Op
er
at
ing Cisco Ap
pli
ca
tion Cen
tric In
fra
struc
ture
Ale
jan
dra Sanchez, An
dres Vega, Arvind Chari, Carly Stoughton, Christo
pher Stokes,
Gabriel Fontenot, Jonathan Cor
nell, Ken Fee, Kevin Corbin, Lau
ren Mal
hoit, Loy Evans,
Lu
cien Avramov, Paul Lesiak, Rafael Muller, Robert Burns. Steven Lym
Copy
right 2015 Cisco Sys
tems, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
agreed to in writing, software distributed under the License is distributed on an "AS IS"
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing permissions and
limitations under the License.
Cisco Press logo is a trade
mark of Cisco Sys
tems, Inc.
Pri
vately pub
lished by Cisco Sys
tems, Inc.
Feed
back In
for
ma
tion
Read
ers feed
back is a nat
ural con
tin
ua
t
ion of this process. If you have any com
ments
re
gard
ing how we could im
prove the qual
ity of this book, or oth
er
wise alter it to bet
ter
suit your needs, you can contact
us through email at ops-booksprint@
cisco.
com .
Contents
. . . . . Prologue
........................................................................
. . . . . Abstract
...................................................................
. . . . . Authors
...................................................................
. . . . . Book
. . . . . Writing
. . . . . . . .Methodology
......................................................
. . . . . Hardware
. . . . . . . . . .and
. . . .Software
. . . . . . . . .Included
. . . . . . . . in
. . the
. . . .Book
..............................
. . . . . Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . The
. . . . Story
. . . . . .of
. . ACME
. . . . . . Inc.
.................................................
13
. . . . . The
. . . . Why,
. . . . . .Who,
. . . . .What,
. . . . . .When
. . . . . .and
. . . .How
....................................
15
. . . . . Management
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
. . . . . APIC
. . . . . Overview
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
. . . . . Configuring
. . . . . . . . . . . .Management
. . . . . . . . . . . . Protocols
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. . . . . Role-Based
. . . . . . . . . . . Access
. . . . . . .Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
. . . . . Import
. . . . . . . and
. . . . Export
. . . . . . .Policies
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
. . . . . Upgrading
. . . . . . . . . . .and
. . . Downgrading
. . . . . . . . . . . . . Firmware
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . Section
. . . . . . . .Content
...........................................................
51
. . . . . Firmware
. . . . . . . . . .Management
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
. . . . . Upgrading
. . . . . . . . . . .and
. . . Downgrading
. . . . . . . . . . . . . Considerations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
. . . . . Upgrading
. . . . . . . . . . .the
. . . Fabric
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
. . . . . Fabric
. . . . . . .Connectivity
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
. . . . . Section
. . . . . . . .Content
...........................................................
71
. . . . . Understanding
. . . . . . . . . . . . . . .Fabric
. . . . . .Policies
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
. . . . . Adding
. . . . . . . New
. . . . .Devices
. . . . . . . .to
. .the
. . . .Fabric
.........................................
81
. . . . . Server
. . . . . . .Connectivity
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . Virtual
. . . . . . . Machine
. . . . . . . . Networking
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. . . . . Deploying
. . . . . . . . . . the
. . . .Application
. . . . . . . . . . .Virtual
. . . . . . Switch
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
. . . . . External
. . . . . . . . .Connectivity
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
. . . . . Application
. . . . . . . . . . . Migration
. . . . . . . . . .Use
. . . .Case
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
. . . . . Tenants
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
. . . . . ACI
. . . . Tenancy
. . . . . . . . .Models
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
. . . . . Application
. . . . . . . . . . . Profile
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
. . . . . Endpoint
. . . . . . . . . Group
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
. . . . . Endpoint
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
. . . . . Private
. . . . . . . Network
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
. . . . . Bridge
. . . . . . .Domain
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
. . . . . Tenant
. . . . . . . Networking
. . . . . . . . . . . .Use
. . . .Cases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
. . . . . Working
. . . . . . . . .with
. . . . Contracts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
. . . . . Contracts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
. . . . . Filters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
. . . . . Taboo
. . . . . . .Contracts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
. . . . . Inter-Tenant
. . . . . . . . . . . . .Contracts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
. . . . . Contracts
. . . . . . . . . .Use
. . . .Cases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
. . . . . Layer
. . . . . .4. .to
. .Layer
. . . . . .7. Services
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
. . . . . Understanding
. . . . . . . . . . . . . . .Layer
. . . . . 4. .to
. . Layer
. . . . . .7. Integration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
. . . . . Services
. . . . . . . . .Deployment
. . . . . . . . . . . Guide
. . . . . . Reference
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
. . . . . Service
. . . . . . . .Graph
. . . . . .Monitoring
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
. . . . . ASAv
. . . . . Sample
. . . . . . . .Configuration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
. . . . . Health
. . . . . . .Scores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
. . . . . Understanding
. . . . . . . . . . . . . . .Health
. . . . . . Scores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
. . . . . Understanding
. . . . . . . . . . . . . . .Faults
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
. . . . . How
. . . . . Health
. . . . . . .Scores
. . . . . . Are
. . . . Calculated
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
. . . . . Health
. . . . . . .Score
. . . . . .Use
. . . .Cases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
. . . . . Monitoring
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
. . . . . Proactive
. . . . . . . . . .Monitoring
. . . . . . . . . . -. .Tenant
. . . . . . .and
. . . .Fabric
. . . . . .Policies
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
. . . . . Proactive
. . . . . . . . . .Monitoring
. . . . . . . . . . -. .Infrastructure
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
. . . . . Proactive
. . . . . . . . . .Monitoring
. . . . . . . . . . Use
. . . . Cases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
. . . . . Reactive
. . . . . . . . .Monitoring
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
. . . . . Reactive
. . . . . . . . .Monitoring
. . . . . . . . . . Tools
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
. . . . . Reactive
. . . . . . . . .Monitoring
. . . . . . . . . . Use
. . . . Cases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
. . . . . Scripting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .349
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
. . . . . Leveraging
. . . . . . . . . . .Network
. . . . . . . . Programmability
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
. . . . . ACI
. . . . and
. . . . Scripting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
. . . . . API
. . . .Inspector
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
. . . . . Development
. . . . . . . . . . . . . Techniques
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
. . . . . STman
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
. . . . . Cobra
. . . . . . SDK
. . . . .and
. . . .Arya
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
. . . . . ACI
. . . . Toolkit
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
. . . . . GitHub
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
. . . . . Hardware
. . . . . . . . . .Expansion
. . . . . . . . . .and
. . . .Replacement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
. . . . . Section
. . . . . . . .Content
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
. . . . . Expanding
. . . . . . . . . . .and
. . . Shrinking
. . . . . . . . . .the
. . . Fabric
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
. . . . . Hardware
. . . . . . . . . .Diagnostics
. . . . . . . . . . . and
. . . .Replacement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
. . . . . Appendix
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413
. . . . . Classes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
. . . . . Package
. . . . . . . . Decoder
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
. . . . . Acronyms
. . . . . . . . . . and
. . . .Definitions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
. . . . . Reference
. . . . . . . . . . Material
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
....
Prologue
Prologue
Abstract
Cisco's Ap
pli
ca
tion Cen
tric In
fra
struc
ture (ACI) pro
vides pow
er
ful new ways to dy
nam
i
cally man
age in
fra
struc
ture in the mod
ern world of IT au
toma
tion and De
vOps. Hav
ing
the tools to change how in
fra
struc
ture is built is one thing, but being able to ef
fec
tively
op
er
ate the in
fra
struc
ture be
yond the Day Zero build ac
tiv
i
ties is cru
cial to long term ef
fec
tive
ness and ef
fi
ciency. To ef
fec
tively har
ness the power of ACI, or
ga
ni
za
tions will
need to un
der
stand how to in
cor
po
rate ACI into their daily op
er
a
tions. This book ex
am
ines some of the com
mon op
er
a
tional ac
tiv
i
ties that IT teams use to pro
vide con
tin
ued
in
fra
struc
ture op
er
a
tions and gives the reader ex
po
sure to the tools, method
olo
gies, and
processes that can be em
ployed to sup
port day 1+ op
er
a
tions within an ACI-based fab
ric.
Prologue
Authors
This book rep
re
sents a joint in
tense col
lab
or
a
tive ef
fort over the course of a week, with
par
tic
ip
a
tion of a num
ber of Cisco func
tional or
ga
ni
za
tions in
clud
ing Cisco Ad
vanced
Ser
vices, Tech
ni
cal Ser
vices, Prod
uct Mar
ket
ing, So
lu
tion Val
id
a
tion Test
ing, IT, and
Sales.
Authors
Ale
jan
dra Sanchez - Cus
tomer Sup
port En
gi
neer, Tech
ni
cal Ser
vices
An
dres Vega - Cus
tomer Sup
port En
gi
neer, Tech
ni
cal Ser
vices
Arvind Chari - So
lu
tions Ar
chi
tect, Ad
vanced Ser
vices
Carly Stoughton - Tech
ni
cal Mar
ket
ing En
gi
neer, INSBU
Christo
pher Stokes - Cisco IT Net
work Con
sult
ing En
gi
neer
Gabriel Fontenot - Net
work Con
sult
ing En
gi
neer, Ad
vanced Ser
vices
Jonathan Cor
nell - Sys
tems En
gi
neer, Sales
Ken Fee - Con
sult
ing Ar
chi
tect, Busi
ness Tech
nol
ogy Ar
chi
tects
Kevin Corbin - Tech
ni
cal So
lu
tions Ar
chi
tect, Sys
tems En
gi
neer
ing
Lau
ren Mal
hoit - Mar
ket
ing Con
sul
tant, INSBU
Loy Evans - Con
sult
ing Sys
tem En
gi
neer, Sales
Lu
cien Avramov - Tech
ni
cal Mar
ket
ing En
gi
neer, INSBU
Paul Lesiak - So
lu
tions Ar
chi
tect, Ad
vanced Ser
vices
Rafael Muller - Tech
ni
cal Leader, So
lu
tion Val
id
a
tion Ser
vices
Robert Burns - Tech
ni
cal Leader, Tech
ni
cal Ser
vices
Steven Lym - Tech
ni
cal Writer, INSBU
Prologue
Illustrations
Hen
rik van Leuwen
Book Production
Julien Taquet
Clean Up
Raewyn Whyte
Prologue
Prologue
ACI Leaf switches, including Cisco Nexus 9396PX, 9396TX, and 93128TX
Several models of switches and routers, including Cisco Nexus 5000 switches
and Cisco Integrated Services Routers (ISR)
vSphere
11
Introduction
Introduction
13
14
Introduction
While ACME is in
tensely fo
cused on de
liv
er
ing the new ap
pli
ca
tion plat
form in a timely
man
ner, ACME is also in
ter
ested in cre
at
ing a foun
da
tion on which it can grow to de
liver a com
mon pool of in
fra
struc
ture that is shared across all busi
ness groups and op
er
ated in a multi-ten
ant fash
ion to in
crease ef
fi
ciency.
At an ex
ec
ut
ive brief
ing, John Cham
bers, the CEO of Cisco Sys
tems, told ACME:
"The world is chang
ing. Every com
pany is a tech
nol
ogy com
pany, and if you don't
adapt, you'll get left be
hind."
As ev
id
enced by the suc
cess of cloud plat
forms, such as Ama
zon Web Ser
vices
(AWS) and Open
stack, con
sump
tion mod
els of tech
nol
ogy de
liv
ery have the abil
ity to
adapt tech
nol
ogy more quickly to rapid busi
ness re
quire
ments changes. This is the type
of con
sump
tion that ACME Inc.'s busi
ness own
ers need. Con
trol of op
er
at
ions is what
op
er
at
ions groups are fo
cused on, but con
trol can be a bar
rier to a pure con
sump
tion
model. Un
less com
pa
nies make in
vest
ments in tech
nolo
gies that allow for con
sump
tion
of au
to
mated com
po
nents, the only other way to scale is by break
ing the human level
com
po
nent, and few peo
ple would re
ally choose to work for that type of com
pany.
After an
al
yz
ing cur
rent of
fers from var
io
us tech
nol
ogy ven
dors, ACME Inc. se
lected
Cisco Ap
pli
ca
tion Cen
tric In
fra
struc
ture (ACI). The abil
ity to ab
stract all phys
ic
al and
vir
tual in
fra
struc
ture con
fig
ur
a
tion into a sin
gle con
fig
ur
a
tion that is con
sis
tent across
dev, test, and prod en
vi
ron
ments, as well as portable across the var
io
us data cen
ter lo
ca
tions cur
rently main
tained by ACME, is highly de
sir
able. ACI has been built from the
ground up to change the sub
struc
ture used to build net
work de
vices and pro
to
cols. In
no
va
tion at this level will pro
vide more op
por
tu
ni
ties for ex
pand
ing the tools with
which users in
ter
act. This is where the ful
crum will tilt in the favor of IT and in
fra
struc
ture being more dy
namic, thus al
low
ing IT to op
er
ate and man
age at the speed of busi
ness. How
ever, with a change of this na
ture comes fear, un
cer
tainty, and doubt. This
book will at
tempt to bring some level of com
fort and fa
mil
iar
ity with op
er
at
ions ac
tiv
i-
ties within an ACI fab
ric.
While ACME Inc. is a fic
ti
tious com
pany, this is the true story of every com
pany, and
just im
por
tant this is the story of the em
ploy
ees of those com
pa
nies. Work
ers in the IT
in
dus
try need to adapt to keep up with the rapid change of the busi
ness. How
ever,
this runs con
trary to how most op
er
at
ions groups exist in the re
la
tion
ship be
tween
busi
ness and tech
nol
ogy. Most IT op
er
at
ions groups in
vest a lot of time in the tools
needed to de
liver ser
vices today and there is an or
ganic re
sis
tance to re-in
vest
ing.
The thought is, "Why fix what is al
ready work
ing?"
Introduction
15
Why
"Why" is the most im
por
tant as
pect of what should be con
sid
ered in op
er
at
ional
iz
ing an
ACI fab
ric. In the case of ACME Inc. the key suc
cess cri
te
ria is to stream
line processes
and pro
ce
dures re
lated to the de
ploy
ment of in
fra
struc
ture re
quired to sup
port the ap
pli
ca
tion ini
tia
tives. To achieve the de
sired re
sult, a high de
gree of au
toma
tion is re
quired. Au
toma
tion adds speed to repet
it
ive tasks and elim
in
ates er
rors or missed
steps. Ini
tially, au
toma
tion can be a scary propo
si
tion for some of the key stake
hold
ers,
as it could be looked at as a threat to their own job. Quite the op
po
site, au
toma
tion is
about mak
ing work more en
joy
able for all team mem
bers, al
low
ing them the free
dom to
in
no
vate and add value, while re
mov
ing mun
dane, repet
it
ive tasks. Look
ing at why an
au
to
mated fab
ric is ben
e
fi
cial to an or
ga
ni
za
tion is im
por
tant for set
ting ex
pec
ta
tions
of re
turn on in
vest
ment. Also, look
ing at why an op
er
at
ional prac
tice is done a spe
cific
way can help with fram
ing the tools and processes that are em
ployed.
Who
As with most or
ga
ni
za
tions, ACME Inc. tra
di
tion
ally had dif
fer
ent types of stake
hold
ers
in
volved in mak
ing any IT ini
tia
tive suc
cess
ful, and each has a spe
cific el
e
ment of the
in
fra
struc
ture in which they have spe
cific ex
per
tise and about which they care most. In
any IT or
ga
ni
za
tion, these groups can have dis
tinct or
ga
ni
za
tional bound
aries, but
more likely the bound
aries are blurred to some de
gree. Listed below are some char
ac
ter
is
tics of these groups, but keep in mind that some of these char
ac
ter
is
tics might be
com
bined. At the macro level, the fact that these dif
fer
ent or
ga
ni
za
tions exist should
16
Introduction
not be ev
id
ent to the end-user. In
stead, the en
tire or
ga
ni
za
tion should be seen as one
team with a com
mon goal of de
liv
er
ing value to their or
ga
ni
za
tion.
ACME's De
vel
op
ment and Ap
pli
ca
tion Team is fo
cused on the soft
ware and ap
pli
ca
tions
the com
pany uses in
ter
nally and the soft
ware that it de
liv
ers to its cus
tomers. The Ap
pli
ca
tion part of the team con
tains ap
pli
ca
tion own
ers and sub
ject mat
ter ex
perts that
en
sure other busi
ness units are able to do their jobs by uti
liz
ing the busi
ness ap
pli
ca
tions avail
able. The De
vel
op
ment part of the team will be writ
ing the mo
bile ap
pli
ca
tion soft
ware plat
form. Both parts of this team will need to work closely with the other
teams in this sec
tion to en
able the best de
sign, per
for
mance, and avail
abil
ity of ap
pli
ca
tions for the end users.
ACME's Net
work Team is pri
mar
ily fo
cused on cre
at
ing and man
ag
ing net
work
ing con
structs to for
ward pack
ets at Layer 2 (MAC/switch
ing) and Layer 3 (IP rout
ing). The
team is chal
lenged with jug
gling ap
pli
ca
tion re
quire
ments, man
ag
ing SLA, and as
sist
ing
in the en
force
ment of in
for
ma
tion se
cu
rity, all while main
tain
ing high lev
els of avail
abil
ity. What the team needs to know is how to con
fig
ure the net
work
ing con
structs,
how to tie Layer 2 to Layer 3, how to ver
ify for
ward
ing, and how to trou
bleshoot net
work for
ward
ing as
pects in the fab
ric. With ACI, the team is the most in
ter
ested in de
cou
pling over
loaded net
work con
structs and re
turn
ing to the spe
cific net
work prob
lems that the team was in
tended to solve, while al
low
ing other groups to lever
age their
spe
cific ex
per
tise to ma
nip
ul
ate se
cu
rity and ap
pli
ca
tion level poli
cies. The team is also
in
ter
ested in al
low
ing more trans
parency in the per
for
mance of the net
work for
ward
ing, and the team is mak
ing key met
rics avail
able on de
mand in a self-ser
vice ca
pac
ity.
ACME's Stor
age Team is pri
mar
ily fo
cused on de
liv
ery of data stor
age re
sources to the
or
ga
ni
za
tion. The stor
age team is con
cerned with pro
tect
ing the data in terms of avail
abil
ity, as well as mak
ing sure that sen
si
tive data is se
cure. The stor
age team has been
very suc
cess
ful in main
tain
ing very tight SLAs and has tra
di
tion
ally man
aged sep
ar
ate
in
fra
struc
ture for stor
age ac
cess. The ca
pa
bil
it
ies pro
vided by the ACI fab
ric allow
them to con
fi
dently de
ploy newer IP-based stor
age and clus
ter
ing tech
nolo
gies. The
team is also very in
ter
ested in being able to see how the stor
age ac
cess is per
form
ing and would like to be no
ti
fied in the event of con
tention. The team typ
ic
ally
has some spe
cific re
quire
ments around QoS, multi-pathing, and so on. His
tor
ic
ally, the
team had to worry about de
liv
er
ing a stor
age fab
ric in ad
di
tion to man
ag
ing stor
age de
vices them
selves. ACI will pro
vide the stor
age team with the vis
ib
il
ity they will re
quire.
These ca
pa
bil
it
ies are pri
mar
ily dis
cussed in the mon
it
or
ing sec
tions.
Introduction
17
The Com
pute and Vir
tu
al
iza
tion Team at ACME Inc. is wrap
ping up a major ini
tia
tive to
vir
tu
al
ize the server farms that it is re
spon
si
ble for main
tain
ing. The team also re
cently
em
ployed new con
fig
ur
a
tion man
age
ment tools to ac
count for new work
loads that fell
out
side of the vir
tu
al
iza
tion ef
fort to get sim
il
ar agility for bare metal servers that the
team gained from its vir
tu
al
iza
tion ef
forts. This is timely as the ap
pli
ca
tion roll
out will
have both vir
tu
al
ized and non-vir
tu
al
ized work
loads. Ad
di
tion
ally, the ap
pli
ca
tion de
vel
op
ers are in
creas
ingly in
ter
ested in lever
ag
ing Linux con
tainer tech
nolo
gies to allow
for even greater ap
pli
ca
tion porta
bil
ity. The Com
pute and Vir
tu
al
iza
tion teams are in
ter
ested in ACI for its abil
ity to pro
vide com
mon ac
cess to phys
ic
al and vir
tual servers,
al
low
ing the team to pub
lish end
point groups to vir
tu
al
iza
tion clus
ters from a cen
tral
ized place across mul
ti
ple hy
per
vi
sors. These ca
pa
bil
it
ies are dis
cussed fur
ther in the
Fab
ric Con
nec
tiv
ity chap
ter.
The In
for
ma
tion Se
cu
rity Team at ACME Inc. has tra
di
tion
ally been en
gaged late in an
ap
pli
ca
tion de
ploy
ment process, and has been re
spon
si
ble for per
form
ing vul
ner
ab
il
ity
as
sess
ment and data clas
si
fi
ca
tion ef
forts. With the cur
rent pro
ject, the new ap
pli
ca
tion will be stor
ing sen
si
tive cus
tomer in
for
ma
tion, in
clud
ing credit card num
bers. Due
to the sen
si
tiv
ity of this in
for
ma
tion and the se
cu
rity as
pects of the ACI fab
ric, the In
for
ma
tion Se
cu
rity Team is able to pro
vide input ear
lier in the process and avoid re-do
ing work be
cause of se
cu
rity or com
pli
ance is
sues. The In
for
ma
tion Se
cu
rity Team is
in
ter
ested in the op
er
at
ional as
pects of the ACI se
cu
rity model as it re
lates to the fol
low
ing ca
pa
bil
it
ies: ten
ancy, Role Based Ac
cess Con
trol (RBAC), mon
it
or
ing, and Layer 4
to Layer 7 ser
vices.
What
The as
pect of "what" can be looked at in many dif
fer
ent ways, but the main con
cept in
the con
text of this book is what tools are used to man
age op
er
at
ions of an ACI fab
ric. In
a tra
di
tional net
work, you have some tra
di
tional tools, such as CLI and SNMP, to man
age net
work op
er
at
ions, and these tools in
te
grate into man
age
ment plat
forms and con
fig
ur
a
tion and man
age
ment processes.
In ACI there are some el
e
ments of the tra
di
tional tools, but the fab
ric man
age
ment is
rooted in an ab
stracted ob
ject model that pro
vides a more flex
ib
le base. With this base,
the op
er
at
or of the fab
ric can choose from mul
ti
ple modes of man
age
ment, such as
GUI, CLI, API in
te
gra
tion, pro
gram
ming, script
ing, or some com
bi
na
tion of these. How
a tool is se
lected in ACI will often be a prod
uct of what is being done and the as
pects of
how the tool is used. For ex
am
ple, if an op
er
at
ions staff is try
ing to gather a bunch of
in
for
ma
tion across a num
ber of in
ter
faces and switches or is man
ag
ing the con
fig
ur
a
-
Introduction
18
When
"When" refers to when the teams listed above are in
volved in the plan
ning. It is a good
idea to in
volve the dif
fer
ent teams early when build
ing poli
cies and processes for how
the fab
ric is im
ple
mented and then man
aged. The col
lab
o
ra
tive na
ture of ACI al
lows for
a high de
gree of par
al
leliza
tion of work flow. This is a key dif
fer
ence be
tween ACI and
tra
di
tional processes that were very se
ri
al in na
ture, re
sult
ing in a longer de
ploy
ment
time for ap
pli
ca
tions and a higher mean-time to res
ol
u
tion when is
sues arise.
How
"How" an
swers the fol
low
ing basic ques
tions:
How does the compute team get information from the infrastructure to make
How does a storage team track the access to storage subsystems and ensure
that it is performant?
When "how" in
volves mak
ing a change to the con
fig
ur
a
tion of an en
vi
ron
ment, an im
por
tant con
sid
er
at
ion is change con
trol. Change con
trol is a fact of life in the mis
sioncrit
ic
al en
vi
ron
ments that ACI has been de
signed to sup
port. The ACI pol
icy model has
been de
signed to re
duce the over
all size of a fault do
main and pro
vide a mech
an
ism for
in
cre
men
tal change. There are mech
an
isms for backup and re
store that will be dis
cussed in fol
low-on chap
ters. We will also dis
cuss the model and which ob
jects af
fect
the ten
ants and the fab
ric as a whole.
An eval
ua
t
ion of cur
rent change con
trol and con
tin
uo
us in
te
gra
tion/de
liv
ery strate
gies
is war
ranted as op
er
at
ional pro
ce
dures evolve. Through
out this book we will high
light
the meth
ods and pro
ce
dures to proac
tively and re
ac
tively man
age the fab
ric.
As a base
line, most or
ga
ni
za
tions are im
ple
ment
ing some kind of struc
tured changecon
trol method
ol
ogy to mit
ig
ate busi
ness risk and en
hance sys
tem avail
abil
ity. There
are a num
ber of change/IT man
age
ment prin
ci
ples (Cisco Life
cy
cle ser
vices, FCAPS,
Introduction
19
and ITIL) that are good guides from which to start. A com
mon sense ap
proach to
change man
age
ment and con
tin
uo
us in
te
gra
tion should be a premise that is dis
cussed
early in the de
sign and im
ple
men
ta
tion cycle be
fore hand
ing the fab
ric to the op
er
a-
tions teams for day-to-day main
te
nance, mon
it
or
ing, and pro
vi
sion
ing. Train
ing op
er
a
tions teams on norms (a stated goal of this book) is also key. Ap
ply
ing change man
age
ment prin
ci
ples based on tech
nol
ogy from five years ago would not en
able the rapid
de
ploy
ment of tech
nol
ogy that ACI can de
liver.
The multi-ten
ant and role-based ac
cess con
trol fea
tures in
her
ent to the ACI so
lu
tion
allow the iso
la
tion or draw
ing of a very clean box around the scope and im
pact of the
changes that can be made. For more de
tails, see the RBAC sec
tion of this book.
Ul
ti
mately each change must be eval
ua
ted pri
mar
ily in terms of both its risk and value
to the busi
ness. A way to en
able a low-over
head change man
age
ment process is to re
duce the risk of each change and in
crease its value. Con
tin
uo
us de
liv
ery does ex
actly
this by en
sur
ing that re
leases are per
formed reg
ul
arly from early on in the de
liv
ery
process, and en
sur
ing that de
liv
ery teams are work
ing on the most valu
able thing they
could be at any given time, based on feed
back from users.
In the In
for
ma
tion Man
age
ment Sys
tems world, there are three fun
da
men
tal kinds of
changes:
Emergency changes
Normal
Standard
Emer
gency changes are by de
f
i
n
i
tion a re
sponse to some kind of tech
ni
cal out
age (hard
ware, soft
ware, in
fra
struc
ture) and are per
formed to re
store ser
vice to af
fected sys
tems.
Nor
mal changes are those that go through the reg
ul
ar change man
age
ment process,
which starts with the cre
ation of a re
quest for change which is then re
viewed, as
sessed,
and then ei
ther au
tho
rized or re
jected, and then (as
sum
ing it is au
tho
rized) planned
and im
ple
mented. In an ACI en
vi
ron
ment a nor
mal change could apply to any
thing
within the fol
low
ing com
po
nents:
Fabric Policies (fabric internal and access will be discussed in detail later)
Configuration objects in the Common tenant that are shared with all other
tenants (things that affect the entire fabric)
Private Networks
Introduction
20
Bridge Domains
Subnets
Stan
dard changes are low-risk changes that are pre-au
tho
rized. Each or
ga
ni
za
tion will
de
cide the kind of stan
dard changes that they allow, who is al
lowed to ap
prove
them, the cri
te
ria for a change to be con
sid
ered "stan
dard", and the process for man
ag
ing them. As with nor
mal changes, they must still be recorded and ap
proved. In the ACI
en
vi
ron
ment some ex
am
ples of "stan
dard" changes could be:
Tenant creation
Introduction
21
23
Management
Management
Section Content
APIC Overview
25
Management
27
APIC Overview
There are a num
ber of fun
da
men
tal dif
fer
ences be
tween the op
er
at
ions of tra
di
tional
net
work
ing hard
ware and an ACI fab
ric. These dif
fer
ences serve to sim
plify the man
age
ment greatly, re
duce the num
ber of touch
points, and de
cou
ple the switch
ing hard
ware from the de
sired con
fig
ur
a
tion in
tent. These changes in
clude:
Stateless hardware
The sin
gle point of man
age
ment within the ACI ar
chi
tec
ture is known as the Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
troller (APIC). This con
troller pro
vides ac
cess to all con
fig
ur
a
tion, man
age
ment, mon
it
or
ing, and health func
tions. Hav
ing a cen
tral
ized con
troller with an ap
pli
ca
tion pro
gram
ming in
ter
face (API) means that all func
tions con
fig
ured or ac
cessed through the fab
ric can be uni
formly ap
proached through a graph
ic
al
user in
ter
face (GUI), com
mand line in
ter
face (CLI), and ap
pli
ca
tion pro
gram
ming in
ter
face (API), with no risk of in
con
sis
tency be
tween the var
io
us data in
ter
faces. This re
sults in a clean and pre
dictable tran
si
tion be
tween the in
ter
faces. The un
der
ly
ing in
ter
face for all ac
cess meth
ods is pro
vided through a REST-based API, which mod
if
ies the
con
tents of a syn
chro
nized data
base that is repli
cated across APICs in a clus
ter and
pro
vides an ab
strac
tion layer be
tween all of the in
ter
faces.
This con
troller-based ar
chi
tec
ture also makes pos
si
ble a state
less con
fig
ur
a
tion
model that de
cou
ples the hard
ware from the con
fig
ur
a
tion run
ning on it. This trans
lates to an APIC clus
ter that man
ages in
di
vid
ual fab
ric nodes of leaf and spine switches
that de
rive their iden
tity from what the con
troller de
fines as being the de
sired in
tent,
and not from the se
ri
al num
ber of the chas
sis, nor from a con
fig
ur
a
tion file re
sid
ing on
the de
vices. Each node re
ceives a unique node iden
ti
fier, which al
lows for the de
vice to
down
load the cor
rect con
fig
ur
a
tion at
trib
utes from the con
troller. The de
vice can
also be sub
sti
tuted in a state
less fash
ion, mean
ing that hard
ware swaps can be faster,
topol
ogy changes are less im
pact
ful, and net
work man
age
ment is sim
pli
fied.
The de
sired state model for con
fig
ur
a
tion fur
ther com
ple
ments these con
cepts of con
troller-based man
age
ment and state
less
ness by tak
ing ad
van
tage of a con
cept known
as de
clar
at
ive con
trol-based man
age
ment, based on a con
cept known as the promise
28
Management
the
ory. De
clar
at
ive con
trol dic
tates that each ob
ject is asked to achieve a de
sired state
and makes a "promise" to reach this state with
out being told pre
cisely how to do so.
This stands in con
trast with the tra
di
tional model of im
per
at
ive con
trol, where each
man
aged el
e
ment must be told pre
cisely what to do, be told how to do it, and take into
ac
count the spe
cific sit
ua
t
ional as
pects that will im
pact its abil
ity to get from its cur
rent state to the con
fig
ured state. A sys
tem based on de
clar
at
ive con
trol is able to scale
much more ef
fi
ciently than an im
per
at
ive-based sys
tem, since each en
tity within the
do
main is re
spon
si
ble for know
ing its cur
rent state and the steps re
quired to get to the
de
sired state, dic
tated by the man
ag
ing con
troller.
Management
29
Cisco Discovery Protocol (CDP) - These policies are primarily consumed by the
network team, as CDP is the standard for their existing network equipment.
Management
30
To cre
ate CDP poli
cies:
1
In the Navigation pane, choose Interface Policies > Policies > CDP Interface.
In the Work pane, choose Actions > Create CDP Interface Policy.
In the Create CDP Interface Policy dialog box, perform the following actions:
a. In the Name field enter the name of the policy, such as "CDP-ENABLED".
b. For the Admin State radio buttons, click Enabled.
c. Click Submit.
5
6
In the Work pane, choose Actions > Create CDP Interface Policy.
In the Create CDP Interface Policy dialog box, perform the following actions:
a. In the Name field enter the name of the policy, such as "CDP-DISABLED".
b. For the Admin State radio buttons, click Disabled.
c. Click Submit.
In the Navigation pane, choose Interface Policies > Policies > LLDP Interface.
In the Work pane, choose Actions > Create LLDP Interface Policy.
In the Create LLDP Interface Policy dialog box, perform the following actions:
Management
31
In the Work pane, choose Actions > Create LLDP Interface Policy.
In the Create LLDP Interface Policy dialog box, perform the following actions:
a. In the Name field, enter "LLDP-TX-ON-RX-OFF".
b. For the Receive State radio buttons, click Disabled.
c. For the Transmit State radio buttons, click Enabled.
d. Click Submit.
7
8
In the Work pane, choose Actions > Create LLDP Interface Policy.
In the Create LLDP Interface Policy dialog box, perform the following actions:
a. In the Name field, enter "LLDP-TX-OFF-RX-ON".
b. For the Receive State radio buttons, click Enabled.
c. For the Transmit State radio buttons, click Disabled.
d. Click Submit.
In the Create LLDP Interface Policy dialog box, perform the following actions:
a. In the Name field, enter "LLDP-TX-OFF-RX-OFF".
b. For the Receive State radio buttons, click Disabled.
c. For the Transmit State radio buttons, click Disabled.
d. Click Submit.
Management
32
should con
fig
ure time syn
chro
niza
tion be
fore de
ploy
ing a full fab
ric or ap
pli
ca
tions so
as to en
able proper usage of these fea
tures. The most widely adapted method for syn
chro
niz
ing a de
vice clock is to use Net
work Time Pro
to
col (NTP). For more in
for
ma
tion
on atomic coun
ters, see the Re
ac
tive Mon
it
or
ing Tools chap
ter.
Prior to con
fig
ur
ing NTP, con
sider what man
age
ment IP ad
dress scheme is in place
within the ACI fab
ric. There are two op
tions for con
fig
ur
ing man
age
ment of all ACI
nodes and Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
trollers (APICs), in-band man
age
ment
and/or out-of-band man
age
ment. De
pend
ing on which man
age
ment op
tion was cho
sen for the fab
ric, con
fig
ur
a
tion of NTP will vary.
An
other con
sid
er
at
ion in de
ploy
ing time syn
chro
niza
tion where the time source is lo
cated. The re
li
ab
il
ity of the source must be care
fully con
sid
ered when de
ter
min
ing if
you will use a pri
vate in
ter
nal clock or an ex
ter
nal pub
lic clock.
In the Work pane, choose Actions > Create Date and Time Policy.
In the Create Date and Time Policy dialog box, perform the following actions:
a. Provide a name for the policy to easily distinguish between your
environment's different NTP configurations, such as "Production-NTP".
b. Click Next.
c. Click the + sign to specify the NTP server information (provider) to be used.
d. In the Create Providers dialog box, enter all relevant information, including
the following fields: Name, Description, and Minimum Polling Intervals, and
Maximum Polling Intervals.
Management
33
i. If you are creating multiple providers, click the Preferred check box for
the most reliable NTP source.
ii. In the Management EPG drop-down list, if the NTP server is reachable by
all nodes on the fabric through out-of-band management, choose Out-ofBand. If you have deployed in-band management, see the "In-Band
Management NTP" section.
iii. Click OK.
e. Repeat steps c and d for each provider that you want to create.
Your NTP pol
icy is now ready for de
ploy
ment to the ACI fab
ric nodes.
In the Navigation pane, choose Pod Policies > Policies > Date and Time >
ntp_policy > server_name. The ntp_policy is the previously created policy.
Management
34
To ver
ify that the pol
icy has been suc
cess
fully de
ployed to each node, you should use
the NX-OS Vir
tual Shell that is pre
sent in the APIC. To ac
cess the NX-OS Vir
tual Shell,
open an SSH ses
sion to the out-of-band man
age
ment IP in
ter
face of any of the APIC
nodes. From this prompt, ex
e
cute the "ver
sion" com
mand to ob
tain a con
sol
id
ated list
of node host
names.
1
Press the Tab key twice after the entering the attach command to list all of the
available node names:
Log in to one of the nodes using the same password that you used to access the
APIC.
A reach
able NTP server has its IP ad
dress pre
fixed by an as
ter
isk (*), and the
delay is a non-zero value.
5
In the Navigation pane, choose Global Policies > DNS Profiles > default.
In the Work pane, in the Management EPG drop-down list, choose the
appropriate management EPG.
Management
35
Click Submit.
Management
36
Ping a host by DNS name that will be reachable from the APIC out-of-band
management.
Management
37
A set of roles
For each role, privileges and privilege types (which can be "no access", "read-
One or more security domain tags that identify the portions of the management
only", or "read-write")
information tree (MIT) that a user can access
38
Management
Management
39
User Roles
You can view the built-in user roles as well as cre
ate cus
tom roles to meet spe
cific re
quire
ments.
1
Security Domains
The se
cu
rity do
main con
cept is cru
cial to proper op
er
at
ion of the ACI fab
ric. By using
se
cu
rity do
mains, users can be or
ga
nized into var
io
us per
mis
sion struc
tures, most
com
monly ap
plied to ten
ants. Using the ten
ancy ca
pa
bil
it
ies of the ACI fab
ric in con
junc
tion with prop
erly con
fig
ured se
cu
rity do
mains, it will be pos
si
ble to com
pletely
sep
ar
ate con
fig
ur
a
tion of ap
pli
ca
tion work
loads while only pro
vid
ing ac
cess to those
who need it.
A key con
cept to keep in mind when con
fig
ur
ing se
cu
rity do
mains is that the con
fig
u-
ra
tion only ap
plies at a ten
ant level. The poli
cies can
not cur
rently be ap
plied to in
di
vid
ual ob
jects de
spite ref
er
ences at the ob
ject level in
side of the RBAC screen in the APIC.
Cisco rec
om
mends that you con
fig
ure se
cu
rity do
mains and ac
cess lev
els prior to de
ploy
ment of ten
ants. Cisco does not rec
om
mend that you pro
vide user ac
cess con
fig
u-
ra
tion by mod
if
ing per
mis
sions of the "all" do
main. Changes in the "all" do
main will af
fect ac
cess per
mis
sions for all users. If you need to make se
lec
tive changes to allow ac
cess out
side of a user's se
cu
rity do
main, be sure to set up a dis
crete user ac
cess pol
icy
just for that com
mu
ni
ca
tion.
Management
40
In the Create a Security Domain dialog box, perform the following actions:
a. Give the security domain a name and an optional description.
Adding Users
You might need to add new users within the ACI fab
ric. ACI can have local users man
u-
ally en
tered by an admin, or use some
thing such as LDAP, RA
DIUS, Ac
tive Di
rec
tory, or
TACACS+ to spec
ify users that will be al
lowed to man
age cer
tain parts of the ACI net
work.
Con
fig
ure Local Users:
1
In the Work pane, in the Realm drop-down list, choose Local and click
Submit if Local is not already chosen.
Management
41
In the Create Local User dialog box, perform the following actions:
a. Specify any security information that is necessary and click Next.
b. Select the roles to be given to this user, such as Read/Write for admin or
tenant admin, and click Next.
c. Specify login information for the user and
Click Finish.
Remote Authentication
Cre
at
ing re
mote user ac
counts in the ACI is sim
il
ar to most other data cen
ter sys
tems.
If cre
at
ing an LDAP ac
count, then the LDAP provider must be con
fig
ured first. The IP
ad
dress or host name of the LDAP server is needed, along with the port it uses to com
mu
ni
cate as well as any other rel
e
vant in
for
ma
tion that will allow con
nec
tion to that
server. The same is true for RA
DIUS and TACACS+. The next op
tion is to con
fig
ure
groups from which it is al
lowed to read data and grab it for the pur
poses of se
lect
ing
re
mote users granted ac
cess to the ACI net
work. Re
mote au
then
ti
ca
tion is cov
ered in
da
men
tals Guide.
de
tail in the Cisco ACI Fun
Management
43
Management
44
In the Create Remote Location dialog box, perform the following actions:
a. Enter a Remote location name
b. Enter a Hostname/IP address
c. Choose a Protocol
d. Enter a Remote path
e. Enter a Remote port
f. Enter a Username
g. Enter a Password
h. Choose a Management EPG
Note: default (Out-of-Band)
Click Submit.
Management
45
In the Work pane, choose Actions > Create Configuration Export Policy
In the Create Configuration Export Policy dialog box, perform the following
actions:
a. Name = Export_Policy_Name
b. Format = XML
c. Start Now = Yes
d. Export Destination = Choose_the_Remote_location_created_above
Click Submit.
Two op
tional con
fig
ur
a
tions are ap
ply
ing a Sched
uler pol
icy if you want to setup a re
cur
ring op
er
at
ion, and spec
if
y
ing a spe
cific Dis
tin
guished Name (DN) if you want to
backup only a sub
set of the Man
age
ment In
for
ma
tion Tree (MIT).
Management
46
From the workstation where the exported bundle has been copied, select the
archive utility of choice.
Navigate to the folder where the config export is located (tar.gz), highlight the
file, and then select Extract.
Examine the various XML configuration files for parameters that have been
configured.
In the Work pane, choose Actions > Create Import Configuration Policy.
In the Create Import Configuration Policy dialog box, perform the following
actions:
a. Enter a name and the filename for the import policy, such as "backupfile.tar.gz". Do not include the file path.
b. Choose the import type:
Merge - Will merge backup configuration with existing running
configurations. Will not overrite any existing policies.
Replace - Will replace all configurations with those only from the backup file.
Management
47
49
Upgrading and
Downgrading Firmware
Section Content
Firmware Management
Firmware Versions
Firmware Components
Firmware Policies
Firmware Groups
Maintenance Groups
Controller Firmware
Catalogue Firmware
51
53
Firmware Management
ACME Inc., in part
ner
ship with Cisco, has eval
ua
ted the re
quire
ments for their de
ploy
ment based on the soft
ware fea
tures re
quired, the sup
port for the hard
ware plat
forms
they have se
lected, and the ma
tu
rity of the soft
ware re
leases. They have se
lected a tar
get ver
sion of soft
ware for their de
ploy
ment. Ad
di
tion
ally, they have put a proac
tive
plan in place to re
visit this de
ci
sion pe
ri
od
ic
ally to de
ter
mine if fu
ture up
grades are re
quired.
Firmware Versions
The soft
ware ver
sions for ACI are listed in the fol
low
ing for
mat:
major.minor(mntnc)
mntnc - Represents bug fixes to a feature release of APIC. This changes when
there are fixes for product defects in the software, but no additional new
features.
Ex
am
ple:
APIC version: 1.1(1d)
54
ver
sion. While at the time of up
grad
ing, dis
parate ver
sions may exist be
tween APIC and
the switches, do not op
er
ate the fab
ric for ex
tended pe
ri
ods of time in this state.
When con
sid
er
ing the im
pact and risk of up
grad
ing, you can as
sume that a main
te
nance ver
sion up
grade, such as 1.1.(1d) => 1.1(1d), will have less im
pact than a
major/minor ver
sion up
grade, as there will be only bug fixes and no new fea
tures
added.
Firmware Components
There are three main com
po
nents that can be up
graded:
Catalog firmware
Firmware Policies
Firmware Groups
Firmware Group poli
cies on the APIC de
fine which group of nodes on which firmware
will be up
graded. For most de
ploy
ments, a sin
gle firmware group is ad
e
quate. Con
trol
over which switches up
grade to the new ver
sion can be de
ter
mined through main
te
nance groups.
Maintenance Groups
Main
te
nance Group poli
cies de
fine a group of switches that will be jointly up
graded to
the as
so
ci
ated firmware set. Main
te
nance groups can be up
graded on de
mand or ac
cord
ing to a sched
ule, mak
ing it pos
si
ble to defer an up
grade task to a busi
ness main
te
nance win
dow.
Controller Firmware
The APIC con
troller firmware pol
icy al
ways ap
plies to all con
trollers in the clus
ter, but
the up
grade is al
ways done se
quen
tially. The APIC GUI pro
vides real-time sta
tus in
for
-
55
ma
tion about firmware up
grades. Con
troller Firmware poli
cies can be up
graded on de
mand or also ac
cord
ing to a sched
ule.
Catalogue Firmware
Each firmware image in
cludes a com
pat
i
bil
ity cat
a
log that iden
ti
fies sup
ported switch
mod
els. The APIC main
tains a cat
a
log of the firmware im
ages, switch types, and mod
els
that are al
lowed to use that firmware image. The APIC, which per
forms image man
age
ment, has an image repos
i
tory for com
pat
i
bil
ity cat
a
logs, APIC con
troller firmware im
ages, and switch im
ages.
57
Before starting the upgrade process, your controllers should be in good health.
On the menu bar, choose System > Controllers. In the navigation pane,
choose Controllers > apic_controller_name > Cluster. Verify that the health
state of all of the controllers in the cluster are Fully Fit before you proceed. To
resolve issues for controllers that are not fully fit see the Troubleshooting Cisco
Application Centric Infrastructure document:https://datacenter.github.io/acitroubleshooting-book/
Configuration backup.
Permissions.
Verify free space. On the menu bar, choose System > Controllers. In the
navigation pane, choose Controllers > apic_controller_name > Storage.
Confirm that the /firmware partition is not filled beyond 75%. If the partition
is filled beyond 75%, you might be required to remove some unused firmware
files from the repository to accommodate the compressed image as well as
provide adequate space to extract the image. The APIC automatically extracts
the image.
58
Upgrading a fabric with the Application Virtual Switch (AVS) deployed. The AVS
Device packages. Device packages are not always tied to the APIC software.
59
In the Work pane, choose Actions > Create Outside Firmware Source.
In the Create Outside Firmware Source dialog box, perform the following
actions:
a. In the Source Name field, enter a name for the switch image, such as
"apic_1.1.3d".
b. For the Protocol radio buttons, click the Secure copy or HTTP radio button.
c. In the URL field, enter the URL from where the image must be downloaded.
d. Click Submit.
6
In the Work pane, choose the Operational tab to view the download status of
the images.
Once the download reaches 100%, in the Navigation pane, choose Firmware
Repository.
60
10
In the Work pane, the downloaded version numbers and image sizes are
displayed.
To down
load the firmware im
ages using the APIC CLI:
1
admin@apic1:~> scp
username@IP_address_with_the_image:/absolute_path_to_image_plus_image_filename 
!
In the Work pane, choose Actions > Upgrade Controller Firmware Policy.
In the Upgrade Controller Firmware Policy dialog box, perform the following
actions:
61
a. In the Target Firmware Version field, from the drop-down list, choose the
image version to which you want to upgrade.
b. In the Apply Policy field, click the Apply now radio button. Alternately, you
can apply a schedule policy if you wish to defer the task to a specific
date/time.
c. Click Submit to complete the task.
The Sta
tus di
al
og box dis
plays the Changes Saved Suc
cess
fully mes
sage, and the
up
grade process be
gins. The APIC con
trollers are up
graded se
ri
ally so that the
con
troller clus
ter is avail
able dur
ing the up
grade.
5
Verify the status of the upgrade in the Work pane by clicking Controller
Firmware in the Navigation pane.
The con
trollers up
grade in ran
dom order. Each APIC con
troller takes about 10
min
utes to up
grade. Once a con
troller image is up
graded, it drops from the
clus
ter, and it re
boots with the newer ver
sion while the other APIC con
trollers
in the clus
ter are still op
er
at
ional. Once the con
troller re
boots, it joins the clus
ter again. Then the clus
ter con
verges, and the next con
troller image starts to
up
grade. If the clus
ter does not im
me
di
ately con
verge, and is not fully fit, the
up
grade will wait until the clus
ter con
verges and is fully fit. Dur
ing this pe
riod, a
Wait
ing for Clus
ter Con
ver
gence mes
sage is dis
played in the Sta
tus col
umn for
each APIC as it up
grades.
When the APIC con
troller that the browser is con
nected to is up
graded and it
re
boots, the browser dis
plays an error mes
sage.
In the browser URL field, enter the URL for the APIC controller that has already
been upgraded, and sign in to the APIC controller as prompted.
62
If you have not created a firmware group, perform the following substeps:
a. In the Work pane, choose the Policy tab.
b. Choose Actions > Create Firmware Group.
c. In the Create Firmware Group dialog box, perform the following actions:
i. In the Group Name field, enter the name of the firmware group.
ii. In the Target Firmware Version drop-down list, choose the
firmware version to which you will upgrade.
iii. In the Group Node IDs field, enter a comma-separated list or a range of
node IDs to include in the group. For example, "101, 103-105, 108".
iv. Click Submit.
d. To verify that the firmware group was created, in the Navigation pane,
choose Fabric Node Firmware > Firmware Groups >
new_firmware_group. The Work pane displays details about the firmware
policy that was created earlier.
If you have not created maintenance groups, perform the following substeps:
a. In the Navigation pane, click Maintenance Groups.
Note: Cisco recommends that you create two maintenance groups for all of
the switches. For example, create one group with the even-numbered
devices and the other group with the odd-numbered devices.
b. In the Work pane, choose Action > Create Maintenance Group.
c. In the Create Maintenance Group dialog box, perform the following actions:
i. In the Group Name field, enter the name of the maintenance group. For
example, "Even-Nodes".
ii. For the Run Mode radio buttons, click the Pause Upon Upgrade
Failure radio button, which is the default mode.
iii. In the Group Node IDs field, enter a comma-separated list or a range of
node IDs to include in the group. For example, "102, 104, 106, 108, 110".
iv. In the Scheduler drop-down list, you can choose to create a schedule
for upgrading or leave the drop-down list blank so that you can upgrade on
demand.
v. Click Submit.
63
vi. To verify that the maintenance group was created, in the Navigation pane,
choose Fabric Node Firmware > Maintenance Groups
> new_maintenance_group, and click the name of the maintenance
group that you created.
Note: The Work pane displays details about the maintenance policy.
vii. Repeat this step for the second maintenance group. For example, a group
named "Odd-Nodes".
5
In the Upgrade Now dialog box, for Do you want to upgrade the maintenance
group policy now?, click Yes.
Click OK.
Note: In the Work pane, the Status displays that all the switches in the group
are being upgraded simultaneously. The default concurrency in a group is set at
20. Therefore, up to 20 switches at a time will get upgraded, and then the next
set of 20 switches are upgraded. In case of any failures, the scheduler pauses
and manual intervention is required by the APIC administrator. The switch
upgrade takes up to 12 minutes for each group. The switches will reboot when
they upgrade, connectivity drops, and the controllers in the cluster will not
communicate for some time with the switches in the group. Once the switches
rejoin the cluster after rebooting, you will see all the switches listed under the
controller node. If there are any VPC configurations in the cluster, the upgrade
process will upgrade only one switch at a time out of the two switches in a VPC
domain.
64
To up
grade the APIC con
troller soft
ware using the CLI:
1
List the current software in the respository that was previously downloaded.
Ex
am
ple:
Node-Id
Role
Current-
Target-
Upgrade-
Progress-Percent
Firmware
Firmware
Status
(if inprogress)
---------
-----------
------------
------------------ ----------
controller
1.0(1.200)
apic-1.0(1.202a)
inqueue
-----------------0
controller
1.0(1.200)
apic-1.0(1.202a)
inqueue
controller
1.0(1.200)
apic-1.0(1.202a)
inprogress
The Up
grade-Sta
tus field will show "in
queue", "in
progress", or "com
ple
teok". If you
see "un
known" in this field, that con
troller has prob
a
bly up
graded and is re
boot
ing.
When the APIC con
troller to which you have con
nected com
pletes up
grad
ing
and re
boots, you can close the SSH win
dow.
65
Check that the output of the following command appears like the output shown
below, with the correct version number:
Ex
am
ple:
: aci-n9000-dk9.11.1.1d.bin
Type
: switch
Version : 11.1(1d)
You must up
grade each switch sep
ar
ately.
3
Check the upgrade status for the switch. The output that appears from the
following command will appear like the following sample:
Ex
am
ple:
Role
Current-
Target-
Upgrade-
Progress-Percent
Firmware
Firmware
Status
(if inprogress)
---------
-----------
-------------------
------------------ ----------
1017
leaf
n9000-11.0(1.869S1)
n9000-11.1(1d)
completeok
-----------------100
66
Inretryqueue: Node is queued again for upgrade retry (5 attempts are made
67
If you no
tice that switches are in the queued state, then check the fol
low
ing:
Is the controller cluster healthy? The controller cluster must be healthy. If you
see waitingForClusterHealth = yes in the API or "Waiting for Cluster
Convergence" showing "Yes" in the GUI, that means the controller cluster is not
healthy. Until the controller cluster is healthy, switches which have not already
started their upgrade will be in queued state.
Is the switch maintenance group paused? The group will be paused if any
switch fails its upgrade.
If the sys
tem takes longer than about 60 min
utes for a switch to dis
play wait
ing
For
Clus
ter
Health = no in the API or "Wait
ing for Clus
ter Con
ver
gence" show
ing "No" in
the GUI, you should work through the steps for ver
if
y
ing a pause in the sched
uler.
For ad
di
tional trou
bleshoot
ing pro
ce
dures, see the Trou
bleshoot
ing Cisco Ap
pli
ca
tion
Cen
tric In
fra
struc
ture doc
um
ent at the fol
low
ing URL:
https://
datacenter.
github.
io/
aci-troubleshooting-book/
69
Fabric Connectivity
Fabric Connectivity
Section Content
Switch Profiles
Reusability
Sample vPC Creation
Create VLAN Pool
71
Fabric Connectivity
72
Server Connectivity
Cisco UCS B-Series Servers
Standalone Rack Mount Servers or Non-Cisco Servers
Fabric Connectivity
External Connectivity
Extending ACI to External Layer 2
Extending an ACI Bridge Domain Outside of the Fabric
Extending Endpoint Groups Outside the ACI Fabric
Extending ACI to External Layer 3
Supported Routing Protocols
Configure MP-BGP Spine Route Reflectors
Layer 3 Integration Through Tenant Network with OSPF NSSA
External Layer 3 for Multiple Tenants
73
Fabric Connectivity
75
76
Fabric Connectivity
VLAN Pools
VLAN pools con
tain the VLANs used by the EPGs the do
main will be tied to. A do
main is
as
so
ci
ated to a sin
gle VLAN pool. VXLAN and mul
ti
cast ad
dress pools are also con
fig
urable. VLANs are in
stan
ti
ated on leaf switches based on AEP con
fig
ur
a
tion. For
ward
ing
de
ci
sions are still based on con
tracts and the pol
icy model, not sub
nets and VLANs.
AEPs
At
tach
able Ac
cess En
tity Pro
files (AEPs) can be con
sid
ered the "where" of the fab
ric
con
fig
ur
a
tion, and are used to group do
mains with sim
il
ar re
quire
ments. AEPs are tied
to in
ter
face pol
icy groups. One or more do
mains are added to an AEP. By group
ing do
mains into AEPs and as
so
ci
at
ing them, the fab
ric knows where the var
io
us de
vices in
the do
main live and the APIC can push the VLANs and pol
icy where it needs to be. AEPs
are con
fig
ured under global poli
cies.
Fabric Connectivity
77
Policy Types
Most of the poli
cies fold
ers have sub
fold
ers. For ex
am
ple, under the in
ter
face poli
cies
folder there are fold
ers for con
fig
ur
a
tion called poli
cies, pol
icy groups, and pro
files.
Interface Policies
First, in
ter
face poli
cies are cre
ated to dic
tate in
ter
face be
hav
ior, are are later tied to
in
ter
face pol
icy groups. For ex
am
ple, there should be a pol
icy that dic
tates CDP is dis
abled, and a pol
icy that dic
tates CDP is en
abled - these can be reused as new de
vices
are con
nected to the leaf switches.
Switch Policies
In
ter
face pol
icy groups are tem
plates to dic
tate port be
hav
ior and are as
so
ci
ated to an
AEP. In
ter
face pol
icy groups use the poli
cies de
scribed in the pre
vi
ous para
graph to
spec
ify how links should be
have. These are also reusable ob
jects as many de
vices are
likely to be con
nected to ports that will re
quire the same port con
fig
ur
a
tion. There are
three types of in
ter
face pol
icy groups de
pend
ing on link type: in
di
vid
ual, Port Chan
nel,
and vPC. Note that the ports on the leaf switches de
fault to 10GE, and a 1GE link level
pol
icy must be cre
ated for de
vices con
nected at that speed. Just like poli
cies, there
should ide
ally be a set of pol
icy groups cre
ated once and reused as new de
vices are
con
nected to the fab
ric. For ex
am
ple, there may be a pol
icy that dic
tates 10GE, CDPen
abled. Note the in
ter
face pol
icy groups sim
ply dic
tate pol
icy. Pol
icy groups do not
ac
tu
ally spec
ify where the pro
to
cols and port be
hav
ior should be im
ple
mented. The
"where" hap
pens by as
so
ci
at
ing one or more in
ter
face pro
files to a switch pro
file, cov
ered in the fol
low
ing para
graphs.
Switch Policy Groups
Switch pol
icy groups allow lever
ag
ing of ex
ist
ing switch po
lices like Span
ning Tree and
mon
it
or
ing poli
cies.
Interface Profiles
In
ter
face pro
files help tie the pieces to
gether. In
ter
face pro
files con
tain blocks of ports
- in
ter
face se
lec
tors - and are also tied to the in
ter
face pol
icy groups de
scribed in the
78
Fabric Connectivity
pre
vi
ous para
graphs. Again, this is just an ar
bi
trary port, such as e1/1, the pro
file must
be as
so
ci
ated to a spe
cific switch pro
file (dis
cussed in the next para
graph) to con
fig
ure
the ports.
Switch Profiles
Fabric Connectivity
79
In tra
di
tional net
work
ing one of the lim
it
a
tions re
lated to VLAN en
cap
su
la
tion is scal
a-
bil
ity and re-us
abil
ity due to the limit of 4096 VLANs in net
work
ing de
vices.
In ACI, with the de
fault con
fig
ur
a
tion (global), EPGs can use the same VLAN en
cap
su
la
tion as long as EPGs are bound to sep
ar
ate switches. This al
lows ten
ants to re-use
VLAN en
cap
su
la
tion IDs thor
ough the fab
ric with
out al
low
ing com
mu
ni
ca
tion be
tween
ten
ants. How
ever, global con
fig
ur
a
tion as
sumes that ten
ants do not share leaf switches
and there
fore there is no VLAN over
lap
ping within the same leaf.
Best Practices
Cisco has es
tab
lished sev
eral best prac
tices for fab
ric con
fig
ur
a
tion. These are not re
quire
ments and might not work for all en
vi
ron
ments or ap
pli
ca
tions, but might help
sim
plify day-to-day op
er
at
ion of the ACI fab
ric.
Policies
Reuse policies whenever possible. For example, there should be policies for
LACP active/passive/off, 1GE port speed, and 10GE port speed.
When naming policies, use names that clearly describe the setting. For
example, a policy that enables LACP in mode active could be called "LACPActive". There are many "default" policies out of the box. However, it can be
hard to remember what all the defaults are, which is why policies should be
clearly named to avoid making a mistake when adding new devices to the
fabric.
A set of interface policy groups should be created for each type of similar
devices connected. For example, there can be a set of interface policy
groups for all VMware ESXi servers connected via 10GE vPCs, and a
different set of interface policy groups for all bare metal servers running
Fabric Connectivity
80
1GE with CDP disabled. Since interface policy groups are tied to a single
AEP, each AEP will have its own set of interface policy groups.
Create a switch profile for each leaf switch individually, and additionally,
create a switch profile for each vPC pair (if using vPC).
Domains
Build one physical domain per tenant for bare metal servers or servers
without hypervisor integration requiring similar treatment.
Build one physical domain per tenant for external connectivity.
If a VMM domain needs to be leveraged across multiple tenants, a single
VMM domain can be created and associated with all leaf ports where
VMware ESXi servers are connected.
AEPs
Multiple domains can be associated to a single AEP for simplicity's sake.
There are some cases where multiple AEPs may need to be configured to
enable the infrastructure VLAN, such as overlapping VLAN pools, or to limit
the scope of the presence of VLANs across the fabric.
Fabric Connectivity
81
Object relationships
Whereas a tra
di
tional com
mand line in
ter
face on a switch gen
er
ally re
quires a port-byport confugu
ra
tion, ACI al
lows de
f
i
n
i
tion of ob
jects and poli
cies that can be re-used.
The re-us
abil
ity of these poli
cies makes it pos
si
ble to repli
cate the con
fig
u
ra
tion of a
switch very eas
ily. The fol
low
ing di
a
gram de
picts how this re-us
abil
ity sim
pli
fies the
op
er
a
tion of the fab
ric over time.
82
Fabric Connectivity
Policy Re-use
In any data cen
ter, the con
fig
u
ra
tion of a cou
ple of switches does not re
quire many
processes or au
toma
tion. As the data cen
ter size in
creases, au
toma
tion be
comes more
and more crit
i
cal as it has a di
rect im
pact on the cost of busi
ness op
er
a
tions. In tra
di
tional net
works, when changes that im
pact a large set of de
vices need to be made, the
op
er
a
tor is faced with the cost of de
sign
ing processes to man
age these de
vices. These
can be net
work man
age
ment tools, scripts, or spe
cial
ized ap
pli
ca
tions. Lever
ag
ing the
Cisco ACI pol
icy model, an op
er
a
tor can lever
age pro
files to stream
line the op
er
a
tion of
adding de
vices and man
ag
ing those de
vices. This is what is de
picted as the pol
icy reuse in
flec
tion point in the pre
vi
ous di
a
gram.
Sample Configuration
The fol
low
ing sec
tions will walk through sam
ple con
fig
u
ra
tion of set
ting up in
di
vid
u
ally
con
nected de
vices, Port Chan
nel-con
nected de
vices, and vPC-con
nected de
vices from
scratch, and will in
clude a re
view of the ob
jects as they are con
fig
ured. These are the
steps to be taken in the APIC GUI when new de
vices are con
nected to the leaf switches
to en
sure the ac
cess ports on the leaf switches have the right switch
port con
fig
u
ra
tion,
and the ver
i
fi
ca
tion steps to en
sure proper con
fig
u
ra
tion. The fol
low
ing steps rep
re
sent the use case of adding a new bare metal server con
nected to a leaf switch.
Fabric Connectivity
83
Be
fore get
ting into the con
fig
u
ra
tion of vPC's, which are a pop
u
lar server con
nec
tiv
ity
method
ol
ogy, it is im
por
tant to un
der
stand what vPC's are and how they are dif
fer
ent from
tra
di
tional meth
ods of server con
nec
tiv
ity. This sec
tion of the chap
ter at
tempts to clar
ify
at a high level what vPC's are, the ben
e
fits they pro
vide and how vPC's in the ACI fab
ric dif
fer from how they are de
ployed on Cisco Nexus switches run
ning NX-OS soft
ware.
At a high level, vPC ex
tends link ag
gre
ga
tion to two sep
a
rate phys
i
cal switches.
vPC Topology
In the fig
ure above, a sin
gle server is dual homed to two dif
fer
ent switches for re
dun
dancy. With
out vPC's, the server will likely use an ac
tive-standby con
fig
u
ra
tion, or a
spe
cial con
fig
u
ra
tion on the NIC dri
ver or the ker
nel that al
lows it to in
tel
li
gently loadbal
ance traf
fic using an al
go
rithm.
By con
fig
ur
ing ports on two dif
fer
ent switches as the same port-chan
nel and using an
in
ter-switch mes
sag
ing chan
nel (such as the in
ter-switch port-chan
nel in the green
box on the left hand side) to cover re
dun
dancy sce
nar
ios, we pro
vide a log
i
cal topol
ogy
that greatly sim
pli
fies server pro
vi
sion
ing and man
age
ment.
This al
lows for sev
eral key ad
van
tages from a server de
ploy
ment per
spec
tive:
84
Fabric Connectivity
Fabric Connectivity
85
As il
lus
trated above, in Cisco switch
ing prod
ucts run
ning NX-OS soft
ware, vPC con
fig
u
ra
tions need to be done man
u
ally by the op
er
a
tor and re
quire a pair of ded
i
cated "in
ter-switch" links also called a peer-link. There is also a peer-keepalive link, typ
i
cally on
the out-of-band man
age
ment port, that is used to de
ter
mine peer live
li
ness to de
tect a
vPC peer-switch fail
ure. Mak
ing con
fig
u
ra
tion changes in such sce
nar
ios with
out the
con
fig-sync fea
ture en
abled may lead to sce
nar
ios where there are mis
matched vPC
pa
ra
me
ters be
tween the vPC pri
mary and the vPC sec
ondary switches that may cause
par
tial con
nec
tiv
ity loss dur
ing the change it
self if a type-1 in
con
sis
tency is de
tected.
The ACI fab
ric greatly sim
pli
fies VPC con
fig
u
ra
tions.
Fabric Connectivity
86
The fol
low
ing are some other key be
hav
ioral changes to vPC as it ap
plies to the ACI
fab
ric rel
at
ive to clas
sic vPC that are im
por
tant for op
er
at
ors to un
der
stand:
In traditional vPC solution, the slave switch brings down all its vPC links if the
MCT goes down.
In the ACI fabric, it is very unlikely that all the redundant paths between vPC
peers fail at the same time. Hence if the peer switch becomes unreachable, it is
assumed to have crashed. The slave switch does not bring down vPC links.
Role is used in case of vpc type-1 consistency failure. Slave switch brings down
all its vPC ports. A list of type-1 parameters used for consistency checking for a
given vPC domain specific to the ACI fabric are listed below.
The fol
low
ing di
ag
rams il
lus
trate how the ACI fab
ric for
wards traf
fic from a vPC do
main
to a non-vPC con
nected host in the fab
ric, and vice-versa.
Fabric Connectivity
87
vPC forwarding
Uni
cast packet flow H2 -> H1
1
Spine switch sees multiple routes for VIP and picks one of them (S2 in this case).
H1 -> H2
1
Fabric Connectivity
88
Encapsulation normalization
In the Create VLAN Pool dialog box, perform the following actions:
a. Define a meaningful name for the VLAN pool.
b. Optionally, provide a description for the VLAN pool.
c. There are two allocation modes: dynamic or static.
Note: When dynamic allocation is selected, the APIC selects VLANs from the
pool dynamically. This is common in VMM integration mode where the actual
Fabric Connectivity
89
VLAN ID is not important. Remember it's the EPG itself which policies are
applied to. Static allocation is typically used when the pool will be referenced
from a static source like a static path binding for an EPG for use with bare
metal servers.
d. The encap blocks are used to define the range of VLANs in the VLAN pool.
Note multiple ranges can be added to a single pool.
XML Ob
ject
<fvnsVlanInstP allocMode="static" childAction="" configIssues="" descr=""
In the Navigation pane, choose Physical and External Domains > Physical
Domains.
3
4
Fabric Connectivity
90
XML Ob
ject
<physDomP childAction="" configIssues="" dn="uni/phys-bsprint-PHY" lcOwn="local"
modTs="2015-02-23T16:13:21.906-08:00" monPolDn="uni/fabric/monfab-default"
name="bsprint-PHY" ownerKey="" ownerTag="" status="" uid="8131">
tType="mo"/>
In the Navigation pane, choose Global Policies > Attached Acess Entity Profle.
In the Work pane, choose Actions > Create Attached Entity Profile.
In the Create Attached Entity Profile dialog box, perform the following actions:
a. Define the a meaningful name for the profile.
b. Optionally, enter a description.
c. Click + to associate the domain to the AEP.
d. Select the physical domain that was previously configured.
Click Next.
Click Submit.
Fabric Connectivity
91
XML Ob
ject
<infraAttEntityP childAction="" configIssues="" descr="" dn="uni/infra/attentp-
status="" uid="8131">
rn="dompcont" status="">
modTs="2015-02-25T11:35:33.570-08:00" rn="assocdomp-[uni/l2dom-JC-L2-Domain]"
status=""/>
</infraContDomP>
status=""/>
</infraRsToEncapInstDef>
</infraContNS>
rn="rtattEntP-[uni/infra/funcprof/accportgrp-bsprint-AccessPort]" status=""
tCl="infraAccPortGrp" tDn="uni/infra/funcprof/accportgrp-bsprint-AccessPort"/>
Fabric Connectivity
92
cies. In
ter
face poli
cies can be re-used as needed by dif
fer
ent in
ter
face pro
file de
f
in
i
t
ion
re
quire
ments. This sec
tion will il
lus
trate cre
ation of new pro
files, but ide
ally there are
al
ready poli
cies in place that can sim
ply be se
lected.
Create Link Level Policies
In the Navigation pane, choose Interface Policies > Policies > Link Level.
In the Work pane, choose Actions > Create Link Level Policy.
In the Create Link Level Policy dialog box, perform the following actions:
a. Define the meaningful name for the policy.
b. Optionally, provide a description for the policy.
c. Select the auto negotiation mode for the interface.
d. Select the interface speed. Leaf switch ports default to 10GE.
e. Change the de-bounce interval if required.
Click Submit.
XML Ob
ject
<fabricHIfPol autoNeg="on" childAction="" descr="" dn="uni/infra/hintfpol-1G-Auto"
In the Navigation pane, choose Interface Policies > Policies > CDP Interface.
In the Work pane, choose Actions > Create CDP Interface Policy.
In the Create CDP Interface Policy dialog box, perform the following actions:
a. Define a meaningful name for the policy such as 'CDP-Enable'.
Fabric Connectivity
93
Click Submit.
XML Ob
ject
<cdpIfPol adminSt="enabled" childAction="" descr="" dn="uni/infra/cdpIfP-CDP-Enable"
tCl="infraAccPortGrp" tDn="uni/infra/funcprof/accportgrp-UCS-10G-PG"/>
tCl="infraAccBndlGrp" tDn="uni/infra/funcprof/accbundle-ACI-VPC-IPG"/>
08:00" rn="rtinfraCdpIfPol-[uni/infra/funcprof/accportgrp-bsprint-AccessPort]"
tCl="infraAccPortGrp" tDn="uni/infra/funcprof/accportgrp-L3-Example"/>
</cdpIfPol>
In the Navigation pane, choose Interface Policies > Policies > LLDP Interface.
In the Work pane, choose Actions > Create LLDP Interface Policy.
In the Create LLDP Interface Policy dialog box, perform the following actions:
a. Define a meaningful name for the policy.
b. Optionally, provide a description for the policy.
c. Choose the receive state.
d. Choose the transmit state.
Click Submit.
Fabric Connectivity
94
XML Object
descr=""
08:00" rn="rtinfraLldpIfPol-[uni/infra/funcprof/accbundle-ACI-VPC-IPG]"
tCl="infraAccBndlGrp" tDn="uni/infra/funcprof/accbundle-ACI-VPC-IPG"
status=""
/>
<lldpRtLldpIfPol childAction="" lcOwn="local" modTs="2015-02-25T11:48:11.331-
08:00" rn="rtinfraLldpIfPol-[uni/infra/funcprof/accportgrp-L3-Example]"
tCl="infraAccPortGrp" tDn="uni/infra/funcprof/accportgrp-L3-Example"
</lldpIfPol>
l
ows
In the Navigation pane, choose Interface Policies > Policies > LACP
In the Create LACP Policy dialog box, perform the following actions:
a. Define a meaningful name for the policy.
b. Optionally, provide a description for the policy.
c. Select the LACP mode required for the server. Note if LACP is enabled on the
leaf switch, LACP must also be enabled on the server or other connected
device.
d. Optionally, specify the minimum and maximum number of links in the Port
Channel.
Click Submit.
Fabric Connectivity
95
XML Ob
ject
<lacpLagPol childAction="" ctrl="fast-sel-hot-stdby,graceful-conv,susp-individual"
Op
tion
ally, the LACP mem
ber pro
file pro
vides the abil
ity to pro
vide pri
or
ity spec
if
i
ca
tions to mem
bers of an LACP group.
1
In the Navigation pane, choose Interface Policies > Policies > LACP Member.
In the Work pane, choose Actions > Create LACP Member Policy.
In the Create LACP Member Policy dialog box, perform the following actions:
a. Define a meaningful name for the policy.
b. Optionally, provide a description for the policy.
c. If required, change the priority.
d. If required, change the transmit rate.
Click Submit.
The Span
ning Tree pol
icy dic
tates the be
hav
ior of south
bound leaf port Span
ning Tree
fea
tures. It is a com
mon best prac
tice to en
able BPDU guard on in
ter
faces con
nected to
servers.
Note: ACI does not run Span
ning Tree on the fab
ric be
tween the leaves and spines. The
Span
ning Tree in
ter
face pol
icy sim
ply de
fines the port be
hav
ior.
1
In the Navigation pane, choose Interface Policies > Policies > Spanning Tree
Interface.
In the Work pane, choose Actions > Create Spanning Tree Interface Policy.
Fabric Connectivity
96
In the Create Spanning Tree Interface Policy dialog box, perform the following
actions:
a. Define a meaningful name for the policy.
b. Optionally, provide a description for the policy.
c. Enable BPDU filter and/or BPDU guard.
Click Submit.
A traf
fic storm oc
curs when pack
ets flood the LAN, cre
at
ing ex
ces
sive traf
fic and de
grad
ing net
work per
for
mance. The traf
fic storm con
trol fea
ture can be used to pre
vent dis
rup
tions on ports by a broad
cast, mul
ti
cast, or uni
cast traf
fic storm on phys
i
cal in
ter
faces.
1
In the Navigation pane, choose Interface Policies > Policies > Storm Control.
In the Work pane, choose Actions > Create Storm Control Policy.
In the Create Storm Control Policy dialog box, perform the following actions:
a. Define a meaningful name for the policy.
b. Optionally, provide a description for the policy.
c. Specify how the control policy is to be applied, either through percentage of
the total bandwidth or as a packet per second definition that matches the
requirement for the data center
Click Submit.
In the Navigation pane, choose Interface Policies > Policies > L2 Interface.
In the Create L2 Interface Policy dialog box, perform the following actions:
a. Give the L2 Interface name and an optional description.
b. Select VLAN scope to Port Local scope to enable per port-VLAN.
Fabric Connectivity
97
The ac
cess port pol
icy is de
fined for an in
di
vid
ual link (non-Port Chan
nel or vPC).
1
In the Work pane, choose Actions > Create Access Policy Group.
In the Create Access Policy Group dialog box, perform the following actions:
a. Define a meaningful name for the policy group.
b. Optionally, provide a description for the policy group.
c. Use the profiles created previously that are relevant for this policy group.
Click Submit.
Fabric Connectivity
98
Port Chan
nel
ing also load-bal
ances traf
fic across the phys
ic
al in
ter
faces that are mem
bers of the chan
nel group. For every group of in
ter
faces that needs to be con
fig
ured
into a port chan
nel, a dif
fer
ent pol
icy group has to be cre
ated. This pol
icy group de
fines
the be
hav
iour. For ex
am
ple, if ports 1/1-4 are to be con
fig
ured into one port chan
nel, and ports 1/5-8 into a sep
ar
ate port chan
nel, each of those groups would re
quire
the cre
ation of a sep
ar
ate pol
icy group.
1
In the Work pane, choose Actions > Create PC Interface Policy Group.
In the Create PC Interface Policy Group dialog box, perform the following
actions:
a. Define a meaningful name for the policy group.
b. Optionally, provide a description for the policy group.
c. Select the policies created previously that are relevant for this PC policy
group.
Click Submit.
Note: This ob
ject must be unique for each VPC cre
ated.
A vir
tual PortChan
nel (vPC) al
lows links that are phys
ic
ally con
nected to two dif
fer
ent
de
vices to ap
pear as a sin
gle Port Chan
nel to a third de
vice. In the world of ACI, pairs of
leaf switches may be con
fig
ured in a vPC do
main so that down
stream de
vices can be
ac
tive-ac
tive dual-homed.
For every group of in
ter
faces that are to be con
fig
ured into a vPC, a dif
fer
ent in
ter
face
pol
icy group needs to be cre
ated. The vPC pol
icy group con
tains both the de
f
in
i
t
ion for
the be
hav
iour of the port chan
nel, and the iden
ti
fier. For ex
am
ple, if ports 1/1-4 are to
be con
fig
ured into one vPC across two switches, and ports 1/5-8 into a sep
ar
ate vPC
across two switches, each of those groups would re
quire the de
f
in
i
t
ion of a sep
ar
ate
pol
icy group.
Note: For vPC you will also re
quire a unique vPC do
main de
f
in
i
t
ion be
tween the two
paired switches. More de
tails to fol
low.
1
Fabric Connectivity
In the Work pane, choose Actions > Create VPC Interface Policy Group.
In the Create VPC Interface Policy Group dialog box, perform the following
99
actions:
a. Define a meaningful name for the policy group.
b. Optionally, provide a description for the policy group.
c. Choose the policies created previously that are relevant for this vPC policy
group.
5
Click Submit.
Interface Profile
The in
ter
face pro
file in ACI links the pol
icy groups that de
fine how the in
ter
face is
going to be
have, and as
signs them to spe
cific ports via the con
cept of in
ter
face se
lec
tor. In turn, the in
ter
face pro
file is even
tu
ally tied to a switch pro
file to spec
ify which
leaf switch the ref
er
enced ports should be con
fig
ured. As we con
tinue the process of
defin
ing the port pro
files, you can ob
serve how we have started at the bot
tom of this
ob
ject tree con
fig
ur
ing the dif
fer
ent pro
files. The pur
poses for all these in
di
vid
ual poli
cies that tie to
gether is to max
i
mize pol
icy re-use.
The in
ter
face pro
file is com
posed of two pri
mary ob
jects. The in
ter
face se
lec
tor and
the ac
cess port pol
icy group. The in
ter
face se
lec
tor de
fines what in
ter
faces will apply
the ac
cess port pol
icy. The ports that share the same at
trib
utes can then be grouped
under the same in
ter
face pro
file.
1
In the Create Interface Profile dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description for the profile.
Click Submit.
3
4
In the Work pane, choose Actions > Create Access Port Selector.
In the Create Access Port Selector dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description for the profile.
c. Enter the interface IDs.
d. Choose the interface policy group that should be associated to these ports.
Click Submit.
In the Create Interface Profile dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description for the profile.
Click Submit.
Next, cre
ate an in
ter
face port se
lec
tor. Since you will be con
fig
ur
ing a Port Chan
nel,
the op
er
a
tor will add all of the in
ter
faces re
quired in the Port Chan
nel in
ter
face. In this
ex
am
ple in
ter
faces Eth
er
net 1/1-2 will be con
fig
ured in one Port Chan
nel and in
ter
faces Eth
er
net 1/3-4 will be con
fig
ured in an
other Port Chan
nel.
1
In the Work pane, choose Actions > Create Access Port Selector.
In the Create Access Port Selector dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description for the profile.
c. Enter interface IDs for the first port channel.
d. Choose the interface policy group.
Click Submit.
Repeat this process for the second Port Channel (if you have another Port
Channel to add).
A vPC do
main is al
ways made up of two leaf switches, and a leaf switch can only be a
mem
ber of one vPC do
main. In ACI, that means that the de
f
i
n
i
tion of the poli
cies is sig
nif
i
cant be
tween the two switches. The same pol
icy can be reused be
tweeen the two
switches, and through the vPC do
main the pair as
so
ci
a
tion can be de
fined. vPC Switch
do
main mem
bers should be taken into con
sid
er
a
tion when con
fig
ur
ing firmware main
te
nance groups. By keep
ing this in mind, firmware up
grades should never im
pact both
vPC switch peers at the same time. More de
tails on this can be found in the Up
grad
ing
and Down
grad
ing Firmware sec
tion.
For this rea
son, a switch pro
file that would rep
re
sent two sep
a
rate switch IDs needs to
be cre
ated. The re
la
tion
ship of these switches to the two ports in the same pol
icy
group is de
fined through the in
ter
face pro
file.
In the Create Interface Profile dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description for the profile.
Click Submit.
7
8
In the Work pane, choose Actions > Create Access Port Selector.
In the Create Access Port Selector dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description for the profile.
c. Enter interface IDs.
d. Select of the interface policy group to be used for the vPC port behavior.
Click Submit.
When con
fig
ur
ing a vPC, there is one ad
di
tional step to be con
fig
ured once to put two
leaf switches into the same vPC do
main.
In the Navigation pane, choose Switch Policies > VPC Domain > Virual Port
Channel default.
In the Work pane, choose Actions > Explicit VPC Protection Group.
In the Explicit VPC Protection Group dialog box, perform the following actions:
a. Define a meaningful name for the vPC domain.
b. Provide a unique ID to represent the vPC domain.
c. Choose the first switch you want to be part of the vPC domain.
d. Choose the second switch you want to be part of the vPC domain.
Click Submit.
Switch Profiles
A switch pro
file groups all the in
ter
face pro
files that de
fine the be
hav
ior of its re
spec
tive switch ports. A switch pro
file could be the de
f
in
i
t
ion of a sin
gle switch or it could
be the de
f
in
i
t
ion of mul
ti
ple switches. As a best prac
tice, there should be a switch pro
file for each leaf switch, and an ad
di
tional switch pro
file for each vPC do
main pair of
leaf switches.
The in
ter
face pro
files that you have cre
ated can be as
so
ci
ated to the switch through a
sin
gle switch pro
file or they can be as
so
ci
ated through dif
fer
ent switch pro
files. If you
have var
io
us racks that are iden
ti
cal in the way the in
ter
face ports are con
fig
ured, it
could be ben
e
fi
cial to uti
lize the same switch pro
file. This would make it pos
si
ble to
mod
ify the con
fig
ur
a
tion of many switches dur
ing op
er
at
ions with
out hav
ing to con
fig
ure each switch in
di
vid
ua
lly.
Reusability
The ca
pa
bil
ity of pol
icy reusabil
ity is cru
cial to re-em
pha
size from an op
er
at
ional per
spec
tive. If a pro
file has been de
fined to con
fig
ure a port as 1GB speed for ex
am
ple, that
pro
file can be reused for many in
ter
face pol
icy groups. When look
ing at whole switch
con
fig
ur
a
tions, the re-us
abil
ity of the pro
file can be ex
tended to sim
plify data cen
ter
op
er
at
ions and en
sure com
pli
ance. The fol
low
ing fig
ure il
lus
trates the reusabil
ity of
pro
files across racks of switches.
Sample Topology
In the Create VLAN Pool dialog box, perform the following actions:
a. Define a meaningful name for the pool.
b. Optionally, provide a description for the pool.
c. Click Static Allocation for the allocation mode.
Note: For this example the pool will be from VLAN 100 to VLAN 199.
REST :: /api/node/class/fvnsVlanInstP.xml
CLI :: moquery -c fvnsVlanInstP
In the Navigation pane, choose Physical and External Domains > Physical
Domains.
3
4
REST :: /api/node/class/physDomP.xml
CLI :: moquery -c physDomP
In the Navigation pane, choose Global Policies > Attachable Access Entity
Profles.
3
4
In the Work pane, choose Actions > Create Attached Entity Profile.
In the Create Attached Entity Profile dialog box, perform the following actions:
a. Define a meaningful name for the AEP.
b. Provide a unique ID to represent the AEP.
c. Click + to add a domain that will be associated to the interfaces.
d. Choose the physical domain that you previously created.
Click Next.
Click Submit.
REST :: /api/node/class/infraAttEntityP.xml
CLI :: moquery -c infraAttEntityP
Interface Policies
Create Link Level Policy
In the Navigation pane, choose Interface Policies > Policies > Link Level.
In the Work pane, choose Actions > Create Link Level Policy.
In the Create Link Level Policy dialog box, perform the following actions:
a. Define a meaningful name for the pool.
b. Optionally, provide a description for the policy.
c. Choose the auto negotiation for the interface.
d. Choose the speed to match the interface requirement.
Click Submit.
REST :: /api/node/class/fabricHIfPol.xml
CLI :: moquery -c fabricHIfPol
In the Navigation pane, choose Interface Policies > Policies > LACP.
In the Create LACP Policy dialog box, perform the following actions:
a. Define a meaningful name for the policy.
b. Optionally, provide a description for the pool.
c. In mode click on Active.
Click Submit.
REST :: /api/node/class/lacpLagPol.xml
CLI :: moquery -c lacpLagPol
In the Work pane, choose Actions > Create vPC Interface Policy Group.
In the Create vPC Interface Policy Group dialog box, perform the following
actions:
a. Define a meaningful name for the policy group.
b. Optionally, provide a description for the policy group.
c. Choose a Link Level Policy.
d. Choose an LACP Policy.
Note: LACP is recommended for vPCs. However, ensure LACP is configured
on the device connected to the leaf switch.
e. Choose an AEP to associate the policy group to.
Click Submit.
REST :: /api/node/class/infraAccBndlGrp.xml
CLI :: moquery -c infraAccBndlGrp
In the Create Interface Profile dialog box, perform the following actions:
a. Define a meaningful name for the policy group.
b. Optionally, provide a description for the policy group.
Click Submit.
In the Navigation pane, choose Interface Policies > Profiles > Profiles > ACIVPC-int-profile.
7
8
In the Work pane, choose Actions > Create Access Port Selector.
In the Create Access Port Selector dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description.
c. Select the proper interfaces.
d. Select an interface policy group.
Click Submit.
REST :: /api/node/class/infraAccPortP.xml
CLI :: moquery -c infraAccPortP
In the Create Switch Profile dialog box, perform the following actions:
a. Define a meaningful name for the profile.
b. Optionally, provide a description for the profile.
c. In switch selectors click on the + symbol.
i. Name: 103-104 (example node numbers).
ii. Blocks: Select switch 103 and switch 104.
Click Next.
Click Finish.
REST :: /api/node/class/infraNodeP.xml
CLI :: moquery -c infraNodeP
In the Navigation pane, choose Switch Policies > VPC Domain > Virual Port
Channel default.
In the Work pane, choose Actions > Explicit VPC Protection Group.
a. In the Explicit VPC Protection Group dialog box, perform the following
actions:
b. In the Explicit VPC Protection Groups section, click + to create a vPC
protection group.
c. Define a meaningful name for the vPC domain.
d. Provide a unique ID for the vPC domain.
e. Select the first switch ID that is part of this vPC pair: 103.
f. Select the second switch ID that is part of this vPC pair: 104.
Click Submit.
REST :: /api/node/class/fabricExplicitGEp.xml
CLI :: moquery -c fabricExplicitGEp
In the Navigation pane, choose POD 1 > Interfaces > vPC Interfaces.
In the Work pane, there will be a table that shows the status of the vPC
interface. If configured correctly, the status should be displayed and you should
see successful establishment of the vPC domain.
If you con
nect to the con
sole or the out of band man
age
ment in
ter
face of the leaf node
you should be able to see the sta
tus with the com
mand show vpc.
Leaf-3# show vpc
Legend:
vPC domain id
: 100
: Disabled
Peer status
: success
: success
: success
vPC role
: primary
: 1
Peer Gateway
: Disabled
: -
: Enabled
Auto-recovery status
: Disabled
--------------------------------------------------------------------id
-1
Port
----
------ -------------------------------------------------up
vPC status
---------------------------------------------------------------------id
Port
Active vlans
Po1
up
--
----
success
------------
The fol
low
ing REST API call can be used to build vPCs and at
tach vPCs to sta
tic port
bind
ings.
URL: https://{{apic-ip}}/api/policymgr/mo/.xml
<polUni>
<infraInfra>
<infraNodeP name="switchProfileforVPC_201">
</infraLeafS>
<infraRsAccPortP tDn="uni/infra/accportprof-intProfileforVPC_201"/>
</infraNodeP>
<infraNodeP name="switchProfileforVPC_202">
</infraLeafS>
<infraRsAccPortP tDn="uni/infra/accportprof-intProfileforVPC_202"/>
</infraNodeP>
<infraAccPortP name="intProfileforVPC_201">
toPort="15"/>
<infraRsAccBaseGrp tDn="uni/infra/funcprof/accbundle-intPolicyGroupforVPC"/>
</infraHPortS>
</infraAccPortP>
<infraAccPortP name="intProfileforVPC_202">
toPort="1"/>
<infraRsAccBaseGrp tDn="uni/infra/funcprof/accbundle-intPolicyGroupforVPC"/>
</infraHPortS>
</infraAccPortP>
<infraFuncP>
<infraRsAttEntP tDn="uni/infra/attentp-AttEntityProfileforCisco"/>
<infraRsCdpIfPol tnCdpIfPolName="CDP_ON" />
</infraAccBndlGrp>
</infraFuncP>
</infraInfra>
</polUni>
https://{{hostName}}/api/node/mo/uni.xml
<polUni>
tDn="topology/pod-1/protpaths-201-202/pathep-[vpc201-202] />
</fvAEPg>
tDn="topology/pod-1/protpaths-201-202/pathep-[vpc201-202] />
</fvAEPg>
</fvAp>
</fvTenant>
</polUni>
Server Connectivity
Server con
nec
tiv
ity is nec
es
sary for all ap
pli
ca
tion work
loads to func
tion prop
erly
on the Cisco Ap
pli
ca
tion Cen
tric In
fra
struc
ture (ACI) fab
ric. The fab
ric con
nec
tiv
ity re
quire
ments that are dic
tated by the server in
fra
struc
ture must be care
fully con
sid
ered. In the case of Cisco Uni
fied Com
put
ing Sys
tem (UCS), fab
ric ac
cess poli
cies must
be pro
vi
soned to match these re
quire
ments. These poli
cies are all gov
erned by in
ter
face pol
icy groups. ACME Inc. has sev
eral dif
fer
ent mod
els of servers in their data cen
ters, such as Cisco UCS B and C se
ries, as well as some third party servers that all need
to be con
nected to the ACI fab
ric.
per
vi
sor is to be used, a Vir
tual Ma
chine Man
ager (VMM) do
main must be prop
erly con
fig
ured, and then as
so
ci
ated with the cor
re
spond
ing ports on the fab
ric as a hy
per
vi
sor that
is fac
ing through EPG and AEP map
ping. The key is to map the ex
pected traf
fic clas
si
fi
ca
tion to the ports that are con
nected to the server in
fra
struc
ture.
Uti
liz
ing a FEX is an al
ter
na
tive way to con
nect host de
vices into the ACI fab
ric. Re
stric
tions that are pre
sent in NX-OS mode such that non-host-fac
ing ports are not
sup
ported, are still true. Ports must only be con
nected to hosts, and con
nec
tiv
ity to any
other net
work de
vice will not func
tion prop
erly. When uti
liz
ing a FEX, all host-fac
ing
ports are treated the same way as if they were di
rectly at
tached to the ACI fab
ric.
When cre
at
ing dy
namic VLAN pools for VMM in
te
gra
tion, the VLAN range must also be
cre
ated on any in
ter
me
di
ate de
vices, such as tra
di
tional switches or blade switches.
This in
cludes cre
at
ing the VLANs on Uni
fied Com
put
ing Sys
tem (UCS).
VMware Integration
When in
te
grat
ing ACI into your VMware in
fra
struc
ture you have two op
tions for de
ploy
ing net
work
ing. VMware do
mains can be de
ployed, lever
ag
ing the VMware
vSphere Dis
trib
uted Vir
tual Switch (DVS) or the Cisco Ap
pli
ca
tion Vir
tual Switch (AVS).
Both pro
vide sim
i
lar basic vir
tual net
work
ing func
tion
al
ity; how
ever, the AVS pro
vides
ad
di
tional ca
pa
bil
i
ties, such as VXLAN and mi
croseg
men
ta
tion sup
port. ACME Inc. has
cho
sen to lever
age the ad
di
tional fea
tures pro
vided by AVS. For or
ga
ni
za
tions in
ter
ested in using the stan
dard DVS pro
vided by VMware, please refer to the fol
low
ing doc
u
ments:
http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
getting-started/
video/
cisco_
apic_
create_
vcenter_
domain_
profile_
using_
gui.
html
In the Add VM Domain Association dialog box, choose the VMM Domain Profile
that you previously created.
a. For the Deployment & Resolution Immediacy, Cisco recommends keeping
the default option of On Demand. This provides the best resource usage in
the fabric by only deploying policies to Leaf nodes when endpoints assigned
to this EPG are connected. There is no communication delay or traffic loss
by keeping the default selections.
Click Submit.
Note: The EPG will now be available as a Port Group to your VMM.
From the Host and Clusters view, right click on your Virtual Machine and select
"Edit Settings".
There may be a communication between your APIC and vCenter either through
You can de
ter
mine the DN of your EPG by right click
ing on the EPG in the GUI, se
lect
ing "Save As" and look
ing at the XML ob
ject. From this file you will see the DN entry for
the par
tic
ul
ar EPG:
: 00:50:56:BB:8C:6A
childAction
dn
: uni/tn-mb-tennant1/ap-mb-app-pro/epg-epg-od/cep-00:50:56:BB:8C:6A
encap
: vlan-211
id
: 0
idepdn
ip
: 10.10.10.10
lcC
: learned,vmm
lcOwn
: local
mac
: 00:50:56:BB:8C:6A
mcastAddr
: not-applicable
modTs
: 2015-02-06T06:48:52.229+11:00
rn
: cep-00:50:56:BB:8C:6A
status
uid
: 0
uuid
One or more vSphere hosts are available for deployment to the AVS.
A DNS server policy has been configured to enable connection to a VMM using
a hostname.
A dynamic VLAN pool has been created with enough VLAN IDs to accommodate
one VLAN per EPG you plan on deploying to each VMM domain.
Getting Started
The AVS soft
ware was de
signed to op
er
ate in
de
pen
dently of the APIC soft
ware ver
sion.
This al
lows ei
ther de
vice to be up
graded in
de
pen
dently. Al
ways refer to the AVS re
lease notes to con
firm if any spe
cial con
sid
er
at
ions may exist.
Just like any soft
ware, new ver
sions of the AVS will be re
leased to in
clude new fea
tures
and im
prove
ments. The ini
tial AVS soft
ware re
leased was ver
sion 4.2.1, fol
lowed by
tem Com
pat
i
bil
ity List doc
um
ent to en
sure your
ver
sion 5.2.1. Refer to the ACI Ecosys
de
sired ver
sion of AVS is com
pat
ib
le with the APIC and vSphere ver
sions being run.
The AVS pack
age for ei
ther ver
sion will in
clude vSphere In
stal
la
tion Bun
dles (VIBs).
Each ver
sion of AVS soft
ware in
cludes the VIB files for all sup
ported vSphere ver
sions.
As of this pub
li
ca
tion there are two VIBs to sup
port vSphere ver
sions 5.1 and 5.5
(vSphere 5.0 is not sup
ported). These can be down
loaded from CCO at the fol
low
ing
lo
ca
tion:
Down
loads Home > Prod
ucts > Switches > Vir
tual Net
work
ing > Ap
pli
ca
tion Vir
tual
Switch
cross_cisco-vem-v165-4.2.1.2.2.3.0-3.1.1.vib
cross_cisco-vem-v165-4.2.1.2.2.3.0-3.2.1.vib
AVS 5.2.1 Bundle
cross_cisco-vem-v172-5.2.1.3.1.3.0-3.1.1.vib
cross_cisco-vem-v172-5.2.1.3.1.3.0-3.2.1.vib
Manual Installation
1
Copy the VIB file to a host. The easiest way to copy the VIB to the host is to
leverage the VMware VI Client, navigate to the Host > Configuration > Storage
> Datastore_X. Right click on the desired datastore and select Browse. From
here,VIB can be uploaded directly to the host's datastore.
SSH into the vSphere host on which the AVS VIB is to be installed.
To Up
grade an ex
ist
ing AVS VIB:
esxcli software vib update -v /<path>/<vibname> --maintenance-mode --no-sig-check
A sam
ple out
put is shown below:
# esxcli software vib install -v /vmfs/volumes/datastore1/cross_cisco-vem-v1725.2.1.3.1.3.0-3.2.1.vib --maintenance-mode --no-sig-check
Installation Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed: Cisco_bootbank_cisco-vem-v172-5.2.1.3.1.3.0-3.2.1
VIBs Removed:
VIBs Skipped:
/vmfs/volumes/53cab6da-55209af3-0ef2-24e9b391de3e # vem version
Running esx version -1623387 x86_64
VEM Version: 5.2.1.3.1.3.0-3.2.1
VSM Version:
System Version: VMware ESXi 5.5.0 Releasebuild-1623387
# vem status
VEM modules are loaded
Switch Name
Num Ports
Used Ports
Configured Ports
MTU
Uplinks
vSwitch0
3072
128
1500
VMNIC0
DHCP Relay
The first task is to cre
ate a DHCP relay pol
icy in the infra ten
ant on the APIC. This will
allow the AVS to cre
ate a vmk Vir
tual Tun
nel End
point (VTEP) in
ter
face on each host.
This VTEP in
ter
face will be used for the Open
Flex con
trol chan
nel and/or the VXLAN
tun
nel source be
tween the VTEP and ACI fab
ric.
If the de
fault TEP Ad
dress pool was used dur
ing ini
tial setup (10.
0.
0.
0/
16), this will
allow the AVS VTEP in
ter
faces to pull an ad
dress from this pool. The way APIC would
do it is through over the infra vlan. For this rea
son it is crit
ic
al to ex
tend the Infra
VLAN from a leaf through to each vSphere host that will host the AVS.
In the Navigation pane, choose infra > Networking > Protocol Policies > DHCP
> Relay Policies.
4
5
In the Work pane, choose Actions > Create DHCP Relay Policy.
In the Create DHCP Relay Policy dialog box, perform the following actions:
a. Provide a name for the Relay policy, such as "avs-dhcp-relay-pol".
b. Leave other fields blank and click OK.
Click Submit.
4
5
In the Work pane, choose Actions > Create DHCP Relay Policy.
In the Create DHCP Relay Policy dialog box, perform the following actions:
a. Change the Scope to TENANT.
b. From the Name drop-down list, choose the DHCP Relay Policy that you
created previously.
Click Submit.
In the Navigation pane, choose Global Policies > Attachable Access Entity
Profile.
In the Work pane, choose Actions > Create Attachable Access Entity Profile.
In the Create Attachable Access Entity Profile dialog box, perform the
following actions:
a. Fill in the AEP wizard information then click Next.
i. Name: Provide any name to identify the AEP, such as "AVS-AEP".
ii. Enable Infrastructure VLAN: Check this box.
iii. Domains (VMs or Baremetal): Leave blank. This will be covered later in the
Publishing EPGs to VMM Domains chapter.
b. From the next page of the wizard, select the Interface Policy Group your
AEP will be associated to. This procedure assumes your Interface Policy
Group has already been created. Click the All Interfaces radio button for the
desired Interface Policy Group.
Note: In
ter
face Pol
icy Group cre
ation is cov
ered else
where in this guide. Es
sen
tially
the In
ter
face Pol
icy Group is a col
lec
tion of In
ter
face poli
cies which de
fine In
ter
faces
Se
lec
tors and prop
er
ties, such as speed/ne
go
ti
at
ion, LLDP, and CDP. See the "Adding
New De
vices to the Fab
ric" chap
ter for more de
tail on cre
at
ing the in
ter
face pol
icy
group and in
ter
face pro
files.
In the Navigation pane, choose Global Policies > Attachable Access Entity
Profile.
a. In the Navigation pane, choose the existing AEP
b. In the Work pane, check the Enable Infrastructure VLAN check box.
Note: As men
tioned early in this chap
ter, the In
fra
struc
ture VLAN is re
quired for AVS
com
mu
ni
ca
tion to the fab
ric using the Open
Flex con
trol chan
nel.
In the Create vCenter Domain dialog box, perform the following actions:
a. Name: This value will be used as the AVS "Switchname" displayed in vCenter.
b. Virtual Switch: Cisco AVS
c. Switching Preference: <Choose Local or No Local Switching>
Click Submit.
In the vCenter client, navigate to HOME > INVENTORY > NETWORKING and
confirm a new Distributed Virtual Switch folder has been created.
Expand this folder to find your AVS, and a few default Port Groups including
"uplink" and "vtep".
From the vCenter client, navigate to HOME > INVENTORY > NETWORKING.
Right click on the newly created AVS switch (not the folder) and choose Add
Host....
In the Add Host dialog box, choose any vSphere hosts to add to the AVS, and
select an unassigned VMNIC uplink.
Click Next until the wizard completes, skipping the migration of any virtual
adapters or virtual machine networking at this time.
Assuming the ACI fabric can reach the vSphere host over the infra VLAN, you
should see a new vmk interface created on your distributed switch within
vCenter and assigned to the 'vtep' port group. This vmk is your Virtual Tunnel
Endpoint (vtep) interface and should have pulled a DHCP address from the APIC
from the TEP subnet. As can be seen from the screenshot below, we see that
the VMkernel port has received the IP address from the APIC. The APIC uses
the same 10.0.0.0/16 pool that is created during the APIC setup to provision the
IP address. This implies that we are ready for Opflex communication in
between the AVS and the APIC.
~ # esxcfg-VMKNIC -l
Interface
Port Group/DVPort
Netmask
Broadcast
vmk0
Management Network
255.255.255.0
vmk1
255.255.255.0
vmk2
255.255.0.0
172.16.176.255
vmotion
192.168.99.255
9
10.0.255.255
IP Family IP Address
MAC Address
IPv4
MTU
TSO MSS
Enabled Type
65535
true
STATIC
true
STATIC
true
DHCP
172.16.176.54
00:25:b5:00:00:29 1500
IPv4
192.168.99.54
00:50:56:61:1c:92 1500
IPv4
65535
10.0.16.95
00:50:56:65:3d:b3 1500
65535
Ver
ify on the AVS host - there should be one mul
ti
cast group per de
ployed EPG on the
host. In the out
put below, there are three dif
fer
ent Vir
tual Ma
chines con
nected to dif
fer
ent EPGs.
~ # vemcmd show epp multicast
Number of Group Additions 3
Number of Group Deletions 0
Multicast Address
225.0.0.58
225.0.0.76
225.0.0.92
These mul
ti
cast ad
dresses will cor
re
spond to the EPG de
tails found in the APIC GUI
antX > Ap
pli
ca
tion Pro
files > Ap
pli
ca
tion
Pro
fileX > End Point
under Ten
ants > Ten
Groups > End
Point
GroupX and click the Op
er
a
tional Tab > Client End Points.
at
tached to a Cisco AVS switch. Each of the VMKNICs that you cre
ate has its own soft
ware-based MAC ad
dress. In VXLAN load bal
anc
ing, the VMKNICs pro
vide a unique
MAC ad
dress to pack
ets of data that can then be di
rected to use cer
tain phys
i
cal NICs
(VM
NICs).
You need to have as many VMKNICs as the host has VM
NICs, up to a max
i
mum of eight.
For ex
am
ple, if the host has five VM
NICs, you need to add four VMKNICs to en
able
VXLAN load-bal
anc
ing; the Cisco Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
troller (APIC) al
ready cre
ated one VMKNIC when the host was added to the dis
trib
uted vir
tual switch
(DVS).
In VMware vSphere Client, you will need to cre
ate an ad
di
tional vir
tual adapter (VMK)
for each AVS up
link. Each vmk in
ter
face cre
ated for the AVS should be at
tached to the
vtep port group and con
fig
ured for DHCP. In the screen
shot below you can see the
four VMNIC up
links to the AVS and the four vmk vir
tual in
ter
faces to pro
vide equal load
bal
anc
ing traf
fic across all up
links. Note that each VMK in
ter
face added is as
signed a
unique DHCP ad
dress from the fab
ric TEP pool.
This sec
tion of the ar
ti
cle will focus the nec
es
sary steps to en
able AVS through the
Cisco UCS-B se
ries.
By de
fault, USC-B FI has IGMP snoop
ing en
abled. Due to this, we have to con
fig
ure an
IGMP querier pol
icy on the APIC. The IGMP snoop
ing pol
icy needs to be en
abled on the
infra ten
ant.
If we dis
able IGMP snoop
ing on UCS or other in
ter
me
di
ate blade switches, then IGMP
pol
icy is not needed since the blade switch will flood the mul
ti
cast traf
fic on all the rel
e
vant ports.
Create an IGMP Snooping Policy for AVS
In the Navigation pane, choose infr > Networking > Bridge Domain > default.
a. In the IGMP Snoop Policy drop-down list, choose Create IGMP Snooping
Policy.
b. Provide a name for the policy, such as "IGMP_Infra".
c. Click the Fast Leave check box.
d. Click the Enable Querier check box.
Click Submit.
Note: Verify if IGMP snooping is working properly on the vSphere host CLI
using 'vemcmd show epp multicast' as shown above.
The al
ter
nate method would be to cre
ate an IGMP pol
icy on UCS to dis
able IGMP
snoop
ing. This will cause flood
ing of the mul
ti
cast traf
fic to all end
points.
External Connectivity
Extending ACI to External Layer 2
As men
tioned in the in
tro
duc
tion of this book, ACME Inc. is a multi
na
tional com
pany
with mul
ti
ple data cen
ters. There
fore, ACME Inc. must con
fig
ure some Layer 2 con
nec
tiv
ity. This is nec
es
sary for ex
tend
ing Layer 2 con
nec
tiv
ity to a Data Cen
ter In
ter
con
nect (DCI) plat
form, to fur
ther ex
tend con
nec
tiv
ity to a re
mote data cen
ter, or sim
ply
to ex
tend a Layer 2 do
main out
side of the fab
ric to con
nect in an ex
ist
ing Layer 2 net
work in a non-ACI fab
ric.
In the Work pane, choose Action > Deploy Static EPG on PC, vPC or Interface.
In the Deploy Static EPG on PC, vPC or Interface dialog box, perform the
following actions:
a. In the Path field, specify a port as well as a VLAN ID.
b. Click one of the Deployment Immediacy radio buttons. Deployment
immediacy determines when the actual configuration will be applied on the
leaf switch hardware. The immediacy also determines when the hardware
resource, such as a VLAN resource and policy content-addressable memory
(CAM) to support the related contract for this EPG, will be consumed on the
leaf switch. The option Immediate means that the EPG configuration and its
related policy configuration will be programmed in the hardware right away.
The option On Demand instructs the leaf switch to program the EPG and its
related policy in the hardware only when traffic matching this policy is
received for this EPG.
c. Click one of the Mode radio buttons. The mode option specifies whether the
ACI leaf expects incoming traffic to be tagged with a VLAN ID or not.
i. Tagged - The tagged option means that the leaf node expects incoming
traffic to be tagged with the specified VLAN ID previously established. This
is the default deployment mode. Choose this mode if the traffic from the
host is tagged with a VLAN ID. Multiple EPGs can be statically bound to
the same interface as long as the encap VLAN/VXLAN ID is unique.
ii. Untagged - The untagged option means that the leaf expects untagged
traffic without a VLAN ID. Similar to the switchport access
vlan vlan_ID command, with this option you can only assign the interface
to one EPG. This option can be used to connect a leaf port to a bare metal
server whose network interface cards (NICs) typically generate untagged
traffic. A port can have only one EPG statically bound to a port as
untagged.
iii. 802.1P - The 802.1P option refers to traffic tagged with 802.1P headers.
802.1P mode is useful when its necessary to handle the traffic on one EPG
as untagged to the interface (similar to the switchport trunk native vlan
vlan_ID command), but (unlike the untagged mode) 802.1P will allow other
'tagged' EPGs to be statically bound to the same interface. Any traffic
received on links with this mode classification will have the following
conditions applied to them:
d. Create a physical domain and VLAN pool that are associated to this physical
domain.
e. Associate the physical domain to the EPG in question.
f. Create an attachable access entity profile (AEP) to map the interfaces and
policies together.
See the Adding New De
vices to the Fab
ric sec
tion for more in
for
ma
tion on how to con
fig
ure an AEP and a phys
ic
al do
main.
4
5
ii. While creating the Layer 2 domain, if it does not already exist, create a
VLAN pool to associate to the VLAN on the Layer 2 outside
connection. This is a means to specify the range of the VLAN IDs that will
be used for creating a Layer 2 outside connection. This helps avoid any
overlapping in the VLAN range between VLANs used for an EPG and those
in use for a Layer 2 outside connection.
b. Add a Layer 2 border leaf node and Layer 2 interface for a Layer 2 outside
connection.
c. After adding a Layer 2 border leaf and Layer 2 interface, click Next to start
creating a Layer 2 EPG. Simply provide a name for the Layer 2 EPG. All of the
traffic entering the ACI fabric with the designated VLAN (the VLAN ID
provided in step 1) will be classified into this Layer 2 EPG.
d. Configure a contract to allow communication between your existing
endpoints in the existing EPG and your new external Layer 2 EPG. In the
Navigation pane, choose External Bridged Networks > Networks and specify
a contract to govern this policy as the consumed contract. After specifying
this contract as the provided contract for your internal EPG, the
communication between this external Layer 2 EPG and your existing internal
EPG will be allowed.
e. Create an AEP. This is a policy object that tells the APIC to allow certain
encap (VLANs) on selected ports. For more information on how to create a
Access Attachable Entity Profile, see the Adding New Devices to the
Fabric section.
You should now have the de
sired reach
ab
il
ity be
tween the in
side and out
side
Layer 2 seg
ments.
pri
vate net
work. The re
quire
ment of the Layer 3 ex
ter
nal net
work is only needed when
a group of de
vices in the ap
pli
ca
tion pro
file re
quire Layer 3 con
nec
tiv
ity to a net
work
out
side of the ACI fab
ric.
An ap
pli
ca
tion pro
file en
ables an op
er
a
tor to group the dif
fer
ent com
po
nents, or tiers,
of an ap
pli
ca
tion into end
point groups (EPGs). These ap
pli
ca
tion com
po
nents might
have re
quire
ments for ex
ter
nal con
nec
tiv
ity into them. The fol
low
ing fig
ure shows part
of a sim
pli
fied fab
ric:
Bridge do
mains con
tain one or more sub
nets. These sub
nets can be clas
si
fied as pri
vate, pub
lic, or shared:
Public - Indicates that this subnet will be advertised to the external router.
Private - Indicates that this subnet will be contained only within the ACI fabric
private network.
Shared - Indicates that this subnet will be leaked to one or more private
networks inside of the ACI fabric.
The fol
low
ing fig
ure de
picts the logic of pub
lic and pri
vate net
works:
Application profile with external consumers, public and private networks annotated
With de
vices con
nect
ing through the ex
ter
nal Layer 3 con
nec
tion, the ex
ter
nal net
work has learned of the in
ter
nal ACI net
work 10.
1.
1.
0/
24, as it is ad
ver
tised to the ad
ja
cent router through the Layer 3 ex
ter
nal con
nec
tion. For the pri
vate net
works, ACI
does not ad
ver
tise the net
works through the rout
ing pro
to
col to the ad
ja
cent Layer 3
router, and the net
works are not reach
able to de
vices ex
ter
nal to the fab
ric.
In re
leases prior to ver
sion 1.1 of Cisco Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
troller
(APIC), the fab
ric only ad
ver
tises sub
nets that are marked pub
lic in the as
so
ci
ated
bridge do
main. Routes that are learned ex
ter
nally from the fab
ric are not ad
ver
tised
through other ports. This be
hav
ior is known as a non-tran
sit fab
ric. In re
lease ver
sion
1.1 and later, ACI is ca
pa
ble of act
ing as a tran
sit net
work, and routes learned from one
ex
ter
nal Layer 3 con
nec
tion can be ad
ver
tised out to a dif
fer
ent ex
ter
nal Layer 3 con
nec
tion, not just fab
ric routes.
The net
work team will pro
vide the ex
ter
nal Layer 3 con
nec
tiv
ity for their ten
ants. One
com
mon mech
a
nism is to use sub-in
ter
faces on a router to cre
ate dif
fer
ent Layer 3 do
mains since each ten
ant will likely not have their own ex
ter
nal router.
Static routesYou can define static routes to the outside world. Using static
routes reduces the sizing and complexity of the routing tables in the leaf nodes,
but increases administrator overhead. With static routes, you must also
configure the static path back to the interanal network that you wish to be
reachable from the outside world.
OSPF NSSAUsing not-so-stubby area (NSSA) reduces the size of the Open
Shortest Path First (OSPF) database and the need to maintain the overhead of
the routing protocols with large tables of routes. With OSPF NSSA, the router
learns only a summarization of routes, including a default path out of the fabric.
OSPF NSSA advertises to the adjacent router the internal public subnets part of
the Layer 3 external.
iBGP peering leaf and external routerWith internal Border Gateway Protocol
(iBGP), ACI supports only one autonomous system (AS) number that has to
match the one that is used for the internal Multiprotocol Border Gateway
Protocol (MP-BGP) route reflector. Without MP-BGP, the external routes
(static, OSPF, or BGP) for the Layer 3 outside connections are not propagated
within the ACI fabric, and the ACI leaves that are not part of the border leaf
does not have IP connectivity to any outside networks. Given that the same AS
number is used for both cases, the user must find out the AS number on the
router to which the ACI border leaf will connect, and use that AS number as the
BGP AS number for the ACI fabric.
When a ten
ant re
quires a Layer 3 con
nec
tion, the in
fra
struc
ture op
er
at
or con
fig
ures
the leaf node to which the WAN router is being con
nected as bor
der leaf node, which
pairs the bor
der leaf node with one of the route re
flec
tor nodes as a BGP peer. After
the route re
flec
tors are con
fig
ured, they can ad
ver
tise routes in the fab
ric.
Each leaf node can store up to 4000 routes at time of writ
ing. If a WAN router must ad
ver
tise more than 4000 routes, the router should peer with mul
ti
ple leaf nodes. The in
fra
struc
ture op
er
at
or con
fig
ures each of the paired leaf nodes with the routes (or route
pre
fixes) that the nodes can ad
ver
tise.
To con
fig
ure the Route Re
flec
tor pol
icy:
1
In the Navigation pane, choose Pod Policies > Policies > BGP Route
Deflector default.
In the Work pane, choose Actions > Create Pod Policy Group.
In the Create Pod Policy Group dialog box, perform the following actions:
a. In the BGP Route Reflector Policy drop-down list, choose default.
b. In the Navigation pane, choose Pod Policies > Profiles > default.
c. In the Work pane, in the Fabric Policy Group drop-down list, choose Create
Pod Policy Group.
d. In the Create Pod Policy Group dialog box, in the Date Time Policy dropdown list, choose default.
e. In the BGP Route Reflector Policy drop-down list, choose default.
f. Complete the remainder of the dialog box as appropriate to your setup.
Click Submit.
The fol
low
ing fig
ure il
lus
trates the ob
jects and their re
la
tion
ships for ex
ter
nal Layer 3
con
nec
tions:
Logical topology for an external OSPF router communicating with two border leafs
The setup in
cludes a sin
gle router with two in
ter
faces con
nected to leaf switches.
Note: See the "Adding New De
vices to The Fab
ric" sec
tion to setup the ac
cess poli
cies
for the in
ter
faces of the leaves that are con
nected to the router.
To in
te
grate Layer 3 through a ten
ant net
work with OSPF/NSSA:
1
In the Navigation pane, choose Tenant_Name > Networking > External Routed
Networks.
4
5
iv. In the OSPF Interface Profiles section, click + to create an OSPF interface
profile.
v. In the Create Interface Profile dialog box, perform the following actions:
1. In the Name field, enter a name for the profile.
2. In the OSPF Policy drop-down list, choose Create OSPF Interface
Policy. When defining the interaction with another OSPF router, you
must specify the policy interaction. This document does not explain the
different OSPF parameters.
3. In the Create OSPF Interface Policy dialog box, perform the following
actions:
a. In the Name field, enter a name for the OSPF policy, such as "OSPFPoint2Point".
b. In the Network Type section, click the radio button that matches the
adjacent router, such as Point to Point.
c. Complete the remainder of the dialog box as appropriate to your
setup.
d. Click Submit.
4. In the Interfaces section, click on the Routed Intefaces tab.
5. Click the + sign to select a routed interface.
6. In the Select Routed Interface dialog box, perform the following actions:
a. In the Path drop-down list, choose the interface on the leaf, such as
e1/9 on Leaf-1.
b. In the IP Address field, enter the IP address of the path that is
attached to the layer 3 outside profile, such as "10.0.1.1/24".
c. In the MTU (bytes) field, enter the maximum MTU of the external
network, such as "1500" to match the example peering router.
d. Complete the remainder of the dialog box as appropriate to your
setup and click OK.
7. Click OK.
vi. Click OK.
i. Click Next.
j. In the External EPG Networks section, click + create an external network.
k. In the Create External Network dialog box, perform the following actions:
Note: Be
fore con
nect
ing ex
ter
nal phys
ic
al con
nec
tions into the fab
ric, the Fab
ric Ac
cess Poli
cies for the ac
cess ports that you will be used for the DCI must be con
fig
ured.
For de
tails on con
fig
ur
ing the ac
cess poli
cies please ref
er
ence the Fab
ric Con
nec
tivty
sec
tion of this book.
Con
fig
ure the ag
gre
ga
tion links as a Layer 2 trunk.
1
Trunk the VLAN representing the host connectivity. This allows for the host
VLAN to be extended into the fabric.
Click Finish.
Con
fig
ure a sin
gle pri
vate net
work.
1
In the Create Private Network dialog box, perform the following actions:
a. In the Name field enter a name for the private network.
b. Click Next.
c. In the Name field enter a name for the bridge domain.
d. In the Forwarding drop-down list, choose Custom.
e. For the Layer 2 Unknown Unicast radio buttons, click Flood.
f. For the Multi Destination Flooding radio buttons, click Flood in BD.
g. Click the ARP Flooing check box.
Click Finish.
In the Create Application Profile dialog box, perform the following actions:
a. In the Name field enter a name for the Application Profile.
b. Click Submit.
Con
fig
ure a sin
gle end
point group:
1
4
5
In the Work pane, choose Actions > Deploy Static EPG on PC, VPC or
Interface.
In the Deploy Static EPG on PC, VPC or Interface dialog box, perform the
following actions:
a. Choose the Path Type.
b. Choose the Path.
c. Enter the encapsulation VLAN.
d. Click Submit.
Fol
low
ing the Stage 1 mi
gra
tion, the Legacy host VLAN is now ex
tended to the ACI fab
ric and all hosts from the Fab
ric point of view are in the EPG, Acme
Out
Side. From the
ACI Fab
ric per
spec
tive, the local VLAN num
ber is not sig
nif
ic
ant as it will be mapped to
the tagged VLAN on the VPC to
ward the Legacy data cen
ter. This is what is known as
nor
mal
iza
tion where ACI uses the tagged vlan to map ex
ter
nal Layer 2 con
nec
tions into
ACI End Point Groups.
The con
nec
tiv
ity noted below rep
re
sents a BD=EPG=VLAN. The Layer 3 gate
way for the
ACI fab
ric and the legacy data cen
ter or pro
vided by the Legacy data cen
ter.
In the APIC:
a. Configure additional Tenants (optional).
b. Configure additional Private Networks (optional).
c. Configure additional Bridge Domains (optional).
d. Configure additional Application Profiles (optional).
e. Configure additional End Point Groups.
i. Create the endpoint group "AcmeInSide".
f. Configure contracts for inter-EPG communications.
i. For the Scope drop-down list, choose Tenant.
ii. For the Allow drop-down list, choose Any-Any.
Fol
low
ing the stage 2 mi
gra
tion, the host con
nec
tiv
ity across both the legacy data cen
ter and ACI fab
ric are now gov
erned by the APIC pol
icy (con
tracts).
Note: The Layer 3 gate
way for the ACI fab
ric and the legacy data cen
ter are pro
vided by
the legacy data cen
ter.
In the APIC:
a. Configure a Layer 3 out.
b. Migrate the gateway from the legacy data center to the fabric.
i. In the Bridge Domain drop-down list, choose AcmeBD.
ii. In the Flood Layer 2 drop-down list, choose Unknown Unicast.
iii. In the ARP drop-down list, choose Flooding.
iv. In the Unicast drop-down list, choose Routing.
159
Tenants
Tenants 161
Section Content
Endpoint Group
Endpoint Group Configuration
Create a New Endpoint Group
Modify Endpoint Group
Remove Endpoint Group
Verify Endpoint Group
Endpoint
Verify Endpoint Group
Private Network
Private Network Configuration Parameters
Creating a New Private Network
Modify Private Network
Remove Private Network
Verify Private Network
162 Tenants
Bridge Domain
Bridge Domain Configuration Parameters
Create a new Bridge Domain
Modify a Bridge Domain
Remove a Bridge Domain
Verify Bridge Domain
Tenants 163
Separation of duties by domain owner, such as web, app, and database owners.
Fault domain size and scope to limit the impact of failures, such as different
business units.
In tra
di
tional net
work
ing en
vi
ron
ments, mak
ing a rout
ing pro
to
col change on a router
or Layer 3 switch could po
ten
tially af
fect hun
dreds of unique VLANs/sub
nets. This in
tro
duces a war
ranted level of cau
tion around change con
trol and ap
pli
ca
tion im
pact.
Lever
ag
ing the ACI pol
icy model, the phys
ic
al hard
ware is ab
stracted from the log
ic
al
con
structs. The ten
ant ob
ject gives us the abil
ity to draw a box around the log
ic
al and
con
crete ob
jects that we use to pro
vide a uni
fied view of the con
fig
ur
a
tion de
pen
den
cies for un
der
lay and over
lay net
works.
164 Tenants
A Ten
ant in the ACI Ob
ject model rep
re
sents the high
est-level ob
ject. In
side, you can
dif
fer
en
ti
ate be
tween the ob
jects that de
fine the ten
ant net
work
ing, such as Pri
vate
Net
works, Bridge Do
mains and sub
nets; and the ob
jects that de
fine the ten
ant poli
cies
such as Ap
pli
ca
tion Pro
files and End
point Groups.
In ACI, the ten
ant poli
cies are where you de
fine ap
pli
ca
tions. An ap
pli
ca
tion could con
sist of a com
bi
na
tion of phys
ic
al servers or VMs that we will call servers from now on.
For ex
am
ple, a web
site could use a 3-tier ap
pli
ca
tion model, com
prised of web servers,
ap
pli
ca
tion servers and data
base servers. When a user browses the web site, they
might ac
tu
ally be com
mu
ni
cat
ing with a vir
tual IP ad
dress on a load bal
ancer that in
turn can dis
trib
ute the web re
quest to a num
ber of dif
fer
ent web servers. The web
servers in turn com
mu
ni
cate with core ap
pli
ca
tions that can be di
vided amongst sev
eral ap
pli
ca
tions servers for load bal
anc
ing or high avail
abil
ity pur
poses. Fi
nally, the
ap
pli
ca
tion servers com
mu
ni
cate with the data
base which could also be a clus
ter of
servers.
Each server is re
ferred to as an End
point in ACI. End
points are clas
si
fied in ACI to apply
poli
cies. You cre
ate end
point groups with end
points that share the same type of poli
cies, such as with whom are they going to com
mu
ni
cate and what type of com
mu
ni
ca
tion or re
stric
tions are re
quired. There
fore, an ap
pli
ca
tion can be formed by sev
eral end
point groups and they are grouped in an Ap
pli
ca
tion Pro
file.
The ten
ant net
work
ing is used to de
fine net
work
ing poli
cies and will be ap
plied to the
un
der
ly
ing hard
ware in a trans
par
ent way thanks to the layer of ab
strac
tion pro
vided
by ACI using pri
vate net
works, bridge do
mains and sub
nets. In the next sec
tions of this
chap
ter these con
cepts will be cov
ered in de
tail. Below you can find an il
lus
tra
tion with
the dif
fer
ent ob
jects that com
pound a ten
ant and how they are re
lated.
Al
though the ten
ant net
work
ing and the ten
ant poli
cies are de
fined sep
ar
ately, the
net
work
ing poli
cies used by an ap
pli
ca
tion are de
fined with a re
la
tion
ship be
tween the
End
point Groups and the Bridge Do
main.
The fol
low
ing image shows all of the com
po
nents that can be con
fig
ured within a ten
ant. In the fol
low
ing sec
tions each di
ag
ram shows the progress of how ACME Inc. adds
each com
po
nent.
Tenants 165
Infra The Infrastructure tenant that is used for all internal fabric
communications, such as tunnels and policy deployment. This includes switch
to switch (Leaf, Spine, Application Virtual Switch (AVS)) and switch to APIC.
The infra tenant does not get exposed to the user space (tenants) and it has its
own private network space and bridge domains. Fabric discovery, image
management, and DHCP for fabric functions are all handled within this tenant.
Tenants 167
Application Profile
An ap
pli
ca
tion pro
file is a con
ve
nient log
i
cal con
tainer for mul
ti
ple hosts (phys
i
cal or
vir
tual). You can cre
ate Ap
pli
ca
tion Pro
file con
tain
ers based on a va
ri
ety of cri
te
ria,
such as what func
tion the ap
pli
ca
tion pro
vides, how the ap
pli
ca
tion looks from the
end-user per
spec
tive, where they are lo
cated within the con
text of the data cen
ter, or
any other log
i
cal group
ing rel
a
tive to the im
ple
men
ta
tion. Ap
pli
ca
tion Pro
file servers
are grouped in EPGs de
pend
ing on the use of com
mon poli
cies.
Ap
pli
ca
tion Pro
files pro
vide a mech
a
nism to un
der
stand groups of servers as a sin
gle
ap
pli
ca
tion. This ap
proach makes an ACI ap
pli
ca
tion aware and al
lows us to check the
op
er
a
tional state for an ap
pli
ca
tion mon
i
tor
ing all the servers that are part of an ap
pli
ca
tion as a whole and be
come in
formed about rel
e
vant faults and health sta
tus for that
par
tic
u
lar ap
pli
ca
tion. Each Ap
pli
ca
tion Pro
file cre
ated can have a unique mon
i
tor
ing
pol
icy and QOS pol
icy.
An Ap
pli
ca
tion Pro
file is a child ob
ject of the Ten
ant and a sin
gle Ten
ant can con
tain
mul
ti
ple Ap
pli
ca
tion Pro
files.
168 Tenants
In the Create Application Profile dialog box, perform the following actions:
a. Enter an Application Profile Name.
b. Enter a TAG (optional).
c. Choose a Monitoring Policy (optional).
Click Submit.
4
5
Click Submit.
Tenants 169
Tenants 171
Endpoint Group
End
point Groups are used to cre
ate log
i
cal group
ings of hosts or servers that per
form
sim
i
lar func
tions within the fab
ric. Each End
point Group cre
ated can have a unique
mon
i
tor
ing pol
icy and QoS pol
icy and must be as
so
ci
ated with a Bridge Do
main.
An End
point group is a child ob
ject of the Ap
pli
ca
tion Pro
file and an Ap
pli
ca
tion Pro
file can con
tain mul
ti
ple End
point Groups. Each end
point within an End
point Group is
sus
cep
ti
ble to the same pol
icy in the Fab
ric.
172 Tenants
ments, for ex
am
ple, in Ex
ter
nal Bridge Net
works, MAC ad
dresses of the end
points are
not learnt by the leaf switches.
End
point Groups are linked to Bridge Do
mains but they will re
ceive a VLAN ID dif
fer
ent
from the bridge do
main, un
less Bridge Do
main legacy mode is used.
It is im
por
tant to un
der
stand that a sin
gle sub
net can be ex
tended across sev
eral EPGs.
Each EPG is iden
ti
fied by an en
cap
su
la
tion VLAN or VXLAN so that the same sub
net will
be using dif
fer
ent en
cap
su
la
tion IDs across the fab
ric. This con
cept is dif
fer
ent from
tra
di
tional net
work
ing.
Unspecified
Cus
tom Qos - The QoS traf
fic pri
or
ity class iden
ti
fier. The Cus
tom class is a user-con
fig
urable DSCP value.
Bridge Do
main - The name of the bridge do
main as
so
ci
ated with this ob
ject.
it
or
ing pol
icy name for the EPG se
man
tic scope (op
tional).
Mon
it
or
ing Pol
icy The mon
As
so
ci
ated Do
main Pro
file A source re
la
tion to an in
fra
struc
ture do
main pro
file as
so
ci
ated with ap
pli
ca
tion end
point groups.
Tenants 173
Sub
net - An End
point Group sub
net is rel
e
vant when and only when con
fig
ur
ing route
leak
ing be
tween VRF's/Pri
vate Net
work within a Ten
ant (op
tional).
Sta
tic End
point - The sta
tic client end
point rep
re
sents a silent client end
point at
tached
to the net
work (op
tional).
4
5
Click Finish.
174 Tenants
Click Finish.
Tenants 175
Endpoint
End
points are de
vices that are con
nected to the net
work ei
ther di
rectly or in
di
rectly.
End
points have an ad
dress (iden
tity), a lo
ca
tion, and at
trib
utes, and can be ei
ther vir
tual or phys
ic
al. Each end
point has a path, an en
cap
su
la
tion, and a de
ploy
ment Im
me
di
acy mode as
so
ci
ated with it.
An End
point is a child ob
ject of the End
point Group and an End
point Group con
struct
can con
tain mul
ti
ple End
points. The End
points ref
er
enced within the fab
ric can be ei
ther sta
tic (de
fined within the APIC) or dy
namic (au
to
mated by vCen
ter/Open
stack).
You can add Sta
tic End
points by cre
at
ing Sta
tic Bind
ings within the End
point Group.
Below is an ex
am
ple of a sta
tic bind
ing. See the VVM sec
tion for an ex
am
ple of a dy
namic bind
ing.
1
In the Work pane, choose Actions > Deploy Static EPG on PC, VPC or
Interface.
In the Deploy Static EPG on PC, VPC or Interface dialog box, perform the
following actions:
a. Choose the Path Type.
b. Choose the Path.
c. Enter the encapsulation VLAN.
d. Click Submit.
176 Tenants
Verify Endpoint
REST :: /api/node/class/fvCEp.xml
CLI
:: moquery -c fvCEp
Tenants 177
Private Network
A Pri
vate Net
work is also re
ferred to as a VRF, pri
vate Layer 3 net
work, or con
text. It is
a unique Layer 3 for
ward
ing and ap
pli
ca
tion pol
icy do
main. Pri
vate net
works are a
child of the Ten
ant ob
ject. All of the end
points within the Pri
vate Net
work must have
unique IP ad
dresses be
cause it is pos
si
ble to for
ward pack
ets di
rectly be
tween these
de
vices if the pol
icy al
lows it. One or more bridge do
mains are as
so
ci
ated with a pri
vate
net
work.
178 Tenants
4
5
Click Finish.
Tenants 179
Click Finish.
Tenants 181
Bridge Domain
A Bridge Do
main is the ab
stract rep
re
sen
ta
tion of a Layer 2 for
ward
ing do
main within
the fab
ric. A Bridge Do
main is a child of the Ten
ant ob
ject and must be linked to a Pri
vate Net
work.
The bridge do
main de
fines the unique Layer 2 MAC ad
dress space and a Layer 2 flood
do
main if flood
ing is en
abled. While a Pri
vate Net
work de
fines a unique IP ad
dress
space, that ad
dress space can con
sist of mul
ti
ple sub
nets. Those sub
nets will be spread
across one or more bridge do
mains con
tained in the Pri
vate Net
work.
Bridge do
mains will span all switches in which as
so
ci
ated EPG are con
fig
ured. A bridge
do
main can have mul
ti
ple sub
nets. How
ever, a sub
net is con
tained within a sin
gle
bridge do
main.
182 Tenants
Tenants 183
184 Tenants
net
work that the Bridge Do
main is linked to. If a Bridge Do
main has sev
eral sub
nets, there
will be only one SVI per Bridge Do
main but it will use sec
ondary IP ad
dresses.
Tenants 185
Route Pro
file - The as
so
ci
ated route pro
file name.
Mon
i
tor
ing Pol
icy - The mon
it
or
ing pol
icy name for the Ten
ant se
man
tic scope (op
tional).
Sub
nets - The IP ad
dress and mask of the de
fault gate
way. It will be con
fig
ured in the
leaf nodes which have EPGs in that bridge do
main.
The net
work vis
ib
il
ity of the sub
net. The sub
net is a por
tion of a net
work shar
ing a par
tic
ul
ar sub
net ad
dress. The scope can be:
Shared - Defines subnets under an endpoint group, with the Shared option
Public - Defines subnets under a bridge domain, with the Public option
Private - Defines subnets under a bridge domain, with the Private option
configured, to only be used in that Tenant (will not be leaked). The default
is Private.
Sub
net Con
trol - The con
trol can be spe
cific pro
to
cols ap
plied to the sub
net
such as IGMP Snoop
ing. The con
trol can be:
In the Navigation pane choose Tenant_Name > Networking > Bridge Domains.
In the Create Bridge Domain dialog box, perform the following actions:
a. Enter an Bridge Domain Name.
b. Choose the Network.
c. Choose the Forwarding Semantics (optional).
186 Tenants
Click Submit.
In the Navigation pane choose Tenant_Name > Networking > Bridge Domains
> Bridge_Domain_Name.
In the Work pane, choose the Policy tab and perform the following actions:
a. Choose the Network.
b. Choose the Forwarding Semantics (optional).
c. Choose the IGMP Snoop Policy (optional).
d. Choose the Associated L3 Outs (optional).
e. Choose the L3 Out for Route Profile (optional).
f. Choose the Route Profile (optional).
g. Choose the Monitoring Policy if applicable (optional).
h. Choose the Subnets (optional).
i. Choose the DNS Label if applicable (optional).
Click Finish.
In the Navigation Pane choose Tenant_Name > Networking > Bridge Domain >
Bridge Domain_Name.
Tenants 187
Tenants 189
Ability to use a single private network for all internal and external fabric
connectivity
Dis
ad
van
tages:
From a con
tain
ment and re
la
tion
ship per
spec
tive, this topol
ogy looks as fol
lows:
190 Tenants
In the Navigation pane choose common > Networking > Private Networks >
default.
Click Finish.
The Ten
ant has been cre
ated. Now the net
work ad
min
is
tra
tor will have to as
so
ci
ate the
com
mon pri
vate net
work to the Ten
ant by first cre
at
ing a bridge do
main.
1
In the Navigation pane choose Tenant_Name > Networking > Bridge Domains.
In the Create Bridge Domain dialog box, perform the following actions:
a. Enter a Bridge Domain Name.
b. Choose network.
c. In the Subnets field, click +.
d. In the Gateway IP field enter the IP address for this subnet.
e. In the Scope field you have the option to select Private, Public and Shared.
Note: By default the Private option is selected. For more information on what
to select please reference the External Layer 3 section.
Click OK.
Click Finish.
Tenants 191
The con
fig
ur
a
tion for this use case can be ap
plied via the fol
low
ing CLI con
fig
ur
a
tion:
CLI : Ten
ant Cisco
# tenant
cd '/aci/tenants'
mocreate 'Cisco'
moconfig commit
# bridge-domain
cd '/aci/tenants/Cisco/networking/bridge-domains'
mocreate 'Cisco'
cd 'Cisco'
moset network 'default'
moconfig commit
# subnet
cd '/aci/tenants/Cisco/networking/bridge-domains/Cisco/subnets'
mocreate '172.16.0.1/24'
moconfig commit
# application-profile
cd '/aci/tenants/Cisco/application-profiles'
mocreate 'App1'
moconfig commit
# application-epg
cd '/aci/tenants/Cisco/application-profiles/App1/application-epgs'
mocreate 'EPG1'
cd 'EPG1'
moset bridge-domain 'Cisco'
moconfig commit
# criterion
cd '/aci/tenants/Cisco/application-profiles/App1/application-epgs/EPG1/vm-attributescriteria'
mocreate 'default'
moconfig commit
This con
fig
ur
a
tion can also be ap
plied using the fol
low
ing XML posted to the APIC
REST API
192 Tenants
XML : Ten
ant Cisco
<fvTenant name="Cisco">
<fvBD arpFlood="no" multiDstPktAct="bd-flood" name="Cisco" unicastRoute="yes"
unkMacUcastAct="proxy" unkMcastAct="flood">
<fvRsCtx tnFvCtxName="default"/>
<fvSubnet ctrl="nd" descr="" ip="172.16.0.1/24" preferred="no"
scope="private"/>
</fvBD>
<fvAp name="App1">
<fvAEPg matchT="AtleastOne" name="EPG1">
<fvRsBd tnFvBDName="Cisco"/>
</fvAEPg>
</fvAp>
<fvRsTenantMonPol tnMonEPGPolName=""/>
</fvTenant>
Dis
ad
van
tages:
Tenants 193
The ob
ject con
tain
ment for this par
tic
u
lar setup can be de
picted as shown below:
Click Finish.
The Ten
ant has been cre
ated. Now the ten
ant ad
min
is
tra
tor can cre
ate the pri
vate net
work.
1
4
5
194 Tenants
Click OK.
Click Finish.
The con
fig
ur
a
tion for this use case can be ap
plied via the fol
low
ing CLI con
fig
ur
a
tion:
CLI : Ten
ant Cisco
# tenant
cd '/aci/tenants'
mocreate 'Cisco'
moconfig commit
# bridge-domain
cd '/aci/tenants/Cisco/networking/bridge-domains'
mocreate 'Cisco'
cd 'Cisco'
moset network 'Cisco'
moconfig commit
# subnet
cd '/aci/tenants/Cisco/networking/bridge-domains/Cisco/subnets'
mocreate '172.16.0.1/24'
moconfig commit
# private-network
cd '/aci/tenants/Cisco/networking/private-networks'
mocreate 'Cisco'
moconfig commit
# application-profile
cd '/aci/tenants/Cisco/application-profiles'
mocreate 'App1'
moconfig commit
# application-epg
cd '/aci/tenants/Cisco/application-profiles/App1/application-epgs'
mocreate 'EPG1'
cd 'EPG1'
moset bridge-domain 'Cisco'
moconfig commit
Tenants 195
This con
fig
ur
a
tion can also be ap
plied using the fol
low
ing XML posted to the APIC
REST API:
XML : Ten
ant Cisco
<fvTenant name="Cisco">
<fvBD arpFlood="no" multiDstPktAct="bd-flood" name="Cisco" unicastRoute="yes"
unkMacUcastAct="proxy" unkMcastAct="flood">
<fvRsCtx tnFvCtxName="Cisco"/>
<fvSubnet ctrl="nd" ip="172.16.0.1/24" name="" preferred="no" scope="private"/>
</fvBD>
<fvCtx knwMcastAct="permit" name="Cisco" pcEnfPref="enforced"/>
<fvAp name="App1" prio="unspecified">
<fvAEPg name="EPG1">
<fvRsBd tnFvBDName="Cisco"/>
</fvAEPg>
</fvAp>
</fvTenant>
Dis
ad
van
tages:
EPGs residing in overlapping subnets cannot have policy applied between one
another
196 Tenants
The ob
ject con
tain
ment for this par
tic
u
lar setup can be de
picted as shown below:
Click Next.
Click Finish.
The Ten
ant has been cre
ated. Now the ten
ant ad
min
is
tra
tor can cre
ate the pri
vate net
work.
1
4
5
Tenants 197
Click OK.
Click Finish.
9
10
11
Click OK.
12
Click Finish.
4
5
Click Submit.
198 Tenants
To cre
ate the two end
point groups:
1
4
5
Click Finish.
Re
peat these steps for the sec
ond EPG.
The ten
ant ad
min
is
tra
tor will have to now cre
ate a con
tract and fil
ter be
tween the two
EPGs.
1
4
5
Click Update.
Click Submit.
As the ten
ant ad
min
is
tra
tor, you would have the knowl
edge of the fil
ters re
quired to
per
mit traf
fic across the two EPGs. In the fil
ter, you can re
peat the process of defin
ing
Tenants 199
var
io
us dif
fer
ent net
work pro
to
cols as re
quired for your ap
pli
ca
tions. Now you have to
de
fine the con
tract that will be con
sumed and pro
vided by the two EPGs.
1
4
5
Click Update.
Click OK.
Click Submit.
As
sign the Con
tract be
tween the EPGs. A con
tract is as
signed to an EPG as ei
ther a
con
sumed or a pro
vided con
tract. Each EPG that you have cre
ated will then ei
ther con
sume or pro
vide that con
tract to es
tab
lish a re
la
tion
ship be
tween both EPGs.
1
In the Add Provided Contract dialog box, perform the following actions:
a. Select the created contract.
b. Click Submit..
6
7
200 Tenants
Click Submit.
The con
fig
ur
a
tion for this use case can be ap
plied via the fol
low
ing CLI con
fig
ur
a
tion:
CLI : Ten
ant Cisco
# tenant
cd '/aci/tenants'
mocreate 'Cisco'
moconfig commit
# bridge-domain
cd '/aci/tenants/Cisco/networking/bridge-domains'
mocreate 'Cisco'
cd 'Cisco'
moset network 'Cisco'
moconfig commit
# bridge-domain
cd '/aci/tenants/Cisco/networking/bridge-domains'
mocreate 'Cisco1'
cd 'Cisco1'
moset network 'Cisco1'
moconfig commit
# private-network
cd '/aci/tenants/Cisco/networking/private-networks'
mocreate 'Cisco'
moconfig commit
# private-network
cd '/aci/tenants/Cisco/networking/private-networks'
mocreate 'Cisco1'
moconfig commit
# application-profile
cd '/aci/tenants/Cisco/application-profiles'
mocreate 'App1'
moconfig commit
# application-epg
cd '/aci/tenants/Cisco/application-profiles/App1/application-epgs'
mocreate 'EPG1'
cd 'EPG1'
moset bridge-domain 'Cisco'
Tenants 201
moconfig commit
# fv-rscon
cd '/aci/tenants/Cisco/application-profiles/App1/applicationepgs/EPG1/contracts/consumed-contracts'
mocreate 'ICMP'
moconfig commit
# fv-subnet
cd '/aci/tenants/Cisco/application-profiles/App1/application-epgs/EPG1/subnets'
mocreate '172.16.1.1/24'
cd '172.16.1.1:24'
moset scope 'private,shared'
moconfig commit
# application-epg
cd '/aci/tenants/Cisco/application-profiles/App1/application-epgs'
mocreate 'EPG2'
cd 'EPG2'
moset bridge-domain 'Cisco1'
moconfig commit
# fv-rsprov
cd '/aci/tenants/Cisco/application-profiles/App/applicationepgs/EPG2/contracts/provided-contracts'
mocreate 'ICMP'
moconfig commit
# fv-subnet
cd '/aci/tenants/Cisco/application-profiles/CCO/application-epgs/EPG2/subnets'
mocreate '172.16.2.1/24'
cd '172.16.2.1:24'
moset scope 'private,shared'
moconfig commit
This con
fig
ur
a
tion can also be ap
plied using the fol
low
ing XML posted to the APIC
REST API:
XML : Ten
ant Cisco
<fvTenant dn="uni/tn-Cisco" name="Cisco">
<vzBrCP name="ICMP" scope="tenant">
<vzSubj consMatchT="AtleastOne" name="icmp" provMatchT="AtleastOne"
202 Tenants
revFltPorts="yes">
<vzRsSubjFiltAtt tnVzFilterName="icmp"/>
</vzSubj>
</vzBrCP>
<fvCtx knwMcastAct="permit" name="CiscoCtx" pcEnfPref="enforced"/>
<fvCtx knwMcastAct="permit" name="CiscoCtx2" pcEnfPref="enforced"/>
<fvBD arpFlood="yes" mac="00:22:BD:F8:19:FF" name="CiscoBD2" unicastRoute="yes"
unkMacUcastAct="flood" unkMcastAct="flood">
<fvRsCtx tnFvCtxName="CiscoCtx2"/>
</fvBD>
<fvBD arpFlood="yes" mac="00:22:BD:F8:19:FF" name="CiscoBD" unicastRoute="yes"
unkMacUcastAct="flood" unkMcastAct="flood">
<fvRsCtx tnFvCtxName="CiscoCtx"/>
</fvBD>
<fvAp name="CCO">
<fvAEPg matchT="AtleastOne" name="Web">
<fvRsCons tnVzBrCPName="ICMP"/>
<fvRsPathAtt encap="vlan-1201" instrImedcy="immediate" mode="native"
tDn="topology/pod-1/paths-201/pathep-[eth1/16]"/>
<fvSubnet ip="172.16.2.1/24" scope="private,shared"/>
<fvRsDomAtt instrImedcy="lazy" resImedcy="lazy" tDn="uni/physPhysDomainforCisco"/>
<fvRsBd tnFvBDName="CiscoBD2"/>
</fvAEPg>
<fvAEPg matchT="AtleastOne" name="App">
<fvRsPathAtt encap="vlan-1202" instrImedcy="immediate" mode="native"
tDn="topology/pod-1/paths-202/pathep-[eth1/2]"/>
<fvSubnet ip="172.16.1.1/24" scope="private,shared"/>
<fvRsDomAtt instrImedcy="lazy" resImedcy="lazy" tDn="uni/physPhysDomainforCisco"/>
<fvRsBd tnFvBDName="CiscoBD"/>
<fvRsProv matchT="AtleastOne" tnVzBrCPName="ICMP"/>
</fvAEPg>
</fvAp>
</fvTenant>
Tenants 203
Dis
ad
van
tages
From a con
tain
ment and re
la
tion
ship per
spec
tive, this topol
ogy looks as fol
lows:
Click Next.
204 Tenants
Click Finish.
The ten
ant has been cre
ated. Now the ten
ant ad
min
is
tra
tor can cre
ate the pri
vate net
work.
1
In the Create Private Network dialog box, perform the following actions:
a. In the Name field enter a name for the Private Network.
b. Click Next.
c. In the Name field enter a name for the bridge domain.
d. In the Subnets field click +.
e. In the Gateway IP field enter the IP address for this subnet.
f. In the Scope field select Shared.
Note: The shared subnet type causes what is known in ACI as a route
leak between two Private Networks (VRF).
Click OK.
Click Finish.
To cre
ate the ap
pli
ca
tion pro
file:
1
4
5
Click Submit.
Tenants 205
To cre
ate the end
point group:
1
4
5
Click Finish.
To cre
ate the sec
ond ten
ant and ap
pli
ca
tion pro
file:
1
Click Next.
Click Finish.
The ten
ant has been cre
ated. Now the ten
ant ad
min
is
tra
tor can cre
ate the pri
vate net
work.
1
In the Create Private Network dialog box, perform the following actions:
a. In the Name field enter a name for the Private Network.
b. Click Next.
c. In the Name field enter a name for the bridge domain.
d. In the Subnets field click +.
e. In the Gateway IP field enter the IP address for this subnet.
206 Tenants
Click OK.
Click Finish.
To cre
ate the ap
pli
ca
tion pro
file:
1
4
5
Click Submit.
To cre
ate the end
point group:
1
4
5
Click Finish.
The ten
ant ad
min
is
tra
tor will have to now cre
ate a con
tract and fil
ter be
tween the two
EPGs.
1
Tenants 207
Click Update.
Click Submit.
As the ten
ant ad
min
is
tra
tor you would have the knowl
edge of the fil
ters re
quired to
per
mit traf
fic across the two EPGs. In the fil
ter you can re
peat the process of defin
ing
var
io
us dif
fer
ent net
work pro
to
cols as re
quired for your ap
pli
ca
tions. Now you have to
de
fine the con
tract that will be con
sumed and pro
vided by the two EPGs.
1
4
5
Click Update.
Click OK.
Click Submit.
208 Tenants
As
sign the Con
tract be
tween the EPGs. A con
tract is as
signed to an EPG as ei
ther a
con
sumed or a pro
vided con
tract. Each EPG that you have cre
ated will then ei
ther con
sume or pro
vide that con
tract to es
tab
lish a re
la
tion
ship be
tween both EPGs.
1
In the Add Provided Contract dialog box, perform the following actions:
a. Select the created Contract.
b. Click Submit.
10
Click Submit.
The con
fig
ur
a
tion for this use case can be ap
plied via the fol
low
ing CLI con
fig
ur
a
tion:
CLI : TEN
ANT Cis
co1
# tenant
cd '/aci/tenants'
mocreate 'Cisco1'
moconfig commit
# bridge-domain
cd '/aci/tenants/Cisco1/networking/bridge-domains'
mocreate 'Cisco1'
cd 'Cisco1'
moset network 'Cisco1'
moconfig commit
Tenants 209
# private-network
cd '/aci/tenants/Cisco1/networking/private-networks'
mocreate 'Cisco1'
moconfig commit
# application-profile
cd '/aci/tenants/Cisco1/application-profiles'
mocreate 'App1'
moconfig commit
# application-epg
cd '/aci/tenants/Cisco1/application-profiles/App1/application-epgs'
mocreate 'EPG1'
cd 'EPG1'
moset bridge-domain 'Cisco1'
moconfig commit
# fv-rsprov
cd '/aci/tenants/Cisco/application-profiles/CCO/applicationepgs/App/contracts/provided-contracts'
mocreate 'ICMP'
moconfig commit
# fv-subnet
cd '/aci/tenants/Cisco/application-profiles/CCO/application-epgs/App/subnets'
mocreate '172.16.1.1/24'
cd '172.16.1.1:24'
moset scope 'private,shared'
moconfig commit
# contract
cd '/aci/tenants/Cisco/security-policies/contracts'
mocreate 'ICMP'
cd 'ICMP'
moset scope 'global'
moconfig commit
# contract-subject
cd '/aci/tenants/Cisco/security-policies/contracts/ICMP/subjects'
mocreate 'icmp'
moconfig commit
# vz-rssubjfiltatt
cd '/aci/tenants/Cisco/security-policies/contracts/ICMP/subjects/icmp/common-filters'
mocreate 'icmp'
moconfig commit
210 Tenants
CLI : TEN
ANT Cis
co2
# tenant
cd '/aci/tenants'
mocreate 'Cisco'
moconfig commit
# bridge-domain
cd '/aci/tenants/Cisco/networking/bridge-domains'
mocreate 'Cisco'
cd 'Cisco'
moset network 'Cisco'
moconfig commit
# private-network
cd '/aci/tenants/Cisco/networking/private-networks'
mocreate 'Cisco'
moconfig commit
# application-profile
cd '/aci/tenants/Cisco/application-profiles'
mocreate 'App1'
moconfig commit
# application-epg
cd '/aci/tenants/Cisco2/application-profiles/App1/application-epgs'
mocreate 'EPG1'
cd 'EPG1'
moset bridge-domain 'Cisco'
moconfig commit
# fv-rsconsif
cd '/aci/tenants/Cisco1/application-profiles/CCO/applicationepgs/Web/contracts/consumed-contract-interfaces'
mocreate 'CiscoInterTenantICMP'
moconfig commit
# fv-subnet
cd '/aci/tenants/Cisco1/application-profiles/CCO/application-epgs/Web/subnets'
mocreate '172.16.2.1/24'
cd '172.16.2.1:24'
moset scope 'shared-subnet'
moconfig commit
# imported-contract
cd '/aci/tenants/Cisco1/security-policies/imported-contracts'
mocreate 'CiscoInterTenantICMP'
cd 'CiscoInterTenantICMP'
moset contract 'tenants/Cisco/security-policies/contracts/ICMP'
moconfig commit
Tenants 211
This con
fig
ur
a
tion can also be ap
plied using the fol
low
ing XML posted to the APIC
REST API:
XML : TEN
ANT Cis
co1
<fvTenant dn="uni/tn-Cisco1" name="Cisco1">
212 Tenants
<fvRsBd tnFvBDName="CiscoBD"/>
<fvRsProv matchT="AtleastOne" tnVzBrCPName="ICMP"/>
</fvAEPg>
</fvAp>
</fvTenant>
XML : TEN
ANT Cis
co2
<fvTenant dn="uni/tn-Cisco2" name="Cisco2">
<fvCtx knwMcastAct="permit" name="CiscoCtx" pcEnfPref="enforced"/>
<fvBD arpFlood="yes" mac="00:22:BD:F8:19:FF" name="CiscoBD2" unicastRoute="yes"
unkMacUcastAct="flood" unkMcastAct="flood">
<fvRsCtx tnFvCtxName="CiscoCtx"/>
</fvBD>
<fvBD arpFlood="yes" name="CiscoBD" unicastRoute="yes" unkMacUcastAct="flood"
unkMcastAct="flood">
<fvRsCtx tnFvCtxName="CiscoCtx"/>
</fvBD>
<fvAp name="CCO">
<fvAEPg matchT="AtleastOne" name="EPG2">
<fvRsPathAtt encap="vlan-1202" instrImedcy="immediate" mode="native"
tDn="topology/pod-1/paths-201/pathep-[eth1/2]"/>
<fvSubnet ip="172.16.1.1/24" scope="private,shared"/>
Tenants 213
<fvRsBd tnFvBDName="CiscoBD"/>
<fvRsConsIf matchT="AtleastOne" tnVzBrCPIfName="ICMP"/>
</fvAEPg>
</fvAp>
</fvTenant>
215
Section Content
Contracts
Contract Configuration Parameters
Create/Modify/Remove Contracts
Create Contracts
Modify Contracts
Remove Contracts
Verify Contracts
Filters
Filter Entry Configuration Parameters
Create Filters
Modify Filters
Remove Filters
Verify Filters
Taboo Contracts
Taboo Contract Configuration Parameters
Create, Modify, or Delete Taboo Contracts
Create Taboo Contracts
Modify Taboo Contracts
Delete Taboo Contracts
Verify Taboo Contracts
Inter-Tenant Contracts
Configuration Parameters
Contracts
Con
tracts pro
vide a way for the ACI ad
min
is
tra
tor to con
trol traf
fic flow within the ACI
fab
ric be
tween EPGs. These con
tracts are built using a provider-con
sumer model
where one EPG pro
vides the ser
vices it wants to offer and an
other EPG con
sumes
them.
Con
tracts are com
prised of the fol
low
ing items:
Filters - Used to classify traffic based upon layer 2 to layer 4 attributes (such as
Actions - Permit, deny, mark, log, redirect, copy, and service graph to perform
Labels - Used optionally to group objects such as subjects and EPGs for the
purpose of further defining policy enforcement
Between application EPGs and in-band management EPG, for example if inband management is configured for the ACI fabric and certain EPGs are to be
allowed to access it
Context - This contract will be applied for endpoint groups associated with the
same private network.
Tenant - This contract will be applied for endpoint groups within the same tenant.
Global - This contract will be applied for endpoint groups throughout the
fabric.
The de
fault is Con
text.
Unspecified
AtleastOne
AtmostOne
None
All
The de
fault is Atlea
st
O
ne.
Create/Modify/Remove Contracts
Create Contracts
1
In the Navigation pane choose Tenant_Name > Security Policies > Contracts.
4
5
Click Update.
Click OK.
Click Submit.
Modify Contracts
1
In the Navigation pane choose Tenant_Name > Security Policies > Contracts >
Contract_Name.
Click Update.
Click OK.
Click Submit.
Remove Contracts
Remove Contracts
1
In the Navigation pane choose Tenant_Name > Security Policies > Contracts
> Contract_Name.
Verify Contracts
REST :: /api/node/class/vzBrCP.xml
CLI :: moquery -c vzBrCP
In the Work pane, choose Actions > Add Provided Contract or Actions > Add
Consumed Contract.
Note: Choose the action depending on how the contract is to be deployed.
Click Submit.
Consumer
REST :: /api/node/class/fvRsCons.xml
CLI :: moquery -c fvRsCons
In the Navigation pane choose Tenant_Name > Networking > External Routed
Networks > Routed Outside_Name > Networks >
External_Network_Instance_Profile.
In the Work pane, click + next to either Add Provided Contract or Add
Consumed Contract.
Note: Make a selection depending on how the contract is to be deployed.
a. Choose a Contract_Name.
b. Choose a QOS Type.
c. Choose a Match Criteria.
Click Update.
In the Navigation pane choose Tenant_Name > Networking > External Routed
Networks > Routed Outside_Name > Networks
> External_Network_Instance_Profile.
Consumer
REST :: /api/node/class/fvRsCons.xml
CLI :: moquery -c fvRsCons
In the Work pane, click + next to either Add Provided Contract or Add
Consumed Contract.
Note: Make a selection depending on how the contract is to be deployed.
a. Enter a Contract_Name.
b. Choose a QOS Type.
c. Choose a Match Criteria.
Click Update.
Filters
A fil
ter pol
icy is a group of re
solv
able fil
ter en
tries. Each fil
ter entry is a com
bi
na
tion of
net
work traf
fic clas
si
fi
ca
tion prop
er
ties.
Fil
ters are Layer 2 to Layer 4 fields, TCP/IP header fields such as Layer 3 pro
to
col type,
Layer 4 ports, and so on. Ac
cord
ing to its re
lated con
tract, an EPG provider dic
tates the
pro
to
cols and ports in both the in and out di
rec
tions. Con
tract sub
jects con
tain as
so
ci
a
tions to the fil
ters (and their di
rec
tions) that are ap
plied be
tween EPGs that pro
duce
and con
sume the con
tract. See the Use Cases below for an ex
am
ple.
ARP
FCOE
IP
MAC Security
MPLS Unicast
Trill
Unspecified
The de
fault is ARP.
Allow Frag
ment - The start of the source port range. The start of the port range is de
ter
mined by the server type. The range is 0 to 0xffff. The port can be for the fol
low
ing
server types:
Source Port: From - The start of the source port range. The start of the port range is
de
ter
mined by the server type. The range is 0 to 0xffff. The port can be for the fol
low
ing server types:
Unspecified
ftpData
SMTP
DNS
HTTP
POP3
HTTPS
RTSP
Source Port: To - The end of the source port range. The end of the port range is de
ter
mined by the server type. The range is 0 to 0xffff. The port can be for the fol
low
ing
server types:
Unspecified
ftpData
smtp
DNS
HTTP
POP3
HTTPS
RTSP
ti
na
tion port range. The end of the port
Des
ti
na
tion Port: From - The end of the des
range is de
ter
mined by the server type. The range is 0 to 0xffff. The port state set
tings
are:
Unspecified
ftpData
SMTP
DNS
HTTP
POP3
HTTPS
RTSP
Des
ti
na
tion Port: To - The start of the des
ti
na
tion port range. The port range is de
ter
mined by the server type. The range is 0 to 0xffff. The des
ti
na
tion port can be set for
the fol
low
ing server types:
unspecified
ftpData
smtp
dns
http
pop3
https
rtsp
The de
fault is un
spec
i
fied.
Create Filters
1
In the Navigation pane choose Tenant_Name > Security Policies > Filters.
Click Update.
Click Submit.
Modify Filters
1
In the Navigation pane choose Tenant_Name > Security Policies > Filters >
Filter_Name.
Click Update.
Click Submit.
Remove Filters
1
In the Navigation pane choose Tenant_Name > Security Policies > Filters >
Filter_Name.
Verify Filters
REST :: /api/node/class/vzFilter.xml
CLI :: moquery -c vzFilter
Taboo Contracts
There may be times when the ACI ad
min
is
tra
tor might need to deny traf
fic that is al
lowed by an
other con
tract. Taboos are a spe
cial type of con
tract that an ACI ad
min
is
tra
tor can use to deny spe
cific traf
fic that would oth
er
wise be al
lowed by an
other con
tract. Taboos can be used to drop traf
fic match
ing a pat
tern (any EPG, a spe
cific EPG,
match
ing a fil
ter, and so forth). Taboo rules are ap
plied in the hard
ware be
fore the
rules of reg
ul
ar con
tracts are ap
plied.
Taboo con
tracts are not rec
om
mended as part of the ACI best prac
tices but they can
be used to tran
si
tion from tra
di
tional net
work
ing to ACI. To im
it
ate the tra
di
tional net
work
ing con
cepts, an "al
low-all-traf
fic" con
tract can be ap
plied, with taboo con
tracts
con
fig
ured to re
strict cer
tain types of traf
fic.
In the Navigation pane choose Tenant_Name > Security Policies > Taboo
Contracts.
4
5
Click Update.
Click OK.
Click Submit.
In the Navigation pane choose Tenant_Name > Security Policies > Taboo
Contracts > Taboo_Contract_Name.
Click Submit.
Click Submit.
In the Work pane, choose the Taboo Contract_Name > Actions > Delete.
C
onsumer
REST :: /api/node/class/fvRsCons.xml
CLI :: moquery -c fvRsCons
Inter-Tenant Contracts
There may be times when the ACI ad
min
is
tra
tor might need to allow traf
fic be
tween
two ten
ants. In
ter
face con
tracts are a spe
cial type of con
tract that an ACI ad
min
is
tra
tor can use to allow spe
cific traf
fic through the use of a con
tract ex
port. The con
tract
in essence is ex
ported in the source ten
ant and im
ported into the tar
get ten
ant. Sim
il
ar
to tra
di
tional con
tracts, the source EPG will be of type provider. How
ever, in the tar
get
ten
ant, the con
tract is im
ported as type con
tract in
ter
face. Some use case ex
am
ples
show the com
plete process in the next chap
ter.
Configuration Parameters
When Im
port
ing a Con
tract, the fol
low
ing op
tions can be de
fined:
tract in
ter
face.
Name - The name of the con
Global Con
tract - Name of a ser
vice con
tract to be shared be
tween two or more par
tic
ip
at
ing peer en
ti
ties.
Ten
ant - The Ten
ant name of the tar
geted Ex
port con
tract.
In the Navigation pane choose Tenant_Name > Security Policies > Contracts.
Click Finish.
In the Navigation pane choose Tenant_Name > Security Policies > Contracts >
Contract_Name.
Click Finish.
In the Navigation pane choose Tenant_Name > Security Policies > Contracts
> Imported Contracts > Contact_Name.
Inter-Tenant Contracts.
Inter-Tenant Contracts
ACME Inc., as with most com
pa
nies, makes use of shared ser
vices such as DNS for name
res
o
lu
tion and Ac
tive Di
rec
tory for user man
age
ment. These ser
vices will be used across
most of their ten
ants and so ACME Inc. must allow this traf
fic across the whole fab
ric. Com
mu
ni
ca
tion be
tween EPGs that be
long to dif
fer
ent ten
ants is only al
lowed when
they share the same con
tract. To use the same con
tract, it will need to be ex
ported from
the source ten
ant to the ap
pro
pri
ate des
ti
na
tion ten
ant. That con
tract will ap
pear under
the Im
ported Con
tract sec
tion in the Se
cu
rity Poli
cies of the des
ti
na
tion ten
ant.
tract In
ter
face will be used to as
so
ci
ate an EPG from the des
ti
na
tion
A Con
sumed Con
ten
ant with the im
ported con
tract.
Note: A con
tract con
sump
tion in
ter
face rep
re
sents one or more sub
jects de
fined under
the con
tract. By as
so
ci
at
ing to an in
ter
face, an end
point group starts con
sum
ing all the
sub
jects rep
re
sented by the in
ter
face.
In the use case below, EPG-1 in ten
ant Cisco-1 re
quires com
mu
ni
ca
tion with EPG-2 in
ten
ant Cisco-2. This is ac
com
plished by uti
liz
ing con
tact in
ter
faces. In ten
ant Cisco-1
Tenant Cisco-1/EPG-1
1
Create the host subnet (default Gateway IP) under EPG1 - subnet scope shared.
Create the host subnet under the bridge domain - subnet scope private/public.
Tenant Cisco-2/EPG-2
1
Create the host subnet (default Gateway IP) under EPG2 - subnet scope shared.
Create the host subnet (default Gateway IP) under the bridge domain - subnet
scope private/public.
Tenant Cisco-1/EPG-1
1
Create the host subnet (default Gateway IP) under EPG1 - subnet scope shared.
Tenant Cisco-1/EPG-2
1
Create the host subnet (default Gateway IP) under EPG2 - subnet scope shared.
Sample Contract using Single Bi-directional Subject, Single Filter with Reverse
Filtering Ports Enabled
249
Layer 4 to Layer 7
Services
Section Content
Firewalls
Load balancers
In
te
grat
ing ser
vices with Cisco ACI Ser
vice Graphs will pro
vide ACME with the fol
low
ing ben
e
fits:
Integrated configuration management using the APIC GUI, REST API or Python
scripts, all based on a consistent ACI object model
Complex topology modeling with logical flow stitching allowing abstracted links
APIC GUI
API with a programmatic tool, such as Python or a RESTful API post through
POSTman
These pol
icy ob
jects can be cre
ated, ma
nip
ul
ated, and reused. As it re
lates to the Layer
4 to Layer 7 ser
vices, these ob
jects ex
press the in
tent of use for that ob
ject in re
la
tion
to the ap
pli
ca
tion.
When an ap
pli
ca
tion pro
file is de
ployed and end
points are at
tached to the leaf
switches, the ser
vice graph ob
jects are then trans
lated into spe
cific de
vice con
fig
ur
a
tions that gets pushed the ser
vice nodes through a process called ren
der
ing. The APIC
also sets up the net
work for
ward
ing path to make sure the cor
rect for
ward
ing ac
tion is
taken to get traf
fic flow to the ser
vice nodes for treat
ment.
This ab
stracted process of con
fig
ur
a
tion man
age
ment works like a pol
icy tem
plate
where you can de
fine the ex
pected be
hav
ior, then link two groups and sub
ject their re
la
tion
ship to that pol
icy. This pol
icy can be copied, reused and repack
aged as nec
es
sary.
The ren
der
ing in
volves al
lo
ca
tion of the nec
es
sary bridge do
mains, con
fig
ur
a
tion of IP
ad
dresses on the fire
wall and load bal
ancer in
ter
faces, cre
ation of the VLAN on these
de
vices to cre
ate the path for the func
tions, and per
for
mance of all the work nec
es
sary
to make sure that the path be
tween EPGs is the path de
fined in the ser
vice graph.
As is the case with many cus
tomers, ACME has a few cookie cut
ter tem
plates for fire
wall and load-bal
anc
ing ser
vices. Though the ini
tial de
f
in
i
t
ion of these tem
plates can be
po
ten
tially cum
ber
some, sub
se
quently reusing the tem
plates is very straight
for
ward
sim
ply by re
plac
ing IP ad
dresses, ports, ob
ject-groups, and other val
ues.
L4-L7 Workflow
For in
for
ma
tion about de
ploy
ing Layer 4 to Layer 7 ser
vices, see the Cisco APIC Layer 4
to Layer 7 Ser
vices De
ploy
ment Guide: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
L4-L7_
Services_
Deployment/
guide/
b_
L4L7_
Deploy.
html.
The key sec
tions of the De
ploy
ment Guide are listed below:
Create a Device
Once the de
vice pack
age is im
ported, the de
vices will be added through a process of
cre
at
ing a log
i
cal de
vice clus
ter and cre
at
ing a re
la
tion
ship be
tween this log
i
cal de
vice
and the phys
i
cal ap
pli
ance. This can be done with a phys
i
cal or VM de
vice. The con
fig
u
ra
tion steps dif
fer slightly for phys
i
cal de
vices and vir
tual de
vices, but are very sim
i
lar.
Modify a Device
You can mod
ify a de
vice's con
fig
ur
a
tion through the GUI as de
scribed in this sec
tion of
the De
ploy
ment Guide.
In the Navigation pane, choose Tenant_Name > L4-L7 Services > Deployed
Graph Instances. The Work pane displays information about the deployed
graph instances, including a list of the deployed service graphs, the associated
contracts, and the current state of the graph policy. A state of "Applied" means
the graph has been applied and is active in the fabric and the service device.
For fur
ther de
tails of the pos
si
ble states and other rel
e
vant states, see the Cisco APIC
vices De
ploy
ment Guide at: http://
www.
cisco.
com/
c/
en/
us/
td/
Layer 4 to Layer 7 Ser
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
L4-L7_
Services_
Deployment/
guide/
b_
L4L7_
Deploy/
b_
L4L7_
Deploy_
chapter_
01010.
html#
task_
F2BFF7545D9142EFB208C10F5DFBB1B4
In the Navigation pane, choose Tenant_Name > L4-L7 Services > Deployed
Graph Instances.
In the Work pane, choose the Faults tab. The Work pane displays the faults that
are related to the active service graph.
To un
der
stand the faults listed and pos
si
ble res
o
lu
tions, see Ta
bles 1 and 2 in the Cisco
APIC Layer 4 to Layer 7 Ser
vices De
ploy
ment Guide at: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
L4-L7_
Services_
Deployment/
guide/
b_
L4L7_
Deploy/
b_
L4L7_
Deploy_
chapter_
01010.
html#
concept_
307C0CA3EB57469EAF7EF87AAE5A240F
In the Navigation pane, choose Tenant_Name > L4-L7 Services > Virtual
Devices. The Work pane displays information about the virtual devices, such as
faults and health scores.
Verify that the ASAv has a correct IPv4 address on the management 0/0
interface.
Verify connectivity from the APIC to the management 0/0 interface of the
ASAv.
a. SSH to the APIC cluster IP address
b. Issue the following command:
If the re
sponse is dif
fer
ent, then there is likely some sort of con
nec
tiv
ity
issue. Ad
dress the con
nec
tiv
ity prob
lems be
fore mov
ing on.
6
In the APIC GUI, on the menu bar, choose Tenant > Tenant_Name.
If an ASA device package is not listed, then perform the following actions:
a. Right click on the Device Types.
b. Choose Import Device Package.
c. Follow the prompts to upload the device package.
In the Navigation pane, choose Tenant_Name > Networking > Bridge Domains
> BD-EPG1.
Re
peat this process for the Bridge Do
mains of the af
fected EPGs.
In the Create a L4-L7 Function Profile dialog box, perform the following
actions:
a. Enter a name that is relevant to the tenant and fuction, such as "TXX-ASAvFP".
b. In the Profile Group drop-down list, choose Create Function Profile Group.
c. In the Create L4-L7 Services Function Profile Group dialog box, perform the
following actions:
i. Enter a meaningful name, such as "TXX-FP-Group".
ii. Click SUBMIT.
d. In the Profile drop-down list, choose WebServiceProfileGroup
or WebPolicyForRoutedMode.
e. In the Feature and Parameters section, choose the All Parameters tab. You
will configure IP addressing under Interface Related Configuration for both
external and internal interfaces (externalIf and interalIf).
f. Expand Interface Related Configuration for externalIf.
g. Expand Interface Specific Configuration.
h. Double-click IPv4 Address.
i. Enter: ipv4 address in a.b.c.d/m.n.o.p format
j. Click Update.
k. Repeat steps 4f - 4j as needed.
The fol
low
ing steps will cre
ate a Layer 4 to Layer 7 de
vice:
1
In the Create L4-L7 Devices dialog box, perform the following actions:
a. Enter a meaningful name: Txx-ASAv-Cluster
b. Device Package: CISCO-ASA-1.1 Model: ASAv
c. Mode: Single Node
d. Function Type: Goto
e. Connectivity VMM Domain: Txx-vCenter
f. APIC to Device: Out of Band
g. Credentials: {uid/pwd}
h. Under Device 1, specify the following values:
i. Management IP address: ASAv IP address
ii. Management Port: https
iii. VM: Tenant ASAv Controller (in the dropdown box)
iv. Virtual Interfaces: Create two entries; click + twice; enter interface values
accordingly:
1. Name: GigabitEthernet0/0 vNIC: Network Adapter 2 Direction:
provider
2. Name: GigabitEthernet0/1 vNIC: Network Adapter 3 Direction:
consumer
v. Click UPDATE after each entry.
vi. Click NEXT.
vii. Click FINISH.
Ver
ify the Log
ic
al and Con
crete De
vice Clus
ters have been con
fig
ured:
1
In the Navigation Pane choose Tenant_Name > L4-L7 Services > L4-L7 Devices.
In the Navigation pane, choose Tenant_Name > L4-L7 Services > L4-L7 Service
Graph Templates.
In the Work pane, choose Actions > Create a L4-L7 Service Graph Template.
In the Create L4-L7 Devices dialog box, perform the following actions:
a. In the Name field, enter TXX-ASAv-L3-Routed-Template.
b. In the Type drop-down list, choose Single Node - Firewall in Routed Mode.
c. In the Device Function drop-down list, choose CISCO-ASA-1.1/Firewall.
d. In the Profile drop-down list, choose TXX-ASAv-FP, which is the functional
profile you created previously.
e. Click Submit.
You can verify that the template was created successfully by expanding
Tenant_Name > L4-L7 Services > L4-L7 Service Graph Templates > Txx-ASAvL3-Routed-Template > Function Node - Firewall.
In the Navigation pane, choose Tenant_Name > L4-L7 Services > L4-L7 Service
Graph Templates.
In the Apply L4-L7 Service Graph Template to EPGs dialog box, perform the
following actions:
a. In the Consumer EPG / External Network drop-down list, choose EPG1.
b. In the Provider EPG / External Network drop-down list, choose EPG2.
Choose TXX-EPG1-to-EPG2-TXX-ASAv-L3-Router-Template-TXXProduction.
You can see that the Consumer and Provider EPGs are associated with the EPG1
and EPG2 server EPGs.
Expand TXX-EPG1-to-EPG2-TXX-ASAv-L3-Router-Template-Firewall.
Select External.
Click SUBMIT.
Expand TXX-ASAv-L3-Router-Template.
10
Filters: common/default.
11
12
Click SUBMIT.
13
14
Filters: common/default.
15
16
Click SUBMIT.
269
Health Scores
Section Content
Understanding Faults
Understanding Faults
From a man
age
ment point of view we look at the Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
troller (APIC) from two per
spec
tives:
1
Fault Lifecycle
When a spe
cific con
di
tion oc
curs, such as a com
po
nent fail
ure or an alarm, the sys
tem
cre
ates a fault MO as a child ob
ject to the MO that is pri
mar
ily as
so
ci
ated with the fault.
For a fault ob
ject class, the fault con
di
tions are de
fined by the fault rules of the par
ent
ob
ject class. Fault MOs ap
pear as reg
ul
ar MOs in MIT; they have a par
ent, a DN, RN,
and so on. The Fault code is an al
phanu
mer
ic
al string in the form FXXX. For more in
for
ma
tion about fault codes, see the Cisco APIC Faults, Events, and Sys
tem Mes
sages
age
ment Guide.
Man
The fol
low
ing ex
am
ple is a REST query to the fab
ric that re
turns the health score for a
ten
ant named "3tier
app":
https://hostname/api/node/mo/uni/tn-3tierapp.xml?query-target=self&rsp-subtreeinclude=health
The fol
low
ing ex
am
ple is a REST query to the fab
ric that re
turns the sta
tis
tics for a ten
ant named "3tier
app":
https://hostname/api/node/mo/uni/tn-3tierapp.xml?query-target=self&rsp-subtreeinclude=stats
The fol
low
ing ex
am
ple is a REST query to the fab
ric that re
turns the faults for a leaf
node:
https://hostname/api/node/mo/topology/pod-1/node-103.xml?query-target=self&rspsubtree-include=faults
As you can see, MOs can be queried by class and DN, with prop
erty fil
ters, pag
i
na
tion, and
so on.
In most cases, a fault MO is au
to
mat
ic
ally cre
ated, es
ca
lated, de-es
ca
lated, and deleted
by the sys
tem as spe
cific con
di
tions are de
tected. There can be at most one fault with a
given code under an MO. If the same con
di
tion is de
tected mul
ti
ple times while the
cor
re
spond
ing fault MO is ac
tive, no ad
di
tional in
stances of the fault MO are cre
ated.
In other words, if the same con
di
tion is de
tected mul
ti
ple times for the same af
fected
ob
ject, only one fault is raised while a counter for the re
cur
rence of that fault will be
in
cre
mented. A fault MO re
mains in the sys
tem until the fault con
di
tion is cleared. To
re
move a fault, the con
di
tion rais
ing the fault must be cleared, whether by con
fig
ur
a
-
Minor
Major
The cre
ation of a fault MO can be trig
gered by in
ter
nal processes such as:
For ex
am
ple, you can set fault thresh
olds on sta
tis
ti
cal mea
sure
ments such as health
scores, data traf
fic, or tem
per
at
ures.
285
Monitoring
Monitoring 287
Section Content
288 Monitoring
Reactive Monitoring
Reactive Monitoring Tools
Switch Port Analyzer (SPAN)
Traceroute
Atomic Counters
Traffic Map
Enhanced Troubleshooting Wizard
IPing
Audit Logs
Monitoring 289
290 Monitoring
ant pol
icy will over
ride the Fab
ric pol
icy. In the fol
low
ing test
ing ex
am
ple, a Ten
ant
pol
icy is cre
ated to gather sta
tis
tics. Even if this ten
ant is shared with other ap
pli
ca
tions, cus
tomers, test cases, it will pro
vide a real world ex
am
ple of how the ap
pli
ca
tion
will be
have in a pro
duc
tion en
vi
ron
ment.
In the Create Monitoring Policies dialog box, perform the following actions:
a. In the Name field enter a name for the Monitoring Policy.
b. Click Submit.
Diagnostics Policies
Monitoring 291
sta
tis
tics about. For ex
am
ple, to change the in
for
ma
tion gath
ered for Bridge Do
mains,
use the Bridge Do
main (infra.
RSOInfraBD) Mon
it
or
ing Ob
ject.
To add mon
it
or
ing ob
jects:
1
For this ex
am
ple, changes might be made to Mon
it
or
ing Ob
ject poli
cies for Ten
ant,
VXLAN Pool, Leaf Port, and/or Taboo Con
tract. There are sev
eral op
tions and this will
all de
pend on what is im
por
tant to mon
it
or in the en
vi
ron
ment. Click on the pull down
menu to se
lect a mon
it
or
ing ob
ject and add a re
ten
tion pol
icy to it.
To add a pol
icy to a Mon
it
or
ing Ob
ject:
1
In the Work pane, in the Stats Collection Policy dialog box, perform the
following actions:
a. Select the Monitoring Object.
b. Click + to add the policy.
c. Select the granularity with which it is to poll.
d. Leave the state as inherited to stick with the defaults as set for ALL, or
explicitly select enabled or disabled.
e. The retention policy may either be inherited or explicitly specified as enabled
or disabled as well.
f. Click Update.
292 Monitoring
In the Work pane, in the Stats Export Policy dialog box, perform the following
actions:
a. Select ALL or a specific monitoring object from the drop-down list.
b. Click + to add the policy.
c. Now define the Stats Export Policy in the wizard.
d. Choose either JSON or XML as the format. There's really no difference other
than personal preference, or it may be dictated by the tool used to read it.
e. Choose to compress it using GZIP, or leave it uncompressed.
f. Click + under Export Destinations to specify a server where this information
is to be collected. Another wizard will pop up to enable specification of the
protocols and credentials used to connect to this server.
g. Click Ok.
Click Submit.
Diagnostics Policies
Next are the di
ag
nos
tics poli
cies in the nav
ig
a
tion pane on the left. This is a re
ally slick
fea
ture that al
lows the setup of di
ag
nos
tics test for the Mon
it
or
ing Ob
jects that were
spec
if
ied in the Stats Col
lec
tion Poli
cies. Next to the Mon
it
or
ing Ob
ject is the Pen
cil
but
ton which en
ables se
lec
tion of the mon
it
or
ing ob
jects to be con
fig
ured with di
ag
nos
tics poli
cies. There are two dif
fer
ent kind of poli
cies for con
fig
ur
a
tion - Boot-Up di
ag
nos
tics or On
go
ing di
ag
nos
tics.
Monitoring 293
To con
fig
ure di
ag
nos
tic poli
cies:
1
In the Navigation pane choose Tenant_Name > Monitoring Policies > default
> Diagnostics Policies.
In the Work pane, in the Diagnostic Policies dialog box, perform the following
actions:
Note: Click on the Pencil Icon and put checks next to the Monitoring Objects
which diagnostics tests are to be added to.
a. Select one of the Monitoring Objects.
b. Click + to add an Object.
i. select either Boot-Up or Ongoing.
ii. Boot-Up runs the tests while the devices are booting, and Ongoing will run
the tests as often as specified within the wizard.
iii. In the wizard give it a name and select the admin state.
iv. There are five different diagnostics tests available: ASIC, CPU, Internal
Connectivity, Peripherals, and System Memory. Double-click on each to
obtain the option of specifying no tests, full tests, or recommended tests.
v. Click Submit.
The di
ag
nos
tics found here can be use
ful in find
ing failed com
po
nents be
fore they
cause major is
sues within your en
vi
ron
ment.
Call Home/SNMP/syslog
There are a few dif
fer
ent ways to setup no
ti
fi
ca
tion or alert poli
cies. The Call
Home/SNMP/sys
log pol
icy will allow alert
ing to be con
fig
ured in a flex
ib
le man
ner.
Cisco Call Home is a fea
ture in many Cisco prod
ucts that will pro
vide email or webbased no
ti
fi
ca
tion alerts in sev
eral dif
fer
ent for
mats for crit
ic
al events. This al
lows ad
min
is
tra
tors to re
solve is
sues be
fore they turn into out
ages. SNMP or sys
log poli
cies
can also be used with cur
rent no
ti
fi
ca
tion sys
tems. Dif
fer
ent log
ging lev
els may be se
lected for no
ti
fi
ca
tions and alert lev
els spec
if
ied for Mon
it
or
ing Ob
jects from which
alerts are to be re
ceived.
294 Monitoring
In the Work pane, in the Fault Severity Assignment Policies dialog box,
perform the following actions:
a. Select a Monitoring Object, which will dictate the fault codes for which you
are changing the fault severity.
b. Click + to add an Object.
c. Select the particular fault code for which severity is to be changed.
d. Select the severity: Cleared, Critical, Major, Minor, Squelched, Inherit,
Warning, Info.
Note: Squelched gives it a weight of 0%, meaning it does not affect health
scores.
Click Update.
Monitoring 295
In the Work pane, in the Fault Lifecycle Policies dialog box, perform the
following actions:
a. Select a Monitoring Object, which will dictate the fault codes for which you
are changing the default intervals.
b. Click +.
c. Specify times for the Clearing Interval, Retention Interval, and Soaking
Interval (all in seconds).
Note: The default for the Clearing Interval is 120 seconds; the Retention
Interval is 3600 seconds; and the Soaking Interval is 120 seconds.
296 Monitoring
In the Navigation pane, choose Monitor Policies > default > Stats Collection
Policies.
Monitoring 297
In the Work pane, in the Stats Collection Policies dialog box, perform the
following actions:
a. Select the Monitoring Object Equipment Capacity Entity
(eqptcapacity.Entity).
b. Select the Stats Type Policy Entry.
c. Click + under Config Thresholds.
d. In the Thresholds For Collection 5 Minute window, select the blue pencil
icon next to policy CAM entries usage current value.
In the Navigation pane, choose Monitor Policies > default > Stats Collection
Policies.
In the Work pane, in the Stats Collection Policies dialog box, perform the
following actions:
a. Select the Monitoring Object Equipment Capacity Entity
(eqptcapacity.Entity).
b. Select the Stats TypeLayer3 Entry.
c. Click + under Config Thresholds.
d. In the Thresholds For Collection 5 Minute window, select the blue pencil
icon next to policy CAM entries usage current value.
In the Navigation pane, choose Monitor Policies > Common Policies > Health
Score Evaluation Policy > Health Score Evaluation Policy.
In the Work pane, in the Properties dialog box, perform the following actions:
a. In the Penalty of fault severity critical dropdown menu, select the desired %.
b. In the Penalty of fault severity major dropdown menu, select the desired %.
c. In the Penalty of fault severity minor dropdown menu, select the desired %.
d. In the Penalty of fault severity warning dropdown menu, select the desired %.
298 Monitoring
Click Submit.
Communication Policy
1
In the Navigation pane, expand Pod Policies > Policies > Communication.
In the Create Communication Policy dialog box, perform the following actions:
a. Enter Communication Policy Name.
b. From the HTTP Admin State dropdown menu select the desired state.
c. From the HTTP Port dropdown menu select the desired port.
d. Select the desired HTTP redirect state.
e. From the HTTPS Admin State dropdown menu select the desired state.
f. From the HTTPS Port dropdown menu select the desired port.
g. Select the desired HTTPS redirect state.
h. From the SSH Admin State dropdown menu select the desired state.
i. From the Telnet Admin State dropdown menu select the desired state.
j. From the Telnet Port dropdown menu select the desired port.
Click Submit.
Monitoring 299
Monitoring APICs
CPU utilization and Memory
GUI
The eas
ie
st way to quickly ver
ify the health of the con
trollers is the APIC. When log
ging
into the sys
tem dash
board, the health of the APICs and the health of the clus
ter it
self
are dis
played right at the dash
board.
The screen
shot shows where this in
for
ma
tion is vis
ib
le. In this ex
am
ple, two out of the
three APICs are in a sub-op
ti
mal state and APIC 1 is also ex
pe
ri
enc
ing is
sues.
300 Monitoring
Con
trollers pro
vide in
for
ma
tion re
gard
ing the cur
rent sta
tus of CPU and mem
ory uti
liza
tion by cre
at
ing in
stances of the pro
cEn
tity class. pro
cEn
tity is a con
tainer of
processes in the sys
tem. This ob
ject holds de
tailed in
for
ma
tion about var
i
ous processes
run
ning on the APIC. The pro
cEn
tity ob
jects con
tain the fol
low
ing use
ful prop
er
ties:
cpuPct - CPU uti
liza
tion
maxMemAl
loc - The max
i
mum mem
ory al
lo
cated for the sys
tem
mem
Free - The max
i
mum amount of avail
able mem
ory for the sys
tem
Sam
ple Usage: This in
for
ma
tion can be re
trieved for all APIC con
trollers using the fol
low
ing REST call:
http[s]://apic_ip/api/node/class/procEntity.xml?
Monitoring 301
CLI
0.3%us,
0.4%sy,
131954932k total,
Swap:
4 users,
0 stopped,
0.0%ni, 99.3%id,
0.0%wa,
0 zombie
0.0%hi,
0k total,
0k used,
RES
0.0%st
1952656k cached
PID USER
PR
NI
32102 root
20
556m 205m
85m S
3.3
0.2
38:11.04 svc_ifc_applian
32120 ifc
20
660m 343m
86m S
2.0
0.3
27:58.73 svc_ifc_dbgr.bi
32121 ifc
20
631m 286m
86m S
2.0
0.2
17:41.92 svc_ifc_topomgr
32105 root
20
659m 258m
85m S
1.7
0.2
17:08.35 svc_ifc_bootmgr
32113 ifc
20
0 1083m 721m
69m S
1.7
0.6
20:03.37 svc_ifc_observe
32128 ifc
20
639m 315m
69m S
1.7
0.2
16:28.34 svc_ifc_reader.
32132 ifc
20
657m 252m
71m S
1.7
0.2
17:13.74 svc_ifc_scripth
20
834m 419m
94m S
1.3
0.3
20:35.24 nginx.bin
1291 root
VIRT
0k free,
0.0%si,
409540k buffers
TIME+
COMMAND
Disk Utilization
GUI
There are sev
eral disks and file sys
tems pre
sent on the APICs. The GUI pro
vides ready
ac
cess to disk space uti
liza
tion of all par
ti
tions on the sys
tem and can be used for mon
i
tor
ing this in
for
ma
tion.
The disk uti
liza
tion can be viewed by click
ing on Sys
tem > Con
trollers > Apic-X > Stor
age
The work pane dis
plays the uti
liza
tion of all par
ti
tions in the sys
tem.
302 Monitoring
CLI
user@apic1:~> df
Filesystem
1K-blocks
/dev/dm-1
41282880
10518960
tmpfs
4194304
56456
4137848
tmpfs
65977464
964
65976500
1% /tmp
10518960
28666872
27% /data
13860672
25327104
36% /firmware
27% /
2% /dev/shm
/dev/mapper/vg_ifc0-data
41282880
/dev/mapper/vg_ifc0-firmware
41284928
/dev/mapper/vg_ifc0-data2
583149656
1281104 552246280
1% /data2
REST API
This in
for
ma
tion can be re
trieved for all APIC con
trollers using the fol
low
ing REST call:
http[s]://apic-ip/api/node/class/eqptStorage.xml?
Monitoring 303
The bond in
ter
faces rely on un
der
ly
ing phys
ic
al in
ter
faces and it is im
por
tant to note
that the GUI pro
vides link in
for
ma
tion for both the phys
ic
al and log
ic
al bond in
ter
faces.
GUI
To view in
ter
face sta
tus for the in
ter
faces on the APICs, nav
ig
ate to Sys
tem > Con
trollers > Apic-x > In
ter
faces
CLI
Both "if
con
fig" and the "ip link" CLI com
mands can be used to ver
ify link state. The CLI
also pro
vides in
for
ma
tion on de
tailed in
ter
face sta
tis
tics such as RX and TX coun
ters.
REST API
This in
for
ma
tion can be re
trieved for all APIC con
trollers using the fol
low
ing REST call:
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-1/sys.json?querytarget=subtree&target-subtree-class=l3EncRtdIf
GUI
To view in
ter
face sta
tus for the in
ter
faces on the APICs, nav
ig
ate to Sys
tem > Con
trollers > Apic-x > Equip
ment-Fans
REST API
This in
for
ma
tion can be re
trieved for all APIC con
trollers using the fol
low
ing REST call:
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-1.json?querytarget=subtree&target-subtree-class=eqptFan
CLI
304 Monitoring
CLI
The Fan sta
tus for the APICs can be mon
it
ored using the CLI on the CIMC port of the
APIC. To ob
tain this, login to the CIMC using the cre
den
tials used for set
ting up the
CIMC (may not be the same as the cre
den
tials used for APIC). If this has not been setup
pre
vi
ously, the de
fault user
name is admin and the de
fault pass
word is pass
word.
The CIMC port is the in
te
grated lights-out man
age
ment port that can be used to re
cover an APIC in the event of a cat
as
trophic fail
ure.
user@apic1:~> ssh -l admin 172.16.176.179
Warning: Permanently added '172.16.176.179' (RSA) to the list of known hosts.
[email protected]'s password:
C220-FCH1807V02V# scope sensor
C220-FCH1807V02V /sensor # show fan
Name
Sensor
Reading
Units
Status
----------- ------- --------
Min.
Max.
Min.
Max.
Warning
Warning
Failure
Failure
FAN1_TACH1
Normal
7490
RPM
1712
N/A
1284
N/A
FAN1_TACH2
Normal
7490
RPM
1712
N/A
1284
N/A
FAN2_TACH1
Normal
7490
RPM
1712
N/A
1284
N/A
FAN2_TACH2
Normal
7276
RPM
1712
N/A
1284
N/A
FAN3_TACH1
Normal
7704
RPM
1712
N/A
1284
N/A
FAN3_TACH2
Normal
7276
RPM
1712
N/A
1284
N/A
FAN4_TACH1
Normal
7704
RPM
1712
N/A
1284
N/A
FAN4_TACH2
Normal
7276
RPM
1712
N/A
1284
N/A
FAN5_TACH1
Normal
7704
RPM
1712
N/A
1284
N/A
Temperature Status
To mon
it
or the tem
per
at
ure state of the var
io
us sen
sors avail
able on the APICs use the
fol
low
ing steps.
GUI
To view in
ter
face sta
tus for the in
ter
faces on the APICs, nav
ig
ate to Sys
tem > Con
trollers > Apic-x > Equip
ment-Sen
sors
REST API
Monitoring 305
REST API
This in
for
ma
tion can be re
trieved for all APIC con
trollers using the fol
low
ing REST call:
https://{{apic-ip}}//api/node/mo/topology/pod-1/node-1.json?querytarget=subtree&target-subtree-class=eqptSensor
CLI
C220-FCH1807V02V /sensor # show temperature
C220-FCH1807V02V /sensor # show temperature
Name
Sensor
Reading
Units
Status
------------------ -------- --------
Min.
Max.
Min.
Max.
Warning
Warning
Failure
Failure
P1_TEMP_SENS
Normal
49.5
N/A
81.0
N/A
86.0
P2_TEMP_SENS
Normal
50.5
N/A
81.0
N/A
86.0
RISER1_INLET_TMP
Normal
45.0
N/A
60.0
N/A
70.0
RISER2_INLET_TMP
Normal
41.0
N/A
60.0
N/A
70.0
RISER1_OUTLETTMP
Normal
50.0
N/A
60.0
N/A
70.0
RISER2_OUTLETTMP
Normal
41.0
N/A
60.0
N/A
70.0
FP_TEMP_SENSOR
Normal
37.0
N/A
60.0
N/A
70.0
DDR3_P1_A1_TEMP
Normal
42.0
N/A
65.0
N/A
85.0
DDR3_P1_B1_TEMP
Normal
43.0
N/A
65.0
N/A
85.0
DDR3_P1_C1_TEMP
Normal
44.0
N/A
65.0
N/A
85.0
DDR3_P1_D1_TEMP
Normal
44.0
N/A
65.0
N/A
85.0
DDR3_P2_E1_TEMP
Normal
43.0
N/A
65.0
N/A
85.0
DDR3_P2_F1_TEMP
Normal
43.0
N/A
65.0
N/A
85.0
DDR3_P2_G1_TEMP
Normal
42.0
N/A
65.0
N/A
85.0
DDR3_P2_H1_TEMP
Normal
41.0
N/A
65.0
N/A
85.0
VICP81E_0_TMP3
Normal
56.0
N/A
85.0
N/A
90.0
PSU1_TEMP
Normal
37.0
N/A
60.0
N/A
65.0
PCH_TEMP_SENS
Normal
51.0
N/A
80.0
N/A
85.0
306 Monitoring
CLI
C220-FCH1807V02V /sensor # show psu
Name
Sensor
Reading
Units
Status
------------------ -------- --------
--------
Min.
Max.
Min.
Max.
Warning
Warning
Failure
Failure
P1_TEMP_SENS
Normal
49.5
N/A
81.0
N/A
86.0
POWER_USAGE
Normal
160
Watts
N/A
N/A
N/A
800
PSU1_POUT
Normal
136
Watts
N/A
624
N/A
648
PSU1_PIN
Normal
160
Watts
N/A
720
N/A
744
PSU1_STATUS
Normal
present
PSU2_STATUS
Normal
absent
PSU1_PWRGD
Normal
good
PSU1_AC_OK
Normal
good
Monitoring 307
REST API
Spine and Leaf switches CPU uti
liza
tion can be mon
i
tored using the fol
low
ing classes,
based on the de
sired timescale and gran
u
lar
ity.
proc:SysCPU5min A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem cpu in
a 5 minute sam
pling in
ter
val. This class up
dates every 10 sec
onds.
308 Monitoring
CLI
Leaf-1# show proc cpu sort
PID
Runtime(ms)
Invoked
uSecs
1Sec
Process
-----
-----------
--------
-----
------
-----------
4012
69510
493837
140
1.3%
t2usd_tor
4065
7239
27609
262
1.3%
python
4292
3841
134758
28
0.8%
svc_ifc_opflexe
4391
2355
4423
532
0.4%
nginx
4067
1911
206
9278
0.4%
svc_ifc_policye
4302
1904
1862
1022
0.3%
svc_ifc_observe
Monitoring 309
4311
1811
1018
1779
0.3%
svc_ifc_confele
4123
1407
251
5606
0.3%
svc_ifc_eventmg
4310
1802
689
2616
0.3%
svc_ifc_dbgrele
4846
119693
36527
3276
0.2%
stats_manager
3923
15406
2645
5824
0.1%
pfmclnt
4864
2361
2812
839
0.1%
ospfv3
4865
2402
2717
884
0.1%
ospf
13606
435
211
2065
0.0%
bgp
4296
6263
7413
844
0.0%
snmpd
4297
6667
4542
1467
0.0%
dc3_sensor
4299
8559
8225
1040
0.0%
policy_mgr
4301
1860
19152
97
0.0%
plog
4866
2792
3269
854
0.0%
isis
5025
1611
1743
924
0.0%
mcecm
In order to ob
tain a his
tor
ic
al view of CPU uti
liza
tion from the CLI it may be nec
es
sary
to jump into an al
ter
na
tive shell from the switch bash prompt. This shell is called vsh
(or v-shell).
Leaf-1# show processes cpu history
1
33
746554661885833055376572545534667663554785033943645665335644
100
90
80
70
60
50
40
30
##
20
##
10 # ### #######
######## # ##
##### ## ####
# ####
##
0....5....1....1....2....2....3....3....4....4....5....5....
0
310 Monitoring
30 *
**
20 ** ****
**
**
*
*
* ** * *
***
**
*
**
**
**
10 ############################################################
0....5....1....1....2....2....3....3....4....4....5....5....
0
# = average CPU%
1
440
030
100
90
80
70
60
50
40 ***
30 ***
20 ***
10 ###
0....5....1....1....2....2....3....3....4....4....5....5....6....6....7.
0
# = average CPU%
Monitoring 311
REST API
Spine and Leaf switches mem
ory uti
liza
tion can be mon
it
ored using the fol
low
ing
classes, based on the de
sired timescale and gran
ul
ar
ity.
proc:Sys
Mem5min A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
ory in a 5 minute sam
pling in
ter
val. This class up
dates every 10 sec
onds.
proc:Sys
Mem15min A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
ory in a 15 minute sam
pling in
ter
val. This class up
dates every 5 min
utes.
proc:Sys
Mem1h A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
ory
in a 1 hour sam
pling in
ter
val. This class up
dates every 15 min
utes.
proc:Sys
Mem1d A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
ory
in a 1 day sam
pling in
ter
val. This class up
dates every hour.
proc:Sys
Mem1w A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
ory
in a 1 week sam
pling in
ter
val. This class up
dates every day.
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
proc:Sys
Mem1mo A class that rep
ory in a 1 month sam
pling in
ter
val. This class up
dates every day.
proc:Sys
Mem1qtr A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
ory in a 1 quar
ter sam
pling in
ter
val. This class up
dates every day.
proc:Sys
Mem1year A class that rep
re
sents the most cur
rent sta
tis
tics for Sys
tem mem
ory in a 1 year sam
pling in
ter
val. This class up
dates every day.
ACME would like to mon
it
or mem
ory over the last day, and would use the fol
low
ing
REST call:
http[s]://apic_ip/api/node/class/procSysMem1d.xml?
312 Monitoring
CLI
Leaf-1# show system resources
Load average:
1 minute: 1.21
Processes
CPU states
4.1% user,
Memory usage:
5 minutes: 1.14
2.5% kernel,
16401072K total,
15 minutes: 0.80
93.4% idle
9054020K used,
7347052K free
SNMP
As men
tioned in the URL for the SNMP ref
er
ence guide for ACI re
lease 1.x, the fol
low
ing
SNMP ob
jects are sup
ported from an SNMP polling per
spec
tive. See http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mibsupport.
html
1K-blocks
Monitoring 313
rootfs
512000
1064
510936
1% /
rootfs
512000
1064
510936
1% /
none
512000
1064
510936
1% /isan
none
512000
1064
510936
1% /var
none
51200
2288
48912
5% /etc
none
51200
108
51092
1% /var/log
none
3145728
336664
2809064
11% /dev/shm
512000
512000
0% /volatile
7782036 1080636
6306088
15% /bootflash
none
/dev/sda4
/dev/sda5
60485
5356
52006
10% /mnt/cfg/0
/dev/sda6
60485
5356
52006
10% /mnt/cfg/1
/dev/sda3
120979
13349
101384
/dev/sda7
512000
1064
510936
/dev/sda9
15748508
591216
14357292
4% /mnt/ifc/cfg
/dev/sda8
15748508
991204
13957304
7% /mnt/ifc/log
/dev/sda8
15748508
991204
13957304
7% /var/log/dme/oldlog
/dev/sda9
15748508
591216
14357292
716800
665728
51072
93% /mnt/ifc/cfg/mgmt/opt/controller/sbin
93% /controller/sbin
rootfs
rootfs
/dev/sda8
rootfs
/dev/sda4
rootfs
/dev/sda9
rootfs
rootfs
716800
665728
51072
15748508
991204
13957304
716800
665728
51072
7782036 1080636
6306088
12% /mnt/pss
1% /logflash
4% /controller
7% /data/techsupport
93% /bin
15% /bootflash
716800
665728
51072
15748508
591216
14357292
93% /data/challenge.old.plugin
716800
665728
51072
93% /controller/sbin
93% /dev
4% /controller
716800
665728
51072
none
3145728
336664
2809064
none
51200
2288
48912
none
2097152
682360
1414792
33% /isan/plugin/0/isan/utils
none
2097152
682360
1414792
33% /isan/plugin/0/lc/isan/utils
none
2097152
682360
1414792
33% /isan/plugin/0/lc/isan/lib
none
2097152
682360
1414792
33% /isan/plugin/0/isan/lib
none
2097152
682360
1414792
33% /isan/lib
none
2097152
682360
1414792
33% /isan/plugin/0/lib
none
2097152
682360
1414792
33% /isan/utils
rootfs
716800
665728
51072
93% /lc/isan/utils
rootfs
716800
665728
51072
93% /lib
rootfs
716800
665728
51072
93% /mnt/cfg
60485
5356
52006
10% /mnt/cfg/0
/dev/sda5
11% /dev/shm
5% /etc
314 Monitoring
/dev/sda6
60485
5356
52006
10% /mnt/cfg/1
716800
665728
51072
93% /mnt/ifc
15748508
591216
14357292
716800
665728
51072
/dev/sda8
15748508
991204
13957304
/dev/sda3
120979
13349
101384
rootfs
/dev/sda9
rootfs
rootfs
/dev/sda8
none
rootfs
none
4% /mnt/ifc/cfg
93% /mnt/ifc/cfg/mgmt/opt/controller/sbin
7% /mnt/ifc/log
12% /mnt/pss
716800
665728
51072
15748508
991204
13957304
93% /sbin
1572864
39444
1533420
3% /tmp
716800
665728
51072
93% /usr
7% /data/techsupport
51200
108
51092
15748508
991204
13957304
51200
108
51092
rootfs
716800
665728
51072
93% /var/log/dme
rootfs
716800
665728
51072
93% /var/log/dme/nginx
rootfs
716800
665728
51072
93% /usr/share/vim
/dev/sda7
11811760
375608
10836140
4% /var/log/dme/log
/dev/sda8
15748508
991204
13957304
7% /var/log/dme/oldlog
none
512000
1064
510936
1% /var/run/mgmt/log
none
512000
1064
510936
1% /var/run/utmp
11811760
375608
10836140
40960
40952
11811760
375608
10836140
rootfs
716800
665728
51072
none
512000
512000
/dev/sda8
none
/dev/sda7
none
/dev/sda7
1% /var/log
7% /var/log/dme/oldlog
1% /var/log/messages
4% /var/sysmgr
1% /var/sysmgr/startup-cfg
4% /logflash/core
93% /usb
0% /volatile
COPP proto
COPP Rate
COPP Burst
Monitoring 315
mcp
mcp
500
500
ifc
ifc
5000
5000
igmp
igmp
1500
1500
nd
nd
1000
1000
cdp
cdp
1000
1000
pim
pim
500
500
dhcp
dhcp
1360
340
lacp
lacp
1000
1000
ospf
ospf
2000
2000
arp
arp
1360
340
lldp
lldp
1000
1000
acllog
acllog
500
500
stp
stp
1000
1000
eigrp
eigrp
2000
2000
coop
coop
5000
5000
traceroute
traceroute
500
500
isis
isis
1500
5000
icmp
icmp
500
500
bgp
bgp
5000
5000
COPP proto
COPP Rate
COPP Burst
AllowPkts
AllowBytes
DropPkts
DropBytes
mcp
mcp
500
500
ifc
ifc
5000
5000
195072
161613961
igmp
igmp
1500
1500
192
nd
nd
1000
1000
564
cdp
cdp
1000
1000
494
140543
pim
pim
500
500
dhcp
dhcp
1360
340
1400
lacp
lacp
1000
1000
ospf
ospf
2000
2000
arp
arp
1360
340
1284
90068
lldp
lldp
1000
1000
5029
1717208
acllog
acllog
500
500
stp
stp
1000
1000
eigrp
eigrp
2000
2000
coop
coop
5000
5000
4722
470546
316 Monitoring
traceroute
traceroute
500
500
isis
isis
1500
5000
17141
2167565
icmp
icmp
500
500
bgp
bgp
5000
5000
864
73410
Monitoring 317
REST API
For cus
tomers that pre
fer the REST API in
ter
face to poll for in
ter
face sta
tis
tics, sev
eral
ob
jects are avail
able. There are sev
eral such coun
ters that are avail
able (e.g. RX/TX,
input/out
put / du
plex, 30 sec
ond rates, 5 minute rate, uni
cast pack
ets, mul
ti
cast
pack
ets, etc.). As a pointer, the par
ent man
aged ob
ject is pro
vided below, as the chil
dren can be de
rived from it.
It is ex
pected that the reader has a good un
der
stand
ing of the ob
ject model and is able
to nav
i
gate through the model to ob
tain the in
for
ma
tion de
siered using the ex
am
ple
below, in
for
ma
tion pro
vided in pre
ced
ing sec
tions and the tools de
scribed therein
An ex
am
ple of the base API call for phys
i
cal in
ter
face sta
tis
tics is:
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/phys-[eth1/1].json
318 Monitoring
For ex
am
ple, to de
ter
mine the total ingress bytes on Leaf 101 port Eth1/1, the ACME
op
er
at
or could issue the fol
low
ing API call:
/topology/pod-1/node-101/sys/phys-[eth1/1].json
Vi
sore al
lows the op
er
at
or to dig deeper into the hi
er
ar
chi
cal tree. From the prior com
mand, the op
er
at
or could see chil
dren of the in
ter
face ob
ject, such as ingress and
egress bytes. One of the child ob
jects in
cludes the fol
low
ing:
topology/pod-1/node-101/sys/phys-[eth1/1]/dbgEtherStats

CLI
The show in
ter
face eth x/y com
mand can be used to mon
it
or in
ter
faces from the CLI.
Other sup
ported com
mands in
clude "show in
ter
face port-chan
nel x/y"
Leaf-1# show int e1/1
Ethernet1/1 is up
admin state is up, Dedicated Interface
Hardware: 1000/10000/auto Ethernet, address: 7c69.f60f.8771 (bia 7c69.f60f.8771)
MTU 9000 bytes, BW 1000000 Kbit, DLY 1 usec
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, medium is broadcast
Port mode is trunk
full-duplex, 1000 Mb/s, media type is 1G
Beacon is turned off
Auto-Negotiation is turned on
Input flow-control is off, output flow-control is off
Auto-mdix is turned off
Rate mode is dedicated
Switchport monitor is off
EtherType is 0x8100
EEE (efficient-ethernet) : n/a
Last link flapped 04:19:13
Last clearing of "show interface" counters never
1 interface resets
30 seconds input rate 169328 bits/sec, 97 packets/sec
30 seconds output rate 424528 bits/sec, 115 packets/sec
Monitoring 319
0 giants
0 input error
0 watchdog
2 broadcast packets
1686129815 bytes
0 CRC
0 no buffer
0 short frame
0 overrun
0 underrun
0 ignored
0 if down drop
0 Rx pause
TX
1673907 unicast packets
1674489 output packets
7 broadcast packets
455539518 bytes
0 jumbo packets
0 output error
0 collision
0 deferred
0 lost carrier
0 no carrier
0 babble
0 late collision
0 output discard
0 Tx pause
SNMP
As men
tioned in the URL for the SNMP ref
er
ence guide for ACI re
lease 1.x, the fol
low
ing
SNMP ob
jects are sup
ported from an SNMP polling per
spec
tive for in
ter
faces
See: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mib-support.
html
Module Status
Even though the leaves are con
sid
ered fixed switches, they have a su
per
vi
sor com
po
nent which refers to the CPU com
plex. From a for
ward
ing per
spec
tive, there
are two data plane com
po
nents, viz. the NFE (Net
work For
ward
ing En
gine ASIC) which
pro
vide the front panel ports, and the ALE or ALE2 (Ap
pli
ca
tion Leaf En
gine ASIC) de
pend
ing on the gen
er
at
ion of switch hard
ware, which pro
vides up
link con
nec
tiv
ity to
the spines. The fol
low
ing meth
ods can be used to de
ter
mine the sta
tus of the mod
ules
in the switch.
320 Monitoring
GUI
To ac
cess mod
ule sta
tus for the NFE and the CPU com
plex, in the APIC GUI, nav
ig
ate to
Fab
ric > In
ven
tory > Pod-1 > Leaf-X > Chas
sis > Mod
ule > Su
per
vi
sor mod
ules and the
sta
tus of the mod
ule is dis
played in the work pane.
To ac
cess mod
ule sta
tus for the ALE/ALE2, in the APIC GUI, nav
ig
ate to Fab
ric > In
ven
tory > Pod-1 > Leaf-X > Chas
sis > Mod
ule > Line mod
ules and the sta
tus of the mod
ule
is dis
played in the work pane.
REST API
The fol
low
ing REST API call(s) can be used to mon
it
or the state of the su
per
vi
sor and
the mod
ule.
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/ch/supslot-1/sup
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/ch/lcslot-1/lc
CLI
The show mod
ule com
mand can be used to ob
tain the sta
tus of the base mod
ule and
the up
link mod
ule.
Leaf-1# show module
Mod
Ports
Module-Type
---
-----
Model
Status
48
N9K-C9396PX
active
GEM
12
N9K-M12PQ
ok
Mod
Sw
Hw
---
--------------
------
11.1(0.152)
0.2050
Mod
MAC-Address(es)
Serial-Num
---
--------------------------------------
----------
7c-69-f6-0f-87-71 to 7c-69-f6-0f-87-ad
SAL17267Z9U
Monitoring 321
Mod
---
------------------
pass
SNMP
As men
tioned in the URL for the SNMP ref
er
ence guide for ACI re
lease 1.x, the fol
low
ing
SNMP ob
jects are sup
ported from an SNMP polling per
spec
tive for mod
ules.
See: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mib-support.
html
GUI
To ac
cess fan sta
tus for the leaf switch, in the APIC GUI, nav
ig
ate to Fab
ric > In
ven
tory
> Pod-1 > Leaf-X > Chas
sis > Fan Tray and the sta
tus of the mod
ules is dis
played in the
work pane.
REST API
The fol
low
ing REST API call(s) and their child ob
jects can be used to mon
it
or the state
of the fans on a leaf switch (note that there are 3 slots on this par
tic
ul
ar switch).
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/ch/ftslot-1
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/ch/ftslot-2
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/ch/ftslot-3
CLI
The fol
low
ing CLI's can be used to mon
it
or the state of the fans on a leaf switch.
Leaf-1# show environment fan
Fan:
322 Monitoring
-----------------------------------------------------Fan
Model
Hw
Status
-----------------------------------------------------Fan1(sys_fan1)
N9K-C9300-FAN1-B
--
ok
Fan2(sys_fan2)
N9K-C9300-FAN1-B
--
ok
Fan3(sys_fan3)
N9K-C9300-FAN1-B
--
ok
Fan_in_PS1
--
--
unknown
Fan_in_PS2
--
--
ok
0x5f
SNMP
As men
tioned in the URL for the SNMP ref
er
ence guide for ACI re
lease 1.x, the fol
low
ing
SNMP ob
jects are sup
ported from an SNMP polling per
spec
tive for fan trays (http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mib-support.
html).
GUI
To ac
cess power sup
ply sta
tus for the leaf switch, in the APIC GUI, nav
ig
ate to Fab
ric >
In
ven
tory > Pod-1 > Leaf-X > Chas
sis > Power Sup
ply Units and the sta
tus of the mod
ules is dis
played in the work pane.
REST API
The fol
low
ing REST API call(s) and their child ob
jects can be used to mon
it
or the state
of the fans on a leaf switch (note that there are 3 slots on this par
tic
ul
ar switch).
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/ch/psuslot-1
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/ch/psuslot-2
Monitoring 323
CLI
The fol
low
ing CLI com
mands can be used to mon
it
or the state of the fans on a leaf
switch:
Leaf-1# show environment power
Power Supply:
Voltage: 12.0 Volts
Power
Supply
Model
Actual
Total
Output
Capacity
(Watts )
(Watts )
Status
-------
-------------------
-----------
-----------
UCSC-PSU-650W
0 W
648 W
shut
UCSC-PSU-650W
168 W
648 W
ok
Actual
Power
Draw
Allocated
Module
Model
--------------
Status
(Watts )
(Watts )
-----------
-----------
168 W
456 W
Powered-Up
--------
-------------------
N9K-C9396PX
--------------
fan1
N9K-C9300-FAN1-B
N/A
N/A
Powered-Up
fan2
N9K-C9300-FAN1-B
N/A
N/A
Powered-Up
fan3
N9K-C9300-FAN1-B
N/A
N/A
Powered-Up
Non-Redundant(combined)
Non-Redundant(combined)
648
648
168
N/A
N/A
SNMP
As men
tioned in the URL for the SNMP ref
er
ence guide for ACI re
lease 1.x, the fol
low
ing
SNMP ob
jects are sup
ported from an SNMP polling per
spec
tive for power sup
plies.
324 Monitoring
See: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mib-support.
html
REST API
The fol
low
ing rest API call can be used to ob
tain the same in
for
ma
tion:
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/lldp/inst/if-[eth1/1]
CLI
Leaf-1# show lldp neighbors
Capability codes:
(R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
(W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other
Device ID
Local Intf
Hold-time
Capability
Port ID
apic2
Eth1/1
120
apic3
Eth1/4
120
4c:4e:35:09:77:2f
5548-2
Eth1/7
120
Eth1/3
Spine-1
Eth1/49
120
BR
Eth4/1
Spine-2
Eth1/50
120
BR
Eth4/1
Spine-3
Eth1/51
120
BR
Eth1/3
Spine-4
Eth1/52
120
BR
Eth1/3
Spine-5
Eth1/53
120
BR
Eth1/5
90:e2:ba:4b:fa:d4
Monitoring 325
Spine-6
Eth1/54
120
BR
Eth1/5
SNMP
As men
tioned in the URL for the SNMP ref
er
ence guide for ACI re
lease 1.x, the fol
low
ing
SNMP ob
jects are sup
ported from an SNMP polling per
spec
tive for LLDP. See: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mib-support.
html
APIC pro
vides a sin
gle pane of glass to query and de
ter
mine all CDP neigh
bors in a fab
ric. CDP Neigh
bor Sta
tus:
GUI
To ob
tain a list of CDP neigh
bors on an in
ter
face, nav
ig
ate to Fab
ric > In
ven
tory > Pod1 > Leaf-X > Pro
to
cols > CDP > Neigh
bors > eth x/y
A full list
ing of all CDP neigh
bors on the in
ter
face can be ob
tained in the work pane.
In the above work
flow click
ing on Neigh
bors (in
stead of eth x/y) gives you a list of all
LLDP neigh
bors on the switch.
REST API
The fol
low
ing rest API call can be used to ob
tain the same in
for
ma
tion:
https://{{apic-ip}}/api/node/mo/topology/pod-1/node-101/sys/cdp/inst/if-[eth1/1]
CLI
Leaf-1# show cdp neighbors
Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge
S - Switch, H - Host, I - IGMP, r - Repeater,
V - VoIP-Phone, D - Remotely-Managed-Device,
s - Supports-STP-Dispute
Device-ID
Local Intrfce
Hldtme
Capability
Platform
Port ID
326 Monitoring
Services-UCS-A(SSI15450J63)
Eth1/5
129
S I s
UCS-FI-6248UP
Eth1/17
Eth1/7
123
S I s
N5K-C5548UP
Eth1/3
5548-2(SSI154300VL)
SNMP
As men
tioned in the URL for the SNMP ref
er
ence guide for ACI re
lease 1.x, the fol
low
ing
SNMP ob
jects are sup
ported from an SNMP polling per
spec
tive for CDP. See: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mib-support.
html
GUI
To view GOLD Di
ag
nos
tic test re
sults in the GUI for the Su
per
vi
sors, click on Fab
ric >
In
ven
tory > Pod-1 > Leaf-1 > Chas
sis > Su
per
vi
sor Mod
ules > Slot-1. Then click trou
bleshoot
ing in the work pane.
To view the same for mod
ules, click on Fab
ric > In
ven
tory > Pod-1 > Leaf-1 > Chas
sis >
Line Mod
ules > Slot-x. Then click Trou
bleshoot
ing in the work pane.
Monitoring 327
CLI
Leaf-1# show diagnostic result module all
Current bootup diagnostic level: bypass
Module 1: 1/10G Ethernet Module
(Active)
2) mgmtp-lb----------------------->
4) nsa-mem------------------------>
6) fabp-prbs:
Port
9 10 11 12
----------------------------------------.
22) cpu-cache---------------------->
23) mem-health--------------------->
24) ssd-acc------------------------>
25) act2-acc----------------------->
26) ge-eeprom---------------------->
29) usb-bus------------------------>
30) cons-dev----------------------->
31) obfl-acc----------------------->
32) nvram-cksum-------------------->
33) fpga-reg-chk------------------->
34) asic-scratch------------------->
40) rtc-test----------------------->
41) pcie-bus----------------------->
Monitoring 329
In the Create Monitoring Policy dialog box, perform the following actions:
a. Expand the newly created monitoring policy and select Stats Collection
Policy.
b. Click on the edit button next to Monitoring Object, and select L1 Physical
Interface Configuration.
c. From the Monitoring Object drop-down list, choose L1 Physical Interface
Configuration.
d. Click the edit button next to Stats Type and select Ingress and Egress.
e. From the stats type drop-down list, choose Ingress.
f. Click +.
g. Select 5 minutes from the granularity column, and click on update.
330 Monitoring
Enter 0 for the normal value and click the Rising radio button.
Note: In this ex
am
ple, we are in
ter
ested in an ab
solute per
cent
age, these poli
cies can
be fur
ther cus
tomized to pro
vide a nor
mal value, and look for de
vi
at
ions above or
below that nor
mal value.
In this sce
nario, 80% uti
liza
tion does not nec
es
sar
ily mean that the ap
pli
ca
tion per
for
mance is de
graded, so we will flag this as a warn
ing. Ad
di
tional lev
els/sever
it
ies can
also be spec
if
ied if de
sired.
The set col
umn spec
if
ies the level at which the fault will be raised, and the reset col
umn will spec
ify the the level at which the fault will be cleared. For ex
am
ple, we will be
rais
ing a warn
ing when the uti
liza
tion goes above 80, and clear the warn
ing when the
uti
liza
tion falls below 75. Re
peat these steps for the egress sta
tis
tics as well.
Fi
nally, we will as
so
ci
ate the newly cre
ated pol
icy with an in
ter
face pol
icy group that
rep
re
sents the in
ter
faces we to mon
it
or with this pol
icy.
For our ex
am
ple, we will apply the pol
icy to the UCS-10G-PG
1
2
Monitoring 331
this ex
am
ple, the de
fault mon
i
tor
ing poli
cies are ap
pro
pri
ate, and they are sim
ply ex
tract
ing them from the sys
tem to be con
sumed ex
ter
nally. This in
for
ma
tion is use
ful in
sce
nar
ios such as a new re
lease being pushed, and to make sure that no traf
fic anom
alies are cre
ated after the push.
This can be ac
com
plished by nav
i
gat
ing to the EPG, and se
lect
ing the Stats tab:
Monitoring 333
Reactive Monitoring
It is cru
cial that the ACME op
er
a
tional staff are able to react to any in
di
ca
tion of some
thing going wrong. If there is a no
ti
fi
ca
tion that some
thing has gone wrong, such as a
fault no
ti
fi
ca
tion, a low health score, or a ticket/re
port that end-user func
tion
al
ity has
been im
pacted, knowl
edge of the avail
able mon
i
tor
ing tools is im
por
tant for the iden
ti
fi
ca
tion and col
lec
tion of ev
i
dence. This ev
i
dence can then be used to iden
tify and an
a
lyze the root cause of the prob
lem be
fore tak
ing cor
rec
tive ac
tion. For more in
for
ma
tion
re
gard
ing faults and health scores please refer to those spe
cific sec
tions within this book.
A deep dive into the processes of trou
bleshoot
ing is out of the scope of this book.
bleshoot
ing Cisco Ap
pli
ca
tion Cen
tric In
fra
struc
ture: An
a
lyt
i
cal
Please refer to "Trou
lem solv
ing ap
plied to the pol
icy dri
ven data cen
ter" avail
able at: http://
datacenter.
prob
github.
io/
aci-troubleshooting-book/
TenantTroubleshoot Policies
Within the APIC GUI, under each Ten
ant you can find a Trou
bleshoot Pol
icy sec
tion.
This sec
tion will allow con
fig
ur
a
tion of poli
cies that are spe
cific to one ten
ant, and the
mon
it
or
ing of traf
fic and test con
nec
tiv
ity be
tween end
points.
As seen in the image above, the fol
low
ing trou
bleshoot
ing poli
cies can be con
fig
ured:
FabricTroubleshoot Policies
For trou
bleshoot
ing within the en
tire fab
ric, there are the fol
low
ing tools and poli
cies:
334 Monitoring
Other Tools
iPingA troubleshooting tool in the ACI fabric that can be used to verify
reachability of a device connected to the fabric utilizing the fabric as the
pervasive source
Audit LogsAudit logs are continually collected on all actions taken in an ACI
fabric and can give a quick indication of which user took which actions at what
time
No access to application: An end-user calls and reports that they can no longer
access a web application running within the fabric.
Users report that an application running in the fabric is slow or there is a report
of slowness to the web application running within the fabric.
Monitoring 335
It may be help
ful to per
form a cap
ture of some par
tic
ul
ar traf
fic to see what is going on
within the stream of data. Look
ing through traf
fic flows will allow in
ves
ti
ga
tion of
packet and pro
to
col level de
tails, such as traf
fic re
sets, mis
be
hav
ing pro
to
cols, im
proper host re
quests or re
sponses, or node level com
mu
ni
ca
tions. This will pro
vide deeper in
sight into how de
vices are using the net
work than sim
ple traf
fic flow and
fab
ric con
fig
ur
a
tion re
view.
Switched Port AN
al
yzer, or SPAN, is a stan
dard fea
ture that al
lows copy and repli
ca
tion
of traf
fic to a net
work an
al
yzer for fur
ther de
cod
ing and in
ves
ti
ga
tion. It can be used to
copy traf
fic from one or more ports, VLANs, or end
point groups (EPGs).
The SPAN fea
ture process is non-dis
rup
tive to any con
nected de
vices and is fa
cil
it
ated
in hard
ware, which pre
vents any un
nec
es
sary CPU load.
SPAN ses
sions can be con
fig
ured to mon
it
or traf
fic re
ceived by the source (ingress
traf
fic), traf
fic trans
mit
ted from the source (egress traf
fic), or both. By de
fault, SPAN
mon
it
ors all traf
fic, but fil
ters can be con
fig
ured to mon
it
or only se
lected traf
fic.
Multinode SPAN
APIC traf
fic mon
it
or
ing poli
cies can en
force SPAN at the ap
pro
pri
ate places to copy
traf
fic from mem
bers of each End Point Group wher
ever they are con
nected. If a mem
ber moves, APIC au
to
mat
ic
ally pushes the pol
icy to the new leaf switch. For ex
am
ple,
when a VMo
tion event re
lo
cates an End
point to a new leaf switch, the SPAN fea
ture
con
fig
ur
a
tion au
to
mat
ic
ally ad
justs.
336 Monitoring
Use SPAN for troubleshooting. SPAN traffic competes with user traffic for
switch resources. To minimize the load, configure SPAN to copy only the
specific traffic that you want to analyze.
Tenant and access SPAN use the encapsulated remote extension of SPAN
(ERSPAN) type I, while fabric SPAN uses ERSPAN type II. For information
regarding ERSPAN headers, refer to the IETF Internet Draft at this URL: https:/
/
tools.ietf.org/
html/
draft-foschiano-erspan-00.
See the Verified Scalability Guide for Cisco ACI document for SPAN-related
limits, such as the maximum number of active SPAN sessions.
In the Work pane, choose Actions > Create SPAN Destination Group.
In the Create SPAN Destination Group dialog box, perform the following
actions:
a. In the Name field, enter a name for the SPAN destination group.
b. In the Destination EPG dropdowns, select the destination Tenant,
Application Profile, and EPG.
c. Enter the Destination IP.
d. Enter the Source IP Prefix.
e. Optionally, modify the other fields as needed.
f. Click OK.
g. If needed, add additional destinations.
h. Click Submit.
Monitoring 337
Under SPAN, right-click SPAN Source Groups and choose Create SPAN Source
Group.
In the Create SPAN Source Group dialog box, perform the following actions:
a. In the Name field, enter a name for the SPAN source group.
b. From the Destination Group drop-down list, choose the SPAN destination
group that you configured previously.
c. In the Create Sources table, click the + icon to open the Create Sources
dialog box.
d. In the Name field, enter a name for the source.
e. In the Direction field, choose the radio button based on whether you want to
replicate and forward packets that are incoming to the source, outgoing from
the source, or both incoming and outgoing.
f. From the Source EPG drop-down list, choose the EPG (identified by
Tenant/ApplicationProfile/EPG) whose packets will be replicated and
forwarded to the SPAN destination. Click OK to save the SPAN source.
g. Click Submit to save the SPAN source group.
Traceroute
Tracer
oute is a use
ful fea
ture in tra
di
tional net
work
ing. In ACI this fea
ture is im
ple
mented tak
ing into ac
count the way the fab
ric works.
Tracer
oute sup
ports a va
ri
ety of modes, in
clud
ing end
point-to-end
point, and leaf-toleaf (tun
nel end
point, or TEP to TEP). It dis
cov
ers all paths across the fab
ric, dis
cov
ers
point of exits for ex
ter
nal end
points, and helps to de
tect if any path is blocked.
A tracer
oute that is ini
ti
ated from the ten
ant end
points shows the de
fault gate
way as
an in
ter
me
di
ate hop that ap
pears at the ingress leaf switch.
Note: If tracer
oute is done from the OS of a con
nected server or VM, it will show the
hops for the leaves and spines as un
known, and will keep record
ing the in
for
ma
tion
after the packet gets out of the fab
ric. For more pre
cise in
for
ma
tion, please use tracer
oute from the APIC (GUI or CLI)
338 Monitoring
See the Verified Scalability Guide for Cisco ACI document for traceroute-related
limits.
Traceroute results will display the IP address of the remote node and interface
which it came it came in on. (Browse on the APIC GUI to Fabric | Inventory |
Fabric Management to view the IP address information for correlation.)
In the Navigation pane or the Traceroute Policies table, click the traceroute
policy. The traceroute policy is displayed in the Work pane.
Monitoring 339
In the Work pane, click the Operational tab, click the Source End Points tab,
and click the Results tab.
In the Traceroute Results table, verify the path or paths that were used in the trace.
a. More than one path might have been traversed from the source node to the
destination node.
b. For readability, increase the width of one or more columns, such as the Name
column.
Atomic Counters
Atomic Coun
ters are use
ful for trou
bleshoot
ing con
nec
tiv
ity be
tween end
points, EPGs,
or an ap
pli
ca
tion within the fab
ric. A user re
port
ing ap
pli
ca
tion may be ex
pe
ri
enc
ing
slow
ness, or atomic coun
ters may be needed for mon
it
or
ing any traf
fic loss be
tween
two end
points. One ca
pa
bil
ity pro
vided by atomic coun
ters is the abil
ity to place a
trou
ble ticket into a proac
tive mon
it
or
ing mode, for ex
am
ple when the prob
lem is in
ter
mit
tent, and not nec
es
sar
ily hap
pen
ing at the time the op
er
at
or is ac
tively work
ing
the ticket.
Atomic coun
ters can help de
tect packet loss in the fab
ric and allow the quick iso
la
tion of the
source of con
nec
tiv
ity is
sues. Atomic coun
ters re
quire NTP to be en
abled on the fab
ric.
Leaf-to-leaf (TEP to TEP) atomic coun
ters can pro
vide the fol
low
ing:
Counts of drops, ad
mits, and ex
cess pack
ets
A break
down of per-spine traf
fic (avail
able when the num
ber of TEPs, leaf or
On
go
ing mon
it
or
ing
340 Monitoring
EPG to endpoint
EPG to * (any)
***Atomic coun
ters track the amount pack
ets of be
tween the two end
points and
use this as a mea
sure
ment. They do not take into ac
count drops or error coun
ters in a
hard
ware level.***
Dropped pack
ets are cal
cu
lated when there are less pack
ets re
ceived by the des
ti
na
tion
than trans
mit
ted by the source.
Ex
cess pack
ets are cal
cu
lated when there are more pack
ets re
ceived by the des
ti
na
tion
than trans
mit
ted by the source.
5
6
Monitoring 341
In the Navigation pane, under the selected topology, choose the new atomic
counter policy. The policy configuration is displayed in the Work pane.
In the Work pane, choose the Operational tab and choose the Traffic subtab to
view the atomic counter statistics.
Traffic Map
Low per
for
mance and con
ges
tion can be iden
ti
fied by use of Traf
fic maps.
Traf
fic maps make use of atomic coun
ters to con
tin
u
ously mon
i
tor and dis
play traf
fic
be
tween leaf switches to help with quick de
bug
ging and iso
la
tion of ap
pli
ca
tion con
nec
tiv
ity is
sues.
342 Monitoring
Set the drop-down menu options to view the source Leaf to destination Leaf
traffic paths.
Clicking on a cell opens a table with all data for all trails and links.
In the menu bar, click the wrench icon to launch the enhanced troubleshooting
wizard.
In the Create SPAN Destination Group dialog box, perform the following
actions:
a. In the Name field, enter a name for the session.
b. Optional: If it is an external IP address, click the check box.
c. In the Source field, enter the MAC or IP address for the source endpoint, and
click search.
d. In the Destination field, enter the MAC or IP address for the destination
endpoint, and click search.
e. Select the Time Window duration for the debug. Optional: Generate a Report
to download the results.
f. Click Start.
In the next screen, you can click the following items for more information:
a. Show the faults in the path between the selected EPs, highlighting the
affected component.
b. Run traceroute between EPs.
c. Show relevant statistics for those EPs.
d. Show any related recent changes in the path between EPs.
Monitoring 343
IPing
IPing is used to test and val
i
date con
nec
tiv
ity within the from leaf node to end
points
within the fab
ric, tak
ing into ac
count the pri
vate net
work. IPing is a trou
bleshoot
ing
tool for net
work users sim
i
lar to the PING com
mand.
Using IPing
iping [ -V vrf ] [ -c count ] [ -i wait ] [ -p pattern ] [ -s packetsize ] [ -t timeout ] host
Syntax Description
Examples
pod1-leaf1# iping -V overlay-1 10.0.59.154
344 Monitoring
64 bytes from 10.0.59.154: icmp_seq=3 ttl=55 time=0.241 ms
64 bytes from 10.0.59.154: icmp_seq=4 ttl=55 time=0.23 ms
--- 10.0.59.154 ping statistics --5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.23/0.245/0.256 ms
Audit Logs
At times it may be re
quired to view changes which have taken place in the fab
ric. An
out
age re
ported on a host or ap
pli
ca
tion in the fab
ric may need to be tracked, or data
pulled for an audit re
quire
ment.
Audit logs are records of who made a change, when the change was made, and a de
scrip
tion of the ac
tion. Audit logs also record when users logon and lo
goff.
Audit logs can be found in sev
eral places within the GUI, fil
tered to show only those
events rel
e
vant to the cur
rent GUI con
text. Wher
ever a His
tory tab ap
pears in the GUI
Work pane, the audit log can be viewed. This pro
ce
dure shows how to view ten
ant
events as an ex
am
ple.
Under the History tab, choose the Events subtab to view the event log.
Under the History tab, choose the Audit Log subtab to view the audit log.
Monitoring 345
Check that the EPs have been learned by the leaf switches.
Verify that the required contracts are in place between the EPs.
Check that the EPs have been learned by the leaf switches
1
In the Work pane, choose the Operational tab and verify that the endpoint is
present.
346 Monitoring
Check for a relationship between the source EPG and destination EPG, noting
the direction of the arrows.
Click on the contract to verify the contents of the contract. This displays the
filters that are present within that contract.
Inspect the contents of each filter by examining the contract under the
Security Policies folder and verifying that each filter contains the appropriate
filter entries.
If the endpoints are discovered within each EPG and the contract relationships
look correct, examine the troubleshooting policies. A good starting place is the
Enhanced Troubleshooting Wizard.
10
Monitoring 347
349
Scripting
Scripting 351
Section Content
API Inspector
Development Techniques
POSTman
Installation
Collections
Build Login request
Make Query to APIC
Make Configuration Change in APIC
Use API Inspector for Query Guidance
352 Scripting
ACI Toolkit
ACI Toolkit Applications
Endpoint Tracker
ACI Lint
GitHub
Source Control
GitHub
"It's on github"
Scripting 353
Scripting 355
356 Scripting
ity is en
com
passed within the ob
ject model. This means that all of the con
fig
ur
a
tion
that can be made on the fab
ric, can be made pro
gram
mat
ic
ally using the REST API. This
in
cludes in
ter
nal fab
ric net
work
ing, ex
ter
nal net
work
ing, vir
tu
al
iza
tion in
te
gra
tion,
com
pute in
te
gra
tion, and all other facets of the prod
uct.
This data is stored within the Man
age
ment In
for
ma
tion Tree, with every piece of the
model rep
re
sented as a pro
gram
matic ob
ject with prop
er
ties, iden
tity, and con
sis
tency
rules that are en
forced. This en
sures that the con
fig
ured state of the model will never
get out of hand with stale nodes or en
tries, and every as
pect can be in
spected, ma
nip
u-
lated, and made to cater for the user's needs.
Programmatic Interfaces
APIC is very flex
ib
le in terms of how it can ac
cept con
fig
ur
a
tion and pro
vide ad
min
is
tra
tive and op
er
ab
le states, as well as ex
tend
ing that con
fig
ur
a
tion into sub
or
di
nate
com
po
nents. There are two pri
mary cat
e
gories of in
ter
faces that fa
cil
it
ate these func
tions: the north
bound REST API and the south
bound pro
gram
matic in
ter
faces.
The north
bound REST API is re
spon
si
ble for ac
cept
ing con
fig
ur
a
tion, as well as pro
vid
ing ac
cess to man
age
ment func
tions for the con
troller. This in
ter
face is a cru
cial com
po
nent for the GUI and CLI, and also pro
vides a touch point for au
toma
tion tools, pro
vi
sion
ing scripts and third party mon
it
or
ing and man
age
ment tools. The REST API is a
sin
gu
lar entry point to the fab
ric for mak
ing con
fig
ur
a
tion changes, and as such is a
crit
ic
al as
pect of the ar
chi
tec
ture for being able to pro
vide a con
sis
tent pro
gram
matic
ex
pe
ri
ence.
South
bound in
ter
faces on APIC allow for the de
clar
at
ive model of in
tent to be ex
tended
be
yond the fab
ric, into sub
or
di
nate de
vices. This is a key as
pect to the open
ness of the
ACI fab
ric, in that pol
icy can be pro
grammed once via APIC and then pushed out to hy
per
vi
sors, L4-7 de
vices and po
ten
tially more in the fu
ture, with
out the need to in
di
vid
u
ally con
fig
ure those de
vices. This south
bound ex
ten
sion is re
al
ized through two
meth
ods: L4-7 De
vice Pack
ages and OpFlex.
The L4-7 de
vice pack
age in
ter
face al
lows for ACI to apply pol
icy to ex
ist
ing L4-7 de
vices that do not have an im
plicit knowl
edge of ACI pol
icy. These de
vices can be from
any ven
dor, so long as the de
vice has some form of in
ter
face which is ac
ces
si
ble via IP.
The ac
tual im
ple
men
ta
tion of de
vice pack
ages is done via Python scripts which run on
the APIC within a con
tained ex
e
cu
tion en
vi
ron
ment, which can reach the de
vice
through their na
tive con
fig
ur
a
tion in
ter
faces, be that REST, CLI, SOAP or oth
ers. As a
Scripting 357
REST
The Cisco APIC REST API is a pro
gram
matic in
ter
face for Cisco APIC that uses REST ar
chi
tec
ture. The API ac
cepts and re
turns HTTP (not en
abled by de
fault) or HTTPS mes
sages that con
tain JavaScript Ob
ject No
ta
tion (JSON) or Ex
ten
si
ble Markup Lan
guage
(XML) doc
um
ents. You can use any pro
gram
ming lan
guage to gen
er
ate the mes
sages
and the JSON or XML doc
um
ents that con
tain the API meth
ods or MO de
scrip
tions.
The REST API is the in
ter
face into the MIT and al
lows ma
nip
ul
a
tion of the ob
ject model
state. The same REST in
ter
face is used by the Cisco APIC com
mand-line in
ter
face (CLI),
GUI, and SDK, so that when
ever in
for
ma
tion is dis
played, it is read through the REST
API, and when con
fig
ur
a
tion changes are made, they are writ
ten through the REST API.
The REST API also pro
vides an in
ter
face through which other in
for
ma
tion can be re
trieved, in
clud
ing sta
tis
tics, faults, and audit events, and it even pro
vides a means of
sub
scrib
ing to push-based event no
ti
fi
ca
tion, so that when a change oc
curs in the MIT,
an event can be sent through a web socket.
Stan
dard REST meth
ods are sup
ported on the API, which in
cludes POST, GET, and
DELETE op
er
at
ions through HTTP. The POST and DELETE meth
ods are idem
po
tent,
mean
ing that there is no ad
di
tional ef
fect if they are called more than once with the
same input pa
ra
me
ters. The GET method is nul
lipo
tent, mean
ing that it can be called
zero or more times with
out mak
ing any changes (or that it is a read-only op
er
at
ion).
Pay
loads to and from the REST in
ter
face can be en
cap
su
lated through ei
ther XML or
JSON en
cod
ing. In the case of XML, the en
cod
ing op
er
at
ion is sim
ple: the el
e
ment tag is
the name of the pack
age and class, and any prop
er
ties of that ob
ject are spec
if
ied as at
trib
utes of that el
e
ment. Con
tain
ment is de
fined by cre
at
ing child el
e
ments.
358 Scripting
For JSON, en
cod
ing re
quires de
f
i
n
i
tion of cer
tain en
ti
ties to re
flect the tree-based hi
er
ar
chy; how
ever, the de
f
i
n
i
tion is re
peated at all lev
els of the tree, so it is fairly sim
ple
to im
ple
ment after it is ini
tially un
der
stood.
All objects are described as JSON dictionaries, in which the key is the name of the
package and class, and the value is another nested dictionary with two keys:
attribute and children.
The attribute key contains a further nested dictionary describing key-value pairs
that define attributes on the object.
The children key contains a list that defines all the child objects. The children in
this list are dictionaries containing any nested objects, which are defined as
described here.
Read Operations
After the ob
ject pay
loads are prop
erly en
coded as XML or JSON, they can be used in
cre
ate, read, up
date, or delete op
er
a
tions on the REST API. The fol
low
ing di
a
gram
shows the syn
tax for a read op
er
a
tion from the REST API.
REST syntax
Be
cause the REST API is HTTP based, defin
ing the uni
ver
sal re
source iden
ti
fier (URI) to
ac
cess a cer
tain re
source type is im
por
tant. The first two sec
tions of the re
quest URI
sim
ply de
fine the pro
to
col and ac
cess de
tails of Cisco APIC. Next in the re
quest URI is
the lit
eral string /api, in
di
cat
ing that the API will be in
voked. Gen
er
ally, read op
er
a
tions are for an ob
ject or class, as dis
cussed ear
lier, so the next part of the URI spec
i
fies
Scripting 359
whether the op
er
a
tion will be for an MO or class. The next com
po
nent de
fines ei
ther
the fully qual
i
fied Dn being queried for ob
ject-based queries, or the pack
age and class
name for class-based queries. The final manda
tory part of the re
quest URI is the en
cod
ing for
mat: ei
ther .xml or .json. This is the only method by which the pay
load for
mat
is de
fined (Cisco APIC ig
nores Con
tent-Type and other head
ers).
Write Operations
Cre
ate and up
date op
er
a
tions in the REST API are both im
ple
mented using the POST
method, so that if an ob
ject does not al
ready exist, it will be cre
ated, and if it does al
ready exist, it will be up
dated to re
flect any changes be
tween its ex
ist
ing state and de
sired state.
Both cre
ate and up
date op
er
a
tions can con
tain com
plex ob
ject hi
er
ar
chies, so that a
com
plete tree can be de
fined in a sin
gle com
mand so long as all ob
jects are within the
same con
text root and are under the 1MB limit for data pay
loads for the REST API. This
limit is in place to guar
an
tee per
for
mance and pro
tect the sys
tem under high load.
The con
text root helps de
fine a method by which Cisco APIC dis
trib
utes in
for
ma
tion to
mul
ti
ple con
trollers and helps en
sure con
sis
tency. For the most part, the con
fig
u
ra
tion
should be trans
par
ent to the user, though very large con
fig
u
ra
tions may need to be
bro
ken into smaller pieces if they re
sult in a dis
trib
uted trans
ac
tion.
REST Payload
360 Scripting
Cre
ate and up
date op
er
a
tions use the same syn
tax as read op
er
a
tions, ex
cept that they
al
ways are tar
geted at an ob
ject level, be
cause you can
not make changes to every ob
ject of a spe
cific class (nor would you want to). The cre
ate or up
date op
er
a
tion should
tar
get a spe
cific man
aged ob
ject, so the lit
eral string /mo in
di
cates that the Dn of the
man
aged ob
ject will be pro
vided, fol
lowed next by the ac
tual Dn. Fil
ter strings can be
ap
plied to POST op
er
a
tions; if you want to re
trieve the re
sults of your POST op
er
a
tion
in the re
sponse, for ex
am
ple, you can pass the rsp-sub
tree=mod
i
fied query string to
in
di
cate that you want the re
sponse to in
clude any ob
jects that have been mod
i
fied by
your POST op
er
a
tion.
The pay
load of the POST op
er
a
tion will con
tain the XML or JSON en
coded data rep
re
sent
ing the man
aged ob
ject the de
fines the Cisco API com
mand body.
Authentication
REST API user
name- and pass
word-based au
then
ti
ca
tion uses a spe
cial sub
set of re
quest URIs, in
clud
ing aaaLo
gin, aaaL
o
gout, and aaaRe
fresh as the Dn tar
gets of a POST
op
er
a
tion. Their pay
loads con
tain a sim
ple XML or JSON pay
load con
tain
ing the MO
rep
re
sen
ta
tion of an aaaUser ob
ject with the at
tribute name and pwd defin
ing the
user
name and pass
word: for ex
am
ple, <aaaUser name='admin' pwd='in
sieme'/>. The
re
sponse to the POST op
er
a
tion will con
tain an au
then
ti
ca
tion token as both a SetCookie header and an at
tribute to the aaaLo
gin ob
ject in the re
sponse named token,
for which the XPath is /im
data/aaaLo
gin/@to
ken if the en
cod
ing is XML. Sub
se
quent
op
er
a
tions on the REST API can use this token value as a cookie named APIC-cookie to
au
then
ti
cate fu
ture re
quests.
Filters
Scripting 361
The fol
low
ing query fil
ters are avail
able:
Scripting 363
API Inspector
All op
er
a
tions that are per
formed in the GUI in
voke REST calls to fetch and com
mit the
in
for
ma
tion being ac
cessed. The API In
spec
tor fur
ther sim
pli
fies the process of ex
am
in
ing what is tak
ing place on the REST in
ter
face as the GUI is nav
i
gated by dis
play
ing in
real time the URIs and pay
loads. When a new con
fig
u
ra
tion is com
mit
ted, the API In
spec
tor dis
plays the re
sult
ing POST re
quests, and when in
for
ma
tion is dis
played on the
GUI, the GET re
quest is dis
played.
To get started with the API In
spec
tor, it can be ac
cessed from the Ac
count menu, vis
i
ble at the top right of the Cisco APIC GUI. Click Wel
come, <user
name> and then choose
the Show API In
spec
tor op
tion
After the API In
spec
tor is brought up, time stamps will ap
pear along with the REST
method, URIs, and pay
loads. There may also be oc
ca
sional up
dates in the list as the GUI
re
freshes sub
scrip
tions to data being shown on the screen.
API Inspector
364 Scripting
Scripting 365
},
"children": []
}
}
]
}
}
Scripting 367
Development Techniques
ACI has a num
ber of meth
ods for de
vel
op
ing code that can be used by en
gi
neers who
have vary
ing lev
els of com
fort with pro
gram
ming or in
ter
act
ing with pro
gram
matic in
ter
faces.
The most basic and straight-for
ward tech
nique in
volves sim
ply tak
ing in
for
ma
tion
gleaned by the API in
spec
tor, Vi
sore, or by sav
ing XML/JSON di
rectly from the GUI,
and using com
mon freely avail
able tools, such as POST
man, to send this in
for
ma
tion
back to the REST API.
A step up from this method en
ables users to use com
mon ter
mi
nol
ogy and well un
der
stood net
work
ing con
structs, cou
pling these with the power and flex
ib
il
ity of the ACI
pol
icy lan
guage and the pop
ul
ar Python pro
gram
ming lan
guage to con
fig
ure ACI in a
pro
gram
matic fash
ion. ACI Toolkit is a util
ity de
vel
oped in open-source that ex
poses
the most com
mon ACI build
ing blocks, to en
able users to rapidly cre
ate ten
ants, ap
pli
ca
tion pro
files, EPGs and the as
so
ci
ated con
cepts to con
nect those to phys
ic
al in
fra
struc
ture. The stream
lined in
ter
face pro
vided makes it very quick to adopt and al
lows
users to begin to quickly de
velop their ap
pli
ca
tions.
The most pow
er
ful of the de
vel
op
ment tools avail
able is the Cobra SDK. With a com
plete rep
re
sen
ta
tion of the ACI ob
ject model avail
able, com
pre
hen
sive data val
id
a
tion,
and ex
ten
sive sup
port for query
ing and fil
ter
ing, Cobra en
sures that the com
plete ACI
ex
pe
ri
ence is avail
able to de
vel
op
ers and users alike.
Scripting 369
POSTman
POST
man is an open source ex
ten
sion for the Chrome web browser, which pro
vides
REST client func
tion
al
ity in an easy-to-use pack
age. POST
man can be used to in
ter
act
with the APIC REST in
ter
face, to both send and re
ceive data which may rep
re
sent con
fig
ur
a
tion, ac
tions, pol
icy and op
er
at
ional state data. For an in
di
vid
ual un
fa
mil
iar with
the struc
ture of REST, it is very sim
ple to uti
lize the API In
spec
tor to view what the un
der
ly
ing calls being made to the GUI are for cer
tain op
er
at
ions, cap
ture those, and then
use POST
man to re
play those op
er
at
ions. Fur
ther
more POST
man al
lows for the re
quests to be mod
if
ied: GUI op
er
at
ions can be made once, at
trib
utes changed in the
cap
tured data and then sent back to the REST API to make the mod
if
i
ca
tions.
Installation
To get started with POST
man, the first step is to down
load the plu
gin for the Chrome
web browser, which is avail
able at www.
getpostman.
com. Once the plu
gin is in
stalled,
it can be ac
cessed using the Chrome App launcher.
Ini
tially the user will be pre
sented with an in
ter
face that has two pri
mary sec
tions: the
side
bar on the left and the re
quest con
struc
tor on the right. Using the side
bar, the user
can switch be
tween the his
tory of REST re
quests sent by POST
man, as well as Col
lec
tions of re
quests that con
tain com
mon tasks.
Collections
A use
ful post to cre
ate in a col
lec
tion is a basic Login op
er
at
ion. In order to do this, the
user should first click into the Col
lec
tions tab in the side
bar. Within the side
bar, a small
folder with a plus (+) sign will be
come vis
ib
le, which should then be clicked, at which
point a popup will ap
pear prompt
ing the user to give a name to the col
lec
tion. For this
ex
am
ple, the col
lec
tion can be named APIC, after which the Cre
ate but
ton should be
clicked.
370 Scripting
Scripting 371
372 Scripting
For this ex
am
ple, a new ten
ant will be cre
ated in the fab
ric. Click the Reset but
ton in
the re
quest con
struc
tor to clear out all ex
ist
ing re
quest fields, and use URL
https://<APIC-IP>/api/mo/uni.
xml and change the method to POST.
In the re
quest pay
load, enter the fol
low
ing data:
<fvTenant name="Cisco"/>
The re
quest URL spec
if
ies that the tar
get for this query will be the pol
icy uni
verse,
which is where ten
ants live. With this tar
get prop
erly scoped, the data rep
re
sent
ing the
ten
ant can be pro
vided in the pay
load, in this case cre
at
ing a ten
ant named Cisco.
It is pos
si
ble to mod
ify the re
quest URI and pay
load and sub
sti
tute the ten
ant name
Cisco with an
other ten
ant name, to cre
ate an en
tirely new ten
ant, with the same con
fig
ur
a
tion. The new re
quest URL and JSON would be: https://<APICIP>/api/node/mo/uni/tn-Acme.
json
{"fvTenant": {"attributes": {"name": "Acme", "status": "created"}, "children":
[{"fvBD": {"attributes": {"mac": "00:22:BD:F8:19:FF", "name": "AcmeBd", "status":
"created"}, "children": [{"fvRsCtx": {"attributes": {"tnFvCtxName": "AcmeVrf",
"status": "created,modified"}, "children": [] } } ] } }, {"fvCtx": {"attributes":
{"name": "AcmeVrf", "status": "created"}, "children": [] } } ] } }
Scripting 373
These val
ues can be placed into a POST re
quest in POST
man, and after es
tab
lish
ing a
Login ses
sion using the saved Login re
quest, the new ten
ant Acme can be cre
ated,
iden
ti
cal to the pre
vi
ously cre
ated Cisco ten
ant, with
out need
ing to man
ua
lly click
through the GUI or use other man
ual meth
ods.
Scripting 375
Establish Session
The first step in any code that uses Cobra is es
tab
lish
ing a login ses
sion. Cobra cur
rently sup
ports user
name- and pass
word-based au
then
ti
ca
tion, as well as cer
tifi
catebased au
then
ti
ca
tion. The ex
am
ple here uses user
name- and pass
word-based au
then
ti
ca
tion.
import cobra.mit.access
import cobra.mit.session
apicUri = 'https://10.0.0.2'
apicUser = 'username'
apicPassword = 'password'
ls = cobra.mit.session.LoginSession(apicUri, apicUser, apicPassword)
md = cobra.mit.access.MoDirectory(ls)
md.login()
376 Scripting
This ex
am
ple pro
vides an MoDi
rec
tory ob
ject named md, which is logged into and au
then
ti
cated for Cisco APIC. If for some rea
son au
then
ti
ca
tion fails, Cobra will dis
play a
cobra.
mit.
request.
CommitEr
ror ex
cep
tion mes
sage. With the ses
sion logged in, you are
ready to pro
ceed.
For ex
am
ple, if you want to cre
ate a new ten
ant, you must first iden
tify where the ten
ant will be placed in the MIT, where in this case it will be a child of the pol
icy Uni
verse man
aged ob
ject (pol
Un
iMo):
import cobra.model.pol
polUniMo = cobra.model.pol.Uni('')
All these op
er
at
ions have re
sulted only in the cre
ation of Python ob
jects. To apply the
con
fig
ur
a
tion, you must com
mit it. You can do this using an ob
ject called a Con
fi
gRe
quest. Con
fi
gRe
quest acts as a con
tainer for MO-based classes that fall into a sin
gle
con
text, and they can all be com
mit
ted in a sin
gle atomic POST op
er
at
ion.
import cobra.mit.request
config = cobra.mit.request.ConfigRequest()
config.addMo(tenantMo)
md.commit(config)
Scripting 377
The Con
fi
gRe
quest ob
ject is cre
ated, then the ten
antMo ob
ject is added to the re
quest,
and then you com
mit the con
fig
ur
a
tion through the MoDi
rec
tory ob
ject.
For the pre
ced
ing ex
am
ple, the first step builds a local copy of the pol
Uni ob
ject. Be
cause it does not have any nam
ing prop
er
ties (re
flected by the empty dou
ble sin
gle
quo
ta
tion marks), you dont need to look it up in the MIT to fig
ure out what the full Dn
for the ob
ject is; it is al
ways known as uni.
If you wanted to post some
thing deeper in the MIT, where the ob
ject has nam
ing prop
er
ties, you would need to per
form a lookup for that ob
ject. For ex
am
ple, if you wanted
to post a con
fig
ur
a
tion to an ex
ist
ing ten
ant, you could query for that ten
ant and cre
ate
ob
jects be
neath it.
tenantMo = md.lookupByClass('fvTenant', propFilter='eq(fvTenant.name, "cisco")')
tenantMo = tenantMo[0] if tenantMo else None
The re
sult
ing ten
antMo ob
ject will be of class cobra.
model.
fv.
Tenant and will con
tain
prop
er
ties such as .dn, .sta
tus, and .name, all de
scrib
ing the ob
ject it
self. The lookup
By
Class() entry re
turns an array, be
cause it can re
turn more than one ob
ject. In this
case, the com
mand is spe
cific and is fil
ter
ing on an fv
Tenant ob
ject with a par
tic
ul
ar
name. For a ten
ant, the name at
tribute is a spe
cial type of at
tribute called a nam
ing at
tribute. The nam
ing at
tribute is used to build the rel
at
ive name, which must be unique
in its local name
space. As a re
sult, you can be as
sured that lookup
By
Class on an fv
Tenant ob
ject with a fil
ter on the name al
ways re
turns ei
ther an array of length 1 or
None, mean
ing that noth
ing was found.
To en
tirely avoid a lookup, you can build a Dn ob
ject and make an ob
ject a child of that
Dn. This method works only in cases in which the par
ent ob
ject al
ready ex
ists.
topDn = cobra.mit.naming.Dn.fromString('uni/tn-cisco')
fvAp = cobra.model.fv.Ap(topMo, name='AppProfile')
These fun
da
men
tal meth
ods for in
ter
act
ing with Cobra pro
vide the build
ing blocks
nec
es
sary to cre
ate more com
plex work
flows that can help au
to
mate net
work con
fig
u-
ra
tion, per
form trou
bleshoot
ing, and man
age the net
work.
378 Scripting
Scripting 379
380 Scripting
The place
holder rais
ing a run
time error must first be re
moved be
fore this code can be
ex
e
cuted; it is pur
posely put in place to help en
sure that any other to
ke
nized val
ues
that must be up
dated are cor
rected. For ex
am
ple, the Cisco APIC IP ad
dress, which de
faults to 1.
1.
1.
1, should be up
dated to re
flect the ac
tual Cisco APIC IP ad
dress. The same
ap
plies to the cre
den
tials and any other place
hold
ers.
Note that if you pro
vide input XML or JSON that does not have a fully qual
if
ied hi
er
ar
chy, Arya may not be able to iden
tify it through heuris
tics. In this case, a place
holder
will be pop
ul
ated with the text RE
PLACEME, which you will need to re
place with the
cor
rect Dn. You can find this Dn by query
ing for the ob
ject in Vi
sore or in
spect
ing the
re
quest URI for the ob
ject shown in the API In
spec
tor.
Scripting 381
ACI Toolkit
The com
plete ACI ob
ject model con
tains many en
ti
ties, which may be daunt
ing for a
user being first in
tro
duced to net
work pro
gram
ma
bil
ity. The ac
it
oolkit makes avail
able
a sim
pli
fied sub
set of the model that can act as an in
tro
duc
tion to the con
cepts in ACI,
and give users a way to quickly bring up com
mon tasks and work
flows. In ad
di
tion, a
num
ber of ap
pli
ca
tions have been built on top of ACI toolkit.
The com
plete doc
um
en
ta
tion for ac
it
oolkit is avail
able at http://
datacenter.
github.
io/
acitoolkit/
382 Scripting
To launch Endpoint Tracker run the following python scripts. The first script, aciendpoint-tracker.py, will actually connect to the APIC and populate the database. The
second script enables the content to be viewed in an understandable web UI.
user@linuxhost:~/acitoolkit/applications/endpointtracker$ ./aci-endpoint-tracker.py
MySQL IP address: 127.0.0.1
MySQL login username: root
MySQL Password:
user@linuxhost::~/acitoolkit/applications/endpointtracker$ python aci-endpointtracker-gui.py
MySQL IP address: 127.0.0.1
MySQL login username: root
MySQL Password:
* Running on http://127.0.0.1:5000/
* Restarting with reloader
After run
ning those python scripts you can now bring up a browser and go the Web
UI. Using the ACI End
point Tracker is sim
ply a mat
ter of in
putting an IP or MAC ad
dress into the search field, and the table is fil
tered ac
cord
ingly. In the ex
am
ple below,
the IP ad
dress 192.
168.
5.
20 has been input into the search field, and the match
ing re
sults are dis
played.
Scripting 383
384 Scripting
ACI Lint
Scripting 385
ACI Lint
In com
puter pro
gram
ming, Lint is a term that refers to iden
ti
fy
ing dis
crep
an
cies, or
sim
ple debug tool for com
mon er
rors. In the sense that ACI pro
vides in
fra
struc
ture as
code, it is ap
pro
pri
ate for ACI to also have a Lint ap
pli
ca
tion. ACI Toolkit pro
vides just
that. ACI Lint is an ap
pli
ca
tion that checks and no
ti
fies an op
er
at
or of mis
con
fig
ur
a
tion
er
rors in two pri
mary ca
pac
it
ies:
Se
cu
rity Is
sues - sup
ports the abil
ity to tag EPGs as ei
ther se
cure or in
se
cure, and
then runs a val
id
a
tion that con
tracts are not used to cross se
cu
rity bound
aries.
Con
fig
u
ra
tion Is
sues - checks for com
mon con
fig
ur
a
tion er
rors and re
ports them to
the user.
A sam
ple out
put is pro
vided here for ref
er
ence:
user@linuxhost:~/acitoolkit/applications/lint$ ./acilint.py
Getting configuration from APIC....
Processing configuration....
Critical 001: EPG 'default' in tenant 'infra' app 'access' is not assigned security
clearance
Critical 001: EPG 'x' in tenant 'common' app 'default' is not assigned security
clearance
Warning 001: Tenant 'Cisco' has no Application Profile.
Warning 001: Tenant 'Books' has no Application Profile.
Warning 001: Tenant '3tierapp' has no Application Profile.
Warning 001: Tenant 'mgmt' has no Application Profile.
Warning 002: Tenant 'Books' has no Context.
Warning 002: Tenant '3tierapp' has no Context.
Warning 004: Context 'oob' in Tenant 'mgmt' has no BridgeDomains.
Warning 005: BridgeDomain 'CiscoBd' in Tenant 'Cisco' has no EPGs.
Warning 005: BridgeDomain 'inb' in Tenant 'mgmt' has no EPGs.
Warning 006: Contract 'default' in Tenant 'common' is not provided at all.
Warning 006: Contract 'WebServers' in Tenant 'Acme' is not provided at all.
Warning 006: Contract 'External' in Tenant 'Acme' is not provided at all.
Warning 007: Contract 'default' in Tenant 'common' is not consumed at all.
Warning 007: Contract 'WebServers' in Tenant 'Acme' is not consumed at all.
Warning 007: Contract 'External' in Tenant 'Acme' is not consumed at all.
Warning 007: Contract 'outside-to-web' in Tenant 'roberbur' is not consumed at all.
386 Scripting
Scripting 387
GitHub
Source Control
Open source soft
ware has been a pop
ul
ar move
ment in IT, and has been the mo
ti
va
tion
be
hind many suc
cess
ful pro
jects, in
clud
ing con
sumer soft
ware, web servers, data
bases
and even en
tire op
er
at
ing sys
tems. One of the key as
pects to the suc
cess of open
source is the abil
ity for many de
vel
op
ers around the globe to col
lab
or
ate to
gether on a
sin
gle pro
ject. Pre
vi
ous tools like Con
cur
rent Ver
sion Con
trol (CVS), and Sub
ver
sion
(SVN) were used to allow many de
vel
op
ers to work to
gether, with a cen
tral server
main
tain
ing a com
mon data
base of source code. While these tools have and con
tinue to
work well, there has been a slow mi
gra
tion away from those server-based tools to de
cen
tral
ized util
it
ies, with the fore
most being Git. Git was cre
ated by Linus Tor
valds, the
au
thor of the pop
ul
ar open-source op
er
at
ing sys
tem Linux. Git has a num
ber of ad
van
tages over most other source con
trol tools: com
plete local repos
it
ory copies, dis
trib
uted ar
chi
tec
ture, and more ef
fi
cient sup
port for branches.
GitHub
GitHub is a host
ing plat
form based around git, which pro
vides both free and paid host
ing ser
vices, that allow for in
di
vid
ua
ls to col
lab
o
rate with over eight-mil
lion other
GitHub users on pro
jects to
gether. Aside from being a wrap
per around git, GitHub also
pro
vides tech
niques for track
ing is
sues, se
cur
ing ac
cess to pro
jects, and built-in pro
ject doc
um
en
ta
tion. The com
bi
na
tion of all of these fea
tures has made GitHub a very
com
mon place for mem
bers of the com
mu
nity to share code with one an
other, build on
each other's work, and con
tribute their ef
forts back into larger pro
jects.
What is stored on GitHub is usu
ally source code, not lim
ited to any spe
cific lan
guage,
how
ever the git pro
to
col it
self sup
ports stor
age and ver
sion con
trol of any file type, so
its not un
com
mon for users to store doc
um
en
ta
tion or other con
stantly chang
ing files
in git. The pri
mary ad
van
tage is that the ver
sion con
trol pro
vided by git al
lows a user to
re
vert a file back to any pre
vi
ously stored ver
sion, or al
ter
nately move for
ward to a
newer ver
sion. Git also main
tains an audit of changes that have been made to files and
even has ad
vanced sup
port for branch
ing ver
sions of files to allow mul
ti
ple con
cur
rent
mod
if
i
ca
tions to a file to take place, and allow for them to be merged after work ef
forts
have com
pleted.
388 Scripting
"It's on github"
A com
mon phrase in mod
ern IT jar
gon is, Its on github, and for users fa
mil
iar with
GitHub, this is an in
vi
ta
tion to down
load, mod
ify and con
tribute to the pro
ject, how
ever for those who have not had an in
tro
duc
tion it can seem like a com
plex topic.
GitHub is ac
tu
ally a very sim
ple tool to use, and the sim
plest way to begin to take ad
van
tage of the in
for
ma
tion stored on GitHub is to sim
ply ac
cess a pro
jects main page
and look for the Down
load ZIP but
ton at the bot
tom right of any pro
ject's main page.
The re
sult
ing down
loaded file will con
tain the lat
est ver
sion of the files in the pro
ject.
What a user does with these files will greatly de
pend on what the con
tents are, how
ever one of the most highly en
cour
aged be
hav
iors on GitHub is to pro
vide clear and
ob
vi
ous doc
um
en
ta
tion for a pro
ject, so if a new user ac
cesses the front page of a pro
ject on Git, they will typ
ic
ally be able to find in
struc
tions on how to down
load and in
stall the pro
ject, right on the first page they see.
For users look
ing to con
tribute back to a pro
ject, the next step would be to sign up for
an ac
count on GitHub, and down
load a graph
ic
al-based client to pro
vide a sim
pler in
ter
face to the com
mand line-based git tool. GitHub it
self has a graph
ic
al client with the
Win
dows ver
sion avail
able at http://
windows.
github.
com and the Mac ver
sions at
http://
mac.
github.
com. Other com
mon source con
trol tools in
clude Source
Tree from
At
lass
ian, avail
able at http://
sourcetreeapp.
com.
Once a user has an ac
count and a github client, they can Fork, or split off a pro
ject
that is avail
able into their own pri
vate repos
it
ory, make changes and com
mit those
back to their pri
vate branch. If those changes work, and the user wishes to con
tribute
them back into the orig
in
al pro
ject, it is pos
si
ble to sub
mit a Pull re
quest, which es
sen
tially means that the user is propos
ing their ef
forts should be pulled back into the
orig
in
al pro
ject. The process can be that sim
ple, though many more ad
vanced pro
jects
have stan
dards and rules for con
tribut
ing to those pro
jects that put in place re
quire
ments around how work is com
mit
ted back into the pro
jects, which may re
quire some
read
ing be
fore at
tempt
ing to con
tribute.
389
Hardware Expansion
and Replacement
Section Content
Switches
There are two ways switches can be added to ACME's ex
ist
ing fab
ric: by dis
cov
er
ing the
switches au
to
mat
ic
ally in the APIC after they have been ca
bled to the fab
ric, or by prepro
vi
sion
ing the switches by adding their se
ri
al num
bers and later con
nect
ing them
phys
ic
ally to the fab
ric when the switches ar
rive. Both meth
ods have the same out
come: an ex
panded fab
ric in the mat
ter of min
utes. This sec
tion will also cover de
com
mis
sion
ing switches.
In the case of a leaf switch, cable it to all of the spine switches. In the case of a
spine switch, cable it to all the leaf switches. Ideally, a best-practice ACI fabric
is connected in a full mesh topology with every leaf cabled to every spine. All
devices should connect to the leaf switches, leaves should never connect to
other leaves, and spines should never connect to other spines.
When the new switch appears, you'll see a node with a serial number but no
Node ID or Node Name configured. Double click the switch and assign a Node
ID and a Node Name. As a best practice, number leaf nodes starting with 101,
and spine nodes with 201. Lower numbers are reserved for APICs.
Optionally, add a Rack Name name. This is commonly used to identify the
physical location of the switch in the data center.
Click Submit.
Repeat this process for all new switches connected to the fabric.
In the Work pane, choose Actions > Create Add Fabric Node Member.
In the Create Add Fabric Node Member dialog box, perform the following
actions:
a. In the pop-up window, enter the serial number of the switch that will be
arriving.
b. Assign a Node ID and a Switch Name. As a best practice, number leaf nodes
starting with 101, and spine nodes with 201. Lower numbers are reserved for
APICs.
Click Submit.
Note: Repeat this process for all switches you wish to pre-provision.
http://
www.
cisco.
com/
c/
en/
us/
solutions/
collateral/
data-center-virtualization/
application-centric-infrastructure/
white-paper-c11-731960.
html#_
Toc405844675
Click Submit.
APICs
Add New APIC
Be
fore mak
ing any changes to an APIC clus
ter, en
sure each APIC in the clus
ter is fully
fit and change the clus
ter size to re
flect the new con
troller you are adding to the clus
ter. Per
form the fol
low
ing steps to ver
ify clus
ter health:
1
2
If any of the APICs are not fully fit, refer to the fol
low
ing trou
bleshoot
ing guide:
http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
troubleshooting/
b_
APIC_
Troubleshooting.
html
Per
form the fol
low
ing steps to change the APIC clus
ter size:
1
Click Submit.
Per
form the fol
low
ing steps to add a new APIC to the clus
ter:
1
Install and stage the APIC by connecting it to the fabric by following the
hardware installation guide:
http://
www.
cisco.
com/
c/
en/
us/
support/
cloud-systems-management/
application-policy-infrastructure-controller-apic/
products-installationguides-list.
html
amongst APICs.
Click Submit.
Power supplies
Fan trays
Ex
am
ples of hot-swap
pable com
po
nents on the spines in
clude:
Power supplies
Fan trays
Supervisors
Linecard modules
De
spite sig
nif
ic
ant ad
vances in the above com
po
nents that re
duce the MTBF, there is
al
ways the pos
si
bil
ity of a fail
ure on a leaf switch ei
ther in switch hard
ware or soft
ware,
or a com
bi
na
tion of the two that ne
ces
si
tates a leaf re
place
ment. In such an event, the
state
less na
ture of the ACI fab
ric pro
vides sig
nif
ic
ant ad
van
tages to ad
min
is
tra
tors
from an op
er
at
ions stand
point.
fail
ure with re
dun
dant com
po
nents pre
sent in the sys
tem, sys
log mes
sages and SNMP
traps are gen
er
ated.
Ex
am
ples of hard
ware events that gen
er
ate sys
log mes
sages and SNMP traps in
clude:
While Cisco Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
troller (APIC) is a cen
tral point of
man
age
ment for the en
tire fab
ric, op
er
at
ions teams can lever
age their ex
ist
ing NMS
tools. Log
ging mes
sages can be sent to sys
log servers, such as Splunk, or SNMP mes
sages can be sent to NMS sys
tems, such as ZenOSS, to pro
vide alert
ing. The leaf and
spine switches in the ACI fab
ric also sup
port tra
di
tional meth
ods of de
tect
ing fail
ures,
such as SNMP polling at a set in
ter
val. If re
sponses are not re
ceived from the switch in
a cer
tain time
frame, there is a pos
si
bil
ity that the hard
ware has failed.
How
ever, while the leaf and spine switches re
port SNMP and Sys
log mes
sages for com
po
nent level fail
ures, the APICs them
selves do not have the abil
ity to gen
er
ate alerts
using SNMP or sys
log. For ex
am
ple a power sup
ply fail
ure on the APIC will not gen
er
ate
an SNMP or sys
log mes
sage and must be mon
it
ored and re
me
di
ated using the APIC
dash
board.
After con
firm
ing that the leaf node has failed, you want to re
move the failed switch and
pro
vi
sion a new switch as part of the fab
ric. The first step in re
plac
ing the failed switch
Stage the device with the right configuration file and eliminate any errors. For
example, update the AAA, NTP, and syslog servers and the ACLs that are
associated with each of them.
Bring up links one by one and verify if data traffic is flowing correctly.
In an ACI fab
ric, you can take ad
van
tage of the state
less na
ture of the hard
ware to in
stan
ti
ate the log
ic
al con
fig
ur
a
tion pro
files. Re
plac
ing the node is as sim
ple as de
com
mis
sion
ing the switch and recom
mis
sion
ing it.
To de
com
mis
sion and recom
mis
sion a switch:
1
Replace the failed leaf switch with the new leaf switch.
10
When prompted for the node ID, enter the old node's ID. In most cases, you
can also reuse the same leaf name.
11
Click Update.
Find the new switch and record its name and node ID.
In the Navigation pane, choose Fabric Node Firmware > Firmware Groups > All.
Note: In the Work pane, you can see the target firmware version, which
is automatically set to the latest firmware version.
In ad
di
tion, by lever
ag
ing the state
less ob
ject mod
el
ing that re
places the tra
di
tional run
ning con
fig
u
ra
tion on a de
vice, APIC au
to
mat
i
cally loads the cor
rect run
ning con
fig
u
ra
tion onto the de
vice, such as AAA, sys
log, SNMP, NTP, ACLs, bridge do
mains, and EPGs.
In the event that the re
place
ment switch runs stand
alone NX-OS soft
ware in
stead
of ACI switch soft
ware, you might need to copy the ACI switch soft
ware image to the
switch in ques
tion.
To copy the ACI switch soft
ware image to the switch:
1
Set the IP address on the mgmt0 interface to allow connectivity between the
switch and the APIC.
# feature scp-server
# scp -r /firmware/fwrepos/fwrepo/switch_image_name
admin@switch_ip_address:switch_image_name
For dual supervisor systems, ensure that images are copied to the standby
supervisor in case of a full chassis replacement by using the command:
Boot the active and standby supervisor modules with the ACI image.
10
switch(config)# reload
11
Login: admin
12
13
Record the fabric name, target size, node ID of the failed APIC, and the TEP
address space. This information is also available through the acidiag avread
command on APICs CLI.
Remove the failed APIC from your rack and install the replacement. The new
APIC should boot to the initial setup script.
Proceed through the setup script and enter the values of the failed APIC that
you recorded in step 3. Failure to configure the APIC with the same settings
could result in the fabric entering a partially diverged state.
Once the new APIC finishes booting, in the Navigation pane, choose Controllers
> apic_name > Cluster. You can choose any APIC.
10
Recommissioning an APIC
11
The new APIC will receive an IP address, which will be reflected in the APIC GUI. It
might take 5 to 10 minutes for this to occur. The new APIC might also cycle
between the Available and Unavailable operational states before becoming Fully Fit.
On the command line of the new APIC, you can verify that it has joined the
fabric by logging in using the credentials that are configured for the rest of the
fabric.
Boot-up tests run when switch, card boots up. These are typically ONLY
disruptive tests. Comes with default set of tests that can be modified. Deployed
via selectors.
Health (aka On-going) tests run periodically. Can only run non-disruptive tests.
Comes with default set of tests that can be modified and are deployed via
selectors
By de
fault, tests are log
i
cally grouped into col
lec
tions.
To look at the de
fault di
ag
nos
tic poli
cies, click fab
ric > fab
ric poli
cies > Mon
i
tor
ing poli
cies > de
fault > di
ag
nos
tics pol
icy
In the work pane se
lect the fab
ric el
e
ment that you would like to view the di
ag
nos
tic
mon
i
tor
ing pol
icy for.
Test re
sults are view
able by click
ing on
Fab
ric > in
ven
tory > Pod-1 > Leaf-xx or Spine-xx > Chas
sis > Su
per
vi
sor mod
ules > Slot-1
AND
Fab
ric > in
ven
tory > Pod-1 > Leaf-xx or Spine-xx > Chas
sis > Line mod
ules > Slot-1
Once there, in the work pane se
lect the Trou
bleshoot
ing tab to view GOLD di
ag
nos
tic
re
sults for the su
per
vi
sor.
413
Appendix
Appendix 415
Classes
The Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
troller (APIC) classes are cru
cial from an op
er
at
ional per
spec
tive to un
der
stand how sys
tem events and faults re
late to ob
jects
within the ob
ject model. Each event and/or fault in the sys
tem is a unique ob
ject that
can be ac
cessed for con
fig
ur
a
tion, health, fault, and/or sta
tis
tics.
All the phys
ic
al and log
ic
al com
po
nents that com
prise the Ap
pli
ca
tion Cen
tric In
fra
struc
ture fab
ric are rep
re
sented in a hi
er
ar
chi
cal man
age
ment in
for
ma
tion tree (MIT).
Each node in the tree rep
re
sents a man
aged ob
ject (MO) or group of ob
jects that con
tains its ad
min
is
tra
tive state and its op
er
at
ional state.
The APIC REST API is a pro
gram
matic in
ter
face to the APIC that uses a REST ar
chi
tec
ture. The API ac
cepts and re
turns HTTP or HTTPS mes
sages that con
tain JSON or
XML doc
um
ents. You can use any pro
gram
ming lan
guage to gen
er
ate the mes
sages,
and the JSON or XML doc
um
ents that con
tain the API meth
ods or man
aged ob
ject (MO)
de
scrip
tions.
You can in
voke an API func
tion by send
ing an HTTP/1.1 or HTTPS POST, GET, or
DELETE mes
sage to the APIC. The HTML body of the POST mes
sage con
tains a JSON or
XML data struc
ture that de
scribes an MO or an API method. The HTML body of the re
sponse mes
sage con
tains a JSON or XML struc
ture that con
tains re
quested data, con
fir
ma
tion of a re
quested ac
tion, or error in
for
ma
tion.
The fol
low
ing sec
tion is a rep
re
sen
ta
tion of use
ful classes for es
tab
lish
ing a foun
da
tion
for mon
it
or
ing and man
age
ment of the fab
ric. The list below is a sub
set of the full list of
the avail
able classes.
To ac
cess the com
plete list of classes, point to the APIC and ref
er
ence
the doc/html di
rec
tory at the end of the URL:
https://apic_ip_address/doc/html/
416 Appendix
Fabric Monitoring
topSystem
Name:
top:Sys
tem
De
scrip
tion:
Pro
vides a list of all the de
vices within the fab
ric, in
clud
ing con
trollers,
leafs and spines.
Usage:
The top
Sys
tem class can be used to de
rive ob
ject prop
er
ties in
clud
ing
inb/oob man
age
ment de
tails, cur
rent time, sys
tem up
time and cur
rent state.
topSystem REST :: https://172.16.96.2/api/node/class/topSystem.json
fabricNode
Name:
fab
ric:Node
De
scrip
tion:
Pro
vides a list of all the nodes that are part of the fab
ric, in
clud
ing
con
trollers, leafs and spines.
Usage:
The fab
ric
N
ode class can be used to de
rive ob
ject prop
er
ties in
clud
ing
node se
ri
al num
bers, as
signed node ids, node model num
bers and de
vice roles.
fabricNode REST :: https://172.16.96.2/api/node/class/fabricNode.json
faultInst
Name:
fault:Inst
De
scrip
tion:
Con
tains de
tailed in
for
ma
tion of the fault. This ob
ject is at
tached as a
child of the ob
ject on which the fault con
di
tion oc
curred. One in
stance ob
ject is cre
ated for each fault con
di
tion of the par
ent ob
ject. A fault in
stance ob
ject is iden
ti
fied by
a fault code.
Usage:
The fault
Inst class can be used to de
rive all faults as
so
ci
ated with the
fab
ric, ten
ant or in
di
vid
ual man
aged ob
jects within the APIC.
Appendix 417
fabricHealthTotal
Name:
De
scrip
tion:
Usage:
health.
fab
ric:Health
To
tal
The fab
ric total health score in
stance.
The fab
ricHealth
To
tal class can be used to de
rive the over
all sys
tem
fvCEp
Name:
De
scrip
tion:
fv:CEp
A client end
point at
tach
ing to the net
work.
Usage:
The fvCEp class can be used to de
rive a list of end points at
tached to the
fab
ric and the as
so
ci
ated ip/mac ad
dress and en
cap
su
la
tion for each ob
ject.
fvCEp REST :: https://172.16.96.2/api/node/class/fvCEp.json
fvRsCEpToPathEp
Name:
De
scrip
tion:
fv:RsCEp
ToPathEp
This is an in
ter
nal ob
ject that pro
vides a re
la
tion to a path end
point.
Usage:
The fvRsCEp
ToPathEp class can be used to de
rive path fab
ric de
tails
such as the node and port as well as the ten
ant de
tails such as the ten
ant name, ap
pli
ca
tion pro
file and end point group.
fvRsCEpToPathEp REST :: https://172.16.96.2/api/node/class/fvRsCEpToPathEp.json
eqptFabP
418 Appendix
eqptFabP
Name:
De
scrip
tion:
eqpt:FabP
Fab
ric port, the fab
ric fac
ing ex
ter
nal IO port.
Usage:
The eqpt
FabP class can be used to de
rive a list of fab
ric port and the as
so
ci
ated de
tails such as the line card and chas
sis place
ment.
eqptFabP REST :: https://172.16.96.2/api/node/class/eqptFabP.json
eqptLeafP
Name:
De
scrip
tion:
eqpt:LeafP
Fab
ric port, the non-fab
ric fac
ing ex
ter
nal leaf IO port.
Usage:
The eqpt
FabP class can be used to de
rive a list of non-fab
ric port and
the as
so
ci
ated de
tails such as the line card and chas
sis place
ment.
eqptLeafP REST :: https://172.16.96.2/api/node/class/eqptLeafP.json
eqptCh
Name:
De
scrip
tion:
eqpt:ChA
The hard
ware chas
sis con
tainer.
Usage:
The eqptCh class can be used to de
rive a chas
sis list and the as
so
ci
ated
de
tails such as the op
er
at
ional state, se
ri
al num
ber and model num
ber.
eqptCh REST :: https://172.16.96.2/api/node/class/eqptCh.json
eqptLC
Name:
eqpt:LCA
Appendix 419
De
scrip
tion:
Usage:
eqptFt
Name:
De
scrip
tion:
eqpt:Ft
The in
ven
to
ried fan tray.
Usage:
The eqptFt class can be used to de
rive a list of fan trays and the as
so
ci
ated
de
tails such as the op
er
a
tional sta
tus, model num
ber, se
r
ial num
ber and hard
ware ver
sion.
eqptFt REST :: https://172.16.96.2/api/node/class/eqptFt.json
eqptPsu
Name:
De
scrip
tion:
eqpt:Psu
The power sup
ply unit.
Usage:
The eqptFt class can be used to de
rive a list of power sup
plies within the
fab
ric and the as
so
ci
ated de
tails such as the model num
ber, se
ri
al num
ber, op
er
at
ional
sta
tus, and the volt
age source.
eqptPsu REST :: https://172.16.96.2/api/node/class/eqptPsu.json
eqptSupC
Name:
De
scrip
tion:
eqpt:SupC
The su
per
vi
sor card, which con
tains the CPU run
ning con
trol plane.
420 Appendix
Usage:
The eqptFt class can be used to de
rive a list of su
per
vi
sor cards de
ployed within the fab
ric and the as
so
ci
ated de
tails such as the model num
ber, se
ri
al
num
ber, op
er
at
ional sta
tus and re
dun
dancy state.
eqptSupC REST :: https://172.16.96.2/api/node/class/eqptSupC.json
ethpmPhysIf
Name:
De
scrip
tion:
ethpm:PhysIf
The phys
ic
al in
ter
face in
for
ma
tion holder.
Usage:
The eth
pm
PhysIf class can be used to de
rive a list of phys
ic
al in
ter
faces
in the fab
ric and the as
so
ci
ated de
tails such as a the speed, du
plex, op
er
at
ional sta
tus,
and usage state.
ethpmPhysIf REST :: https://172.16.96.2/api/node/class/ethpmPhysIf.json
dbgAcTrail
Name:
De
scrip
tion:
dbg:Ac
Trail
The atomic counter trail.
Usage:
The db
gAc
Trail class can be used to de
rive a list of the atomic coun
ters
de
ployed within the fab
ric and the as
so
ci
ated de
tails such as dropped packet sta
tis
tics
and packet counts.
dbgAcTrail REST :: https://172.16.96.2/api/node/class/dbgAcTrail.json
dbgEpgToEpgRslt
Name:
De
scrip
tion:
entry.
dbg:Epg
ToEp
gRslt
The end
point group to end
point group atomic counter, on-de
mand,
Appendix 421
Usage:
The dbgEpg
ToEp
gR
sIt class can be used to de
rive a list of the EPG to
dbgEpToEpRslt
Name:
De
scrip
tion:
Usage:
dbg:Ep
ToEpRslt
The end
point to end
point atomic counter, On-de
mand, Entry.
The dbgEp
ToEpT
sIt class can be used to de
rive a list of the end
point to
end
point atomic coun
ters de
ployed within the fab
ric and the as
so
ci
ated de
tails such as
dropped packet sta
tis
tics and packet counts.
dbgEpToEpTsIt REST :: https://172.16.96.2/api/node/class/dbgEpToEpRslt.json
VMM Monitoring
compVm
Name:
De
scrip
tion:
comp:Vm
The Vir
tual ma
chine ob
ject.
Usage:
The com
pVm class can be used to de
rive a list of vir
tual ma
chines de
ployed within the fab
ric and the as
so
ci
ated de
tails such as the name and state.
compVm REST :: https://172.16.96.2/api/node/class/compVm.json
compHv
Name:
De
scrip
tion:
comp:Hv
An ob
ject rep
re
sent
ing the com
pute hy
per
vi
sor.
422 Appendix
Usage:
The com
pVm class can be used to de
rive a list of com
pute hy
per
vi
sor
de
ployed within the fab
ric and the as
so
ci
ated de
tails such as the name and sta
tus.
compHv REST :: https://172.16.96.2/api/node/class/compHv.json
fvRsVm
Name:
De
scrip
tion:
ter
nal ob
ject.
fv:RsVm
A re
la
tion to a vir
tual ma
chine con
nected to a hy
per
vi
sor. This is an in
-
Usage:
The fvRsVm class can be used to de
rive the re
la
tion
ship of the vir
tual
ma
chines con
nected to the hy
per
vi
sor.
vRsVm REST :: https://172.16.96.2/api/node/class/fvRsVm.json
fvRsHyper
Name:
De
scrip
tion:
fv:RsHy
per
A re
la
tion to the hy
per
vi
sor that con
trols and mon
it
ors the APIC VMs.
This is an in
ter
nal ob
ject.
Usage:
The fvR
sHy
per class can be used to de
rive the re
la
tion
ship of the hy
per
vi
sor that con
trols and mon
it
ors the APIC VMs.
fvRsHyper REST :: https://172.16.96.2/api/node/class/fvRsHyper.json
vmmCtrlrP
Name:
vmm:CtrlrP
De
scrip
tion:
The VMM con
troller pro
file, which spec
if
ies how to con
nect to a sin
gle
VM man
age
ment con
troller that is part of con
tain
ing pol
icy en
force
ment do
main. For
ex
am
ple, the VMM con
troller pro
file could be a pol
icy to con
nect a VMware vCen
ter
that is part a VMM do
main.
Appendix 423
Usage:
The vmm
C
trlrP class can be used to de
rive the ip ad
dress and the dat
a-
cen
ter name of the con
nected VM do
main.
vmmCtrlrP REST :: https://172.16.96.2/api/node/class/vmmCtrlrP.json
vns
Ab
s
Graph
De
scrip
tion:
The ab
stract graph is made up of ab
stract nodes and used to de
fine
the traf
fic flow through a ser
vice func
tion such as load bal
anc
ing, SSL of
fload, or fire
wall. Ab
stract nodes are com
prised of ser
vice nodes such as a ser
vice node bal
ancer
(SLB) or fire
wall (FW), ab
stract term nodes (the nodes that are con
nected to end
point
groups), and con
nec
tions.
Usage:
plates con
fig
ured on the APIC, along with their prop
er
ties.
vnsAbsGraph
REST :: https://172.16.96.2/api/node/class/vnsAbsGraph.json
vnsLDevVip
Name:
vnsLDevVip
De
scrip
tion:
An L4-L7 de
vice clus
ter, which is rep
re
sented by a sin
gle vir
tual IP
(VIP). The con
fig
ur
a
tion is pushed down to the VIP ad
dress.
Usage:
The class vnsLDevVip can be used to de
rive all the VIPs con
fig
ured for
the log
ic
al de
vice clus
ters in the fab
ric
vnsLDevVip
REST :: https://172.16.96.2/api/node/class/vnsLDevVip.json
424 Appendix
vnsCDev
Name:
vn
sCDev
De
scrip
tion:
The in
di
vid
ual ser
vice de
vice, which is used to de
fine a con
crete l4-l7
ser
vice de
vice.
Usage:
The class vn
sCDev can be used to de
rive a list of con
crete de
vices con
fig
ured as part of the L4-7 ser
vice in
te
gra
tion
vnsCDev
REST :: https://172.16.96.2/api/node/class/vnsCDev.json
vnsLif
Name:
vnsLif
De
scrip
tion:
The log
ic
al in
ter
face, which is as
so
ci
ated with a set of con
crete in
ter
-
REST :: https://172.16.96.2/api/node/class/vnsLIf.json
vnsLDevCtx
Name:
vnsLDe
vCtx
De
scrip
tion:
A de
vice clus
ter con
text, which points to the de
vice clus
ter used to
pick a spe
cific de
vice based on con
tract, sub
ject, and func
tion label or names. To spec
ify a wild card, set the name to Any.
Usage:
name.
nsLDevCtx
REST :: https://172.16.96.2/api/node/class/vnsLDevCtx.json
vnsRsLDevCtxToLDev
Appendix 425
vnsRsLDevCtxToLDev
Name:
De
scrip
tion:
vn
sRsLDe
vC
tx
ToLDev
A source re
la
tion to the ab
strac
tion of a ser
vice de
vice clus
ter or of a
proxy ob
ject for a log
ic
al de
vice clus
ter in the ten
ant.
Usage:
The class vn
sRsLDe
vC
tx
ToLDev can be used to de
rive the re
la
tion
ship
be
tween vnsLDe
vCtx and vnsLDev.
vnsRsLDevCtxToLDev
REST :: https://172.16.96.2/api/node/class/vnsRsLDevCtxToLDev.json
Statistics
compHostStats1h
Name:
comp:Host
Stat
s1h
De
scrip
tion:
A class that rep
re
sents the most cur
rent sta
tis
tics for host in a 1 hour
sam
pling in
ter
val. This class up
dates every 15 min
utes.
Usage:
The com
pHost
Stat
s1h class can be used to de
rive the sta
tis
tics as
so
ci
ated with the com
pute hy
per
vi
sor.
compHostStats1h REST :: https://172.16.96.2/api/node/class/compHostStats1h.json
compRcvdErrPkts1h
Name:
comp:RcvdEr
rP
kt
s
1h
De
scrip
tion:
A class that rep
re
sents the most cur
rent sta
tis
tics for re
ceived error
pack
ets in a 1 hour sam
pling in
ter
val. This class up
dates every 15 min
utes.
Usage:
The com
pRcvdEr
rP
kt
s
1h class can be used to de
rive the most cur
rent
sta
tis
tics for re
ceived error pack
ets.
compRcvdErrPkts1h REST :: https://172.16.96.2/api/node/class/compRcvdErrPkts1h.json
426 Appendix
compTrnsmtdErrPkts1h
Name:
De
scrip
tion:
comp:Trnsmt
dEr
rP
kt
s
1h
A class that rep
re
sents the most cur
rent sta
tis
tics for trans
mit
ted
error pack
ets in a 1 hour sam
pling in
ter
val. This class up
dates every 15 min
utes.
Usage:
The compTrnsmt
dEr
rP
kt
s
1h class can be used to de
rive the most cur
rent sta
tis
tics for trans
mit
ted error pack
ets.
compTrnsmtdErrPkts1h REST ::
https://172.16.96.2/api/node/class/compTrnsmtdErrPkts1h.json
aaa:ModLR
De
scrip
tion:
The AAA audit log record. A log record is au
to
mat
ic
ally gen
er
ated
when
ever a user mod
if
ies an ob
ject.
Usage:
The aaaModLR class can be used to de
rive a fab
ric based audit log for all
changes and events.
aaaModLR REST :: https://172.16.96.2/api/node/class/aaaModLR.json
aaaUser
Name:
De
scrip
tion:
aaa:User
A lo
cally-au
then
ti
cated user ac
count.
Usage:
The aaaUser class can be used to de
rive a list of user ac
counts de
ployed
within the fab
ric.
aaaUser REST :: https://172.16.96.2/api/node/class/aaaUser.json
Appendix 427
aaaRemoteUser
Name:
aaa:Re
mo
teUser
De
scrip
tion:
A re
mote user login ac
count.
Usage:
de
ployed within the fab
ric.
aaaRemoteUser REST :: https://172.16.96.2/api/node/class/aaaRemoteUser.json
Fabric Capacity
Policy TCAM
Name:
eqpt
ca
pac
it
y
Po
lEn
try5min
De
scrip
tion:
Pol
icy CAM entry sta
tis
tics. A class that rep
re
sents the most cur
rent
sta
tis
tics for pol
icy entry in a 5 minute sam
pling in
ter
val. This class up
dates every 10
sec
onds.
Usage:
The eqpt
ca
pac
it
y
Po
lEn
try5min class can be used to de
rive the cur
rent
value as
so
ci
ated with the Pol
icy TCAM usage.
eqptcapacityPolEntry5min REST ::
http://172.16.96.2/api/class/eqptcapacityPolEntry5min.json
Prefix TCAM
Name:
eqpt
ca
pac
ityL3En
try5min
De
scrip
tion:
Lay
er3 entry sta
tis
tics. A class that rep
re
sents the most cur
rent sta
tis
tics for lay
er3 entry in a 5 minute sam
pling in
ter
val. This class up
dates every 10 sec
onds.
Usage:
The eqpt
ca
pac
ityL3En
try5min class can be used to de
rive the cur
rent
value as
so
ci
ated with the Pre
fix TCAM usage.
428 Appendix
eqptcapacityL3Entry5min
REST ::
https://172.16.96.2/api/class/eqptcapacityL3Entry5min.json
SNMP/SYSLOG
SNMP Trap Destination
Name:
sn
mpTrapDest
A des
ti
na
tion to which traps and in
forms are sent.
De
scrip
tion:
Usage:
The sn
mpTrapDest class can be used to de
rive the cur
rent list of snmp
trap des
ti
na
tions im
ple
mented within the fab
ric.
snmpTrapDest REST :: https://172.16.96.2/api/node/class/snmpTrapDest.json
Prefix TCAM
Name:
sys
lo
gRe
mot
eDest
De
scrip
tion:
The sys
log re
mote des
ti
na
tion host en
ables you to spec
ify sys
log
servers to which mes
sages from the APIC and fab
ric nodes should be for
warded.
Usage:
The sys
lo
gRe
mot
eDest class can be used to de
rive the cur
rent list of
sys
log re
mote des
ti
na
tions im
ple
mented within the fab
ric.
syslogRemoteDest REST :: https://172.16.96.2/api/node/class/syslogRemoteDest.json
Use Cases
The class fault
Inst used in Use Case #1 and Use Case #2 below can be re
placed with
any of the man
aged ob
ject classses dis
cussed above or spec
if
ied within the APIC doc
u-
men
ta
tion. The Cisco APIC Com
mand-Line In
ter
face User Guide may also be help
ful for
un
der
stand
ing the fol
low
ing sec
tions - see: http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
cli/
b_
APIC_
CLI_
User_
Guide.
html
Appendix 429
From a Vi
sore per
spec
tive, use the fol
low
ing pa
ra
me
ters to per
form the query.:
Class or DN
:: faultInst
Property
:: n/a
Op
:: n/a
Value
:: n/a
From a POST
MAN per
spec
tive, user the fol
low
ing REST GET to per
form the query:
GET http://<your apic ip address>/api/node/class/faultInst.xml
Sam
ple Cobra script to cap
ture faults within the fab
ric:
#!/usr/bin/env python
import cobra.mit.access
import cobra.mit.session
from cobra.mit.session import LoginSession
430 Appendix
from cobra.mit.request import ClassQuery
ls = cobra.mit.session.LoginSession('https://'<your apic ip address>, <username>,
<password>, secure=False)
md = cobra.mit.access.MoDirectory(ls)
md.login()
# Class Query
classQuery= ClassQuery('faultInst')
for fault in md.query(classQuery):
print fault.name
From a Vi
sore per
spec
tive, use the fol
low
ing pa
ra
me
ters to per
form the query:
Class or DN
:: faultInst
Property
:: cause
Op
:: ==
Value
:: config-failure
From a POST
MAN per
spec
tive, use the fol
low
ing REST GET to per
form the query:
GET http://<your apic ip address>/api/node/class/faultInst.xml?query-targetfilter=and(eq(faultInst.cause,"config-failure"))
Appendix 431
432 Appendix
From a Vi
sore per
spec
tive, use the fol
low
ing pa
ra
me
ters to per
form the query:
Class or DN
:: uni/tn-common
Property
:: n/a
Op
:: n/a
Value
:: n/a
From a POST
MAN per
spec
tive, use the fol
low
ing REST GET to per
form the query:
GET http://<your apic ip address>/api/node/mo/uni/tn-common.xml?query-target=self
Appendix 433
Appendix 435
Package Decoder
There are sev
eral ab
bre
vi
at
ions used in the names of classes in the ACI ob
ject model.
Here are some de
scrip
tions of com
monly used ab
bre
vi
at
ions, which may help when de
ci
pher
ing what class ob
jects are when using them with REST calls.
Package Decoder
Aaa: au
then
ti
ca
tion, au
tho
riza
tion, ac
count
ing
ac: atomic coun
ters
actrl: ac
cess con
trol
ac
trl
cap: ac
cess con
trol ca
pa
bil
ity
adcom: ap
pli
ance di
rec
tor com
mu
ni
ca
tion
aib: ad
ja
cency in
for
ma
tion base
arp: ad
dress res
o
lu
tion pro
to
col
bgp: bor
der gate
way pro
to
col
call
home: Cisco smart call home ser
vices
cap: ca
pa
bil
ity
cdp: Cisco dis
cov
ery pro
to
col
cnw: node clus
ter
comm: com
mu
ni
ca
tion pol
icy
comp: com
pute
436 Appendix
com
pat: com
pat
ib
il
ity
con
di
tion: health pol
icy
con
fig: con
fig
ur
a
tion pol
icy
coop: Coun
cil of Or
ac
les pro
to
col
copp: con
trol plane polic
ing pol
icy: con
tains set of rules de
scrib
ing po
licer rates
ctrlr: con
troller
ctx: con
text
date
time: date/time pol
icy
dbg: debug
dbgac: debug atomic coun
ters
dbg
exp: debug ex
port pol
icy
dhcp: dy
namic host con
fig
ur
a
tion pro
to
col
dhcptlv: dy
namic host con
fig
ur
a
tion pro
to
col type length value
dhcptlvpol: dy
namic host con
fig
ur
a
tion pro
to
col type length value pol
icy
dns: do
main name ser
vice
draw: graph vi
su
al
iza
tion for GUI
epm: end
point man
ager
eqpt: equip
ment
eqpt
cap: equip
ment ca
pa
bil
ity
eqpt
ca
pac
ity: equip
ment ca
pac
ity
Appendix 437
eqpt
diag: equip
ment di
ag
nos
tics
eqpt
di
agp: equip
ment di
ag
nos
tics pol
icy
ethpm: eth
er
net pol
icy man
ager
event: event pol
icy
extnw: ex
ter
nal net
work
fab
ric: fab
ric
fault: fault pol
icy, coun
ters
file: file path, con
fig im
port/ex
port pol
icy
firmware: firmware
fm
cast: fab
ric mul
ti
cast
fsm: fi
nite state ma
chine
fv: fab
ric vir
tu
al
iza
tion
fvns: fab
ric vir
tu
al
iza
tion name
space
fv
topo: fab
ric vir
tu
al
iza
tion topol
ogy
geo: ge
olo
ca
tion
glean: glean ad
ja
cency
ha: high avail
abil
ity
health: health score
hvs: hy
per
vi
sors vir
tual switch
icmp: in
ter
net con
trol pro
to
col
438 Appendix
icm
pv4: in
ter
net con
trol pro
to
col ver
sion 4
icm
pv6: in
ter
net con
trol pro
to
col ver
sion 6
ident: iden
tity
igmp: in
ter
net group man
age
ment pro
to
col
igmp
snoop: in
ter
net group man
age
ment pro
to
col snoop
ing
im: in
ter
face man
ager mod
ule
im
gin
stall: image in
stall
infra: in
fra
struc
ture
ip: in
ter
net pro
to
col
ipv4: in
ter
net pro
to
col ver
sion 4
ipv6: in
ter
net pro
to
col ver
sion 6
isis: in
ter
me
di
ate sys
tem to in
ter
me
di
ate sys
tem
isistlv: in
ter
me
di
ate sys
tem to in
ter
me
di
ate sys
tem type length value
l1: layer 1
l1cap: layer 1 ca
pa
bil
ity
l2: layer 2
l2cap: layer 2 ca
pa
bil
ity
l2ext: layer 2 ex
ter
nal
l3: layer 3
l3cap: layer 3 ca
pa
bil
ity
Appendix 439
l3ext: layer 3 ex
ter
nal
l3vm: Layer 3 Vir
tual Ma
chine
lacp: link ag
gre
ga
tion pro
to
col
lbp: load bal
anc
ing pol
icy
leqpt: loose equip
ment (un
man
aged nodes, not in the fab
ric)
lldp: link layer dis
cov
ery pro
to
col
lldptlv: link layer dis
cov
ery pro
to
col type length value
lldptlvpol: link layer dis
cov
ery pro
to
col type length value pol
icy
maint: main
te
nance
mcast: mul
ti
cast
mcp: mas
ter con
trol proces
sor
mem
ory: mem
ory sta
tis
tics
mgmt: man
age
ment
mo: man
aged ob
ject
mock: mock (ob
jects used on the sim
ul
a
tor mostly for show
ing stats/faults/etc)
mon: mon
it
or
ing
mon
i
tor: mon
it
or (SPAN)
nam
ing: ab
stract for ob
jects with names
nd: neigh
bor dis
cov
ery
nw: net
work
440 Appendix
oam: eth
er
net op
er
at
ions, ad
min
is
tra
tions and man
age
ment
ob
server: ob
server for sta
tis
tics, fault, state, health, logs/his
tory
opflex: OpFlex
os: op
er
at
ing sys
tem
ospf: open short
est path first
pc: port chan
nel
pcons: **gen
er
ated and used by in
ter
nal processes**
phys: phys
ic
al do
main pro
file
ping: ping ex
e
cu
tion and re
sults
pki: pub
lic key in
fra
struc
ture
pol: pol
icy de
f
in
i
t
ion
po
licer: traf
fic polic
ing (rate lim
it
ing)
pool: ob
ject pool
pres: **gen
er
ated and used by in
ter
nal processes**
proc: sys
tem load, cpu, and mem
ory uti
liza
tion sta
tis
tics
psu: power sup
ply unit pol
icy
qos: qual
ity of ser
vice pol
icy
qosm: qos sta
tis
tics
qosp: qos/ 802.1p
rbqm: de
bug
ging
Appendix 441
regress: re
gres
sion
reln: **gen
er
ated and used by in
ter
nal processes**
repl: **gen
er
ated and used by in
ter
nal processes**
res: **gen
er
ated and used by in
ter
nal processes**
rib: rout
ing in
for
ma
tion base
rmon: re
mote net
work mon
it
or
ing/ in
ter
face stats/coun
ters
rpm: route pol
icy map
rtcom: route con
trol com
mu
nity list
rtc
trl: route con
trol
rtextcom: router ex
tended com
mu
nity
rtflt: route fil
ter
rtleak: route leak
rtmap: RPM route map
rtpfx: route pre
fix list
rtreg
com: route reg
ul
ar com
mu
nity list
rtsum: route sum
ma
riza
tion ad
dress/pol
icy
satm: satel
lite man
ager
snmp: sim
ple net
work man
age
ment pro
to
col
span: switched port an
al
yzer
stats: sta
tis
tics col
lec
tion poli
cies
442 Appendix
stat
store: sta
tis
tics data hold
ers
storm
c
trl: storm con
trol (traf
fic sup
pres
sion) pol
icy
stp: span
ning tree pro
to
col de
f
in
i
t
ions and pol
icy
sts: Ser
vice Tag Switch
ing (used for ser
vices in
ser
tion)
svc
core: core pol
icy
svi: switched vir
tual in
ter
face/ routed VLAN in
ter
face
syn
thetic: syn
thetic ob
jects (for test
ing)
sys
de
bug: sys
tem debug
sys
file: sys
tem files
syshist: sys
tem cards reset records/his
tory
sys
log: sys
log pol
icy
sys
mgr: sys
tem man
ager (firmware, su
per
vi
sor, sys
tem states, etc)
sys
m
grp: con
tainer for cores pol
icy & ab
stract class for all qos pol
icy de
f
in
i
t
ions
tag: alias (use de
scrip
tive name for dn), tags (group mul
ti
ple ob
jects by a de
scrip
tive
name)
task: task ex
e
cu
tion, in
stance, and re
sult
test: ab
stract class for test rule, sub
ject, and re
sult
testin
fralab: test in
fra
struc
ture
tlv: type, length, value sys
tem struc
tures
top: sys
tem task man
ager for proces
sor ac
tiv
ity
Appendix 443
topoc
trl: topol
ogy con
trol pol
icy (shard
ing, fab
ric LB, fab
ric VxLan, etc)
tracer
oute: tracer
oute ex
e
cu
tion and re
sults
tracer
outep: tracer
oute end points
trig: trig
ger
ing pol
icy
tun
nel: tun
nel
ing
uribv4: ipv4 uni
cast rout
ing in
for
ma
tion base en
tity
vlan: vlan in
stances
vlan
mgr: vlan man
ager con
trol plane
vmm: vir
tual macine man
ager (con
troller, vmm pol
icy and de
f
in
i
t
ions)
vns: vir
tual net
work ser
vice (L4-L7 pol
icy and de
f
in
i
t
ions)
vpc: vir
tual port chan
nel (vpc pol
icy and de
f
in
i
t
ions)
vsvc: ser
vice la
bels (provider/con
sumer)
vtap: trans
lated ad
dress of ex
ter
nal node (NATed IP of ser
vice node)
vxlan: Vir
tu
ally ex
ten
si
ble LAN de
f
in
i
t
ions
vz: vir
tual zones (for
mer name of the pol
icy con
trols) i.e. Con
tracts
Appendix 445
A
AAA: acronym for Au
then
ti
ca
tion, Au
tho
riza
tion, and Ac
count
ing.
ACI Ex
ter
nal Con
nec
tiv
ity: Any con
nec
tiv
ity to and from the fab
ric that uses an ex
ter
nal routed or switched in
ter
me
di
ary sys
tem, where end
points fall out
side of the man
aged scope of the fab
ric.
ACID trans
ac
tions: ACID is an acronym for Atom
ic
ity, Con
sis
tency, Iso
la
tion, Dura
bil
ity
prop
er
ties of trans
ac
tions that en
sure con
sis
tency in data
base trans
ac
tions. Trans
ac
tions to APIC de
vices in an ACI clus
ter are con
sid
ered ACID, to en
sure that data
base
con
sis
tency is main
tained. This means that if one part of a trans
ac
tion fails the en
tire
trans
ac
tion fails.
AEP: At
tach
able En
tity Pro
file this is a con
fig
ur
a
tion pro
file of the in
ter
face that gets
ap
plied when an en
tity at
taches to the fab
ric. An AEP rep
re
sents a group of ex
ter
nal
en
ti
ties with sim
il
ar in
fra
struc
ture pol
icy re
quire
ments. AEPs are also the mech
an
ism
that ties the phys
ic
al port to the do
main (phys
ic
al or vir
tual) to a switch pol
icy.
ALE: Ap
pli
ca
tion Leaf En
gine, an ASIC on a leaf switch.
446 Appendix
APIC: Ap
pli
ca
tion Pol
icy In
fra
struc
ture Con
troller is a cen
tral
ized pol
icy man
age
ment
con
troller clus
ter. The APIC con
fig
ures the in
tended state of the pol
icy to the fab
ric.
API: Ap
pli
ca
tion Pro
gram
ming In
ter
face used for pro
gram
ma
ble ex
ten
si
bil
ity.
Ap
pli
ca
tion Pro
file: Term used to ref
er
ence an ap
pli
ca
tion pro
file-man
aged ob
ject ref
er
ence that mod
els the log
ic
al com
po
nents of an ap
pli
ca
tion and how those com
po
nents com
mu
ni
cate. The AP is the key ob
ject used to rep
re
sent an ap
pli
ca
tion and is
also the an
chor point for the au
to
mated in
fra
struc
ture man
age
ment in an ACI fab
ric.
ASE: Ap
pli
ca
tion Spine En
gine, an ASIC on a Spine switch.
B
BGP: Bor
der Gate
way Pro
to
col, on the ACI fab
ric Multi-Pro
to
col BGP is used to dis
trib
ute reach
ab
il
ity in
for
ma
tion within the fab
ric, and In
ter
nal BGP is used to peer the fab
ric with ex
ter
nal Layer 3 de
vices.
Bridge Do
main: An ACI con
struct that de
fines Layer 2 for
ward
ing be
hav
iors (Broad
cast,
ARP flood
ing, etc.) for each unique Layer 2 for
ward
ing do
main. Bridge Do
mains are also a
con
tainer for IP sub
nets and are where fab
ric Layer 3 gate
way func
tion
al
ity is con
fig
ured. BDs can em
u
late the be
hav
ior of a tra
di
tional VLAN but are not con
strained by for
ward
ing scale lim
i
ta
tions. In the ACI ob
ject model, a BD is a child of a Pri
vate Layer 3 or
con
text.
C
CLOS fab
ric: A multi-tier non
block
ing leaf-spine ar
chi
tec
ture net
work.
Clus
ter: Set of de
vices that work to
gether as a sin
gle sys
tem to pro
vide an iden
ti
cal or
sim
il
ar set of func
tions.
Con
tracts: A log
ic
al con
tainer for the sub
jects which re
late to the fil
ters that gov
ern
the rules for com
mu
ni
ca
tion be
tween end
point groups. ACI works on a white list pol
icy
model. With
out a con
tract, the de
fault for
ward
ing pol
icy is to not allow any com
mu
ni
ca
tion be
tween EPGs, but com
mu
ni
ca
tion within an EPG is al
lowed.
Appendix 447
Con
text: A Layer 3 for
ward
ing do
main, equiv
al
ent to a VRF, and in ACI ver
nac
ul
ar a Pri
vate Layer 3.
D
DLB: Dy
namic Load Bal
anc
ing a net
work traf
fic load-bal
anc
ing mech
an
ism in the ACI
fab
ric based on flowlet switch
ing.
DME: Data Man
age
ment En
gine, a ser
vice that runs on the APIC that man
ages data for
the data model.
dMIT: dis
trib
uted Man
age
ment In
for
ma
tion Tree, a rep
re
sen
ta
tion of the ACI ob
ject
model with the root of the tree at the top and the leaves of the tree at the bot
tom. The
tree con
tains all as
pects of the ob
ject model that rep
re
sent an ACI fab
ric.
Dn: Dis
tin
guished name a fully qual
if
ied name that rep
re
sents a spe
cific ob
ject within
the ACI man
age
ment in
for
ma
tion tree as well as the spe
cific lo
ca
tion in
for
ma
tion in the
tree. It is made up of a con
cate
na
tion of all of the rel
at
ive names from it
self back to the
root of the tree. As an ex
am
ple, if pol
icy ob
ject of type Ap
pli
ca
tion Pro
file is cre
ated,
named com
merce work
space within a Ten
ant named Prod, the dn would be ex
pressed
as uni/tn-Prod/ap-com
merce
work
space.
E
EP: End
point - Any log
ic
al or phys
ic
al de
vice con
nected di
rectly or in
di
rectly to a port
on a leaf switch that is not a fab
ric fac
ing port. End
points have spe
cific prop
er
ties like
an ad
dress, lo
ca
tion, or po
ten
tially some other at
tribute, which is used to iden
tify the
end
point. Ex
am
ples in
clude vir
tual-ma
chines, servers, stor
age de
vices, etc.
EPG: End Point Group. A col
lec
tion of end
points that can be grouped based on com
mon re
quire
ments for a com
mon pol
icy. End
point groups can be dy
namic or sta
tic.
F
Fault: When a fail
ure oc
curs or an alarm is raised, the sys
tem cre
ates a fault-man
aged
ob
ject for the fault. A fault con
tains the con
di
tions, in
for
ma
tion about the op
er
at
ional
state of the af
fected ob
ject and po
ten
tial res
ol
u
tions for the prob
lem.
448 Appendix
Fab
ric: The col
lec
tive end
points as
so
ci
ated with an ACI so
lu
tion (Leaf, Spine and Vir
tual
Switches plus APICs)
fines net
work man
age
ment tasks. FCAPS is n acronym for
FCAPS: The ISO model de
fault, con
fig
ur
a
tion, ac
count
ing, per
for
mance, se
cu
rity, the man
age
ment cat
e
gories
Fil
ters: Fil
ters de
fine the rules out
lin
ing the Layer 2 to layer 4 fields that will be
matched by a con
tract.
Flowlet switch
ing: An op
ti
mized, mul
ti
path, load-bal
anc
ing method
ol
ogy based on re
search from MIT in 2004. Flowlet Switch
ing is a way to use TCPs own bursty na
ture to
more ef
fi
ciently for
ward TCP flows by dy
nam
ic
ally split
ting flows into flowlets, and
split
ting traf
fic across mul
ti
ple par
al
lel paths with
out re
quir
ing packet re
order
ing.
G
GUI: Graph
ic
al User In
ter
face.
H
HTML: Hy
per
Text Markup Lan
guage, a markup lan
guage that fo
cuses on the for
mat
ting of web pages.
Hy
per
vi
sor: Soft
ware that ab
stracts the hard
ware on a host ma
chine and al
lows the
host ma
chine to run mul
ti
ple vir
tual ma
chines.
Hy
per
vi
sor in
te
gra
tion: Ex
ten
sion of ACI Fab
ric con
nec
tiv
ity to a vir
tual ma
chine man
ager to pro
vide the APIC with a mech
an
ism for vir
tual ma
chine vis
ib
il
ity and pol
icy en
force
ment.
I
IFM: In
tra-Fab
ric Mes
sages, Used for com
mu
ni
ca
tion be
tween dif
fer
ent de
vices on the
ACI fab
ric.
Appendix 449
In
band Man
age
ment (INB): In
band Man
age
ment. Con
nec
tiv
ity using an in
band man
age
ment con
fig
ur
a
tion. This uses a front panel (data plane) port of a leaf switch for ex
ter
nal man
age
ment con
nec
tiv
ity for the fab
ric and APICs.
IS-IS: Link local rout
ing pro
to
col lever
aged by the fab
ric for in
fra
struc
ture topol
ogy.
Loop
back and VTEP ad
dresses are in
ter
nally ad
ver
tised over IS-IS. IS-IS an
nounces the
cre
ation of tun
nels from leaf nodes to all other nodes in fab
ric.
J
JSON: JavaScript Ob
ject No
ta
tion, a data en
cap
su
la
tion for
mat that uses human read
able text to en
cap
su
late data ob
jects in at
tribute and value pairs.
L
Layer 2 Out (l2out): Layer 2 con
nec
tiv
ity to an ex
ter
nal net
work that ex
ists out
side of
the ACI fab
ric.
Layer 3 Out (l3out): Layer 3 con
nec
tiv
ity to an ex
ter
nal net
work that ex
ists out
side of
the ACI fab
ric.
L4-L7 Ser
vice In
ser
tion: The in
ser
tion and stitch
ing of VLANs/Layer 3 con
structs of
vir
tual or phys
ic
al ser
vice ap
pli
ances (Fire
wall, IDS/IPS, Load Bal
ancers, DLP,
etc....) into the flow of traf
fic. Ser
vice nodes op
er
ate be
tween Lay
ers 4 and Layer 7 of
the OSI model, where as net
work
ing el
e
ments (i.e. the fab
ric) op
er
ate at lay
ers 1-3).
La
bels: Used for clas
si
fy
ing which ob
jects can and can
not com
mu
ni
cate with each
other.
Leaf: Net
work node in fab
ric pro
vid
ing host and bor
der con
nec
tiv
ity. Leafs con
nect
only to hosts and spines. Leafs never con
nect to each other.
M
MO: Man
aged Ob
ject every con
fig
urable com
po
nent of the ACI pol
icy model man
aged in the MIT is called a MO.
450 Appendix
O
Ob
ject Model: A col
lec
tion of ob
jects and classes are used to ex
am
ine and ma
nip
ul
ate
the con
fig
ur
a
tion and run
ning state of the sys
tem that is ex
pos
ing that ob
ject model. In
ACI the ob
ject model is rep
re
sented as a tree known as the dis
trib
uted man
age
ment in
for
ma
tion tree (dMIT).
Out-of-Band man
age
ment (OOB man
age
ment): Ex
ter
nal con
nec
tiv
ity using a spe
cific
out-of-band man
age
ment in
ter
face on every switch and APIC.
P
Port Chan
nel: A Port link ag
gre
ga
tion tech
nol
ogy that binds mul
ti
ple phys
ic
al in
ter
faces into a sin
gle log
ic
al in
ter
face and pro
vides more ag
gre
gate band
width and link
fail
ure re
cov
ery with
out a topol
ogy change.
R
RBAC: Role Based Ac
cess Con
trol, which is a method of man
ag
ing se
cure ac
cess to in
fra
struc
ture by as
sign
ing roles to users, then using those roles in the process of grant
ing or deny
ing ac
cess to de
vices, ob
jects and priv
il
ege lev
els.
Rep
re
sen
ta
tional State Trans
fer (REST): a state
less pro
to
col usu
ally run over HTTP
that al
lows a client to ac
cess a server-side or cloud-based API with
out hav
ing to write a
local client for the host ac
cess
ing the API. The lo
ca
tion that the client ac
cesses usu
ally
de
fines the data the client is try
ing to ac
cess from the ser
vice. Data is usu
ally ac
cessed
and re
turned in ei
ther XML or JSON for
mat.
REST
ful: An API that uses REST, or Rep
re
sen
ta
tional State Trans
fer.
Appendix 451
Rn: Rel
at
ive name, a name of a spe
cific ob
ject within the ACI man
age
ment in
for
ma
tion
tree that is not fully qual
if
ied. A Rn is sig
nif
ic
ant to the in
di
vid
ual ob
ject, but with
out
con
text, its not very use
ful in nav
ig
a
tion. A Rn would need to be con
cate
nated with all
the rel
at
ive names from it
self back up to the root to make a dis
tin
guished name, which
then be
comes use
ful for nav
ig
a
tion. As an ex
am
ple, if an Ap
pli
ca
tion Pro
file ob
ject is
cre
ated named com
merce
work
space, the Rn would be ap-com
merce
work
space be
cause Ap
pli
ca
tion Pro
file rel
at
ive names are all pref
aced with the let
ters ap-. See also
the Dn de
f
in
i
t
ion.
S
Ser
vice graph: A mech
an
ism within ACI that au
to
mates redi
rec
tion of traf
fic and VLAN
stitch
ing based on de
fined pa
ra
me
ters. Any ser
vices that are re
quired are treated as a
ser
vice graph that is in
stan
ti
ated on the ACI fab
ric from the APIC. Ser
vice graphs iden
tify the set of net
work or ser
vice func
tions that are needed by the ap
pli
ca
tion, and rep
re
sent each func
tion as a node.
Spine: Net
work node in fab
ric car
ry
ing ag
gre
gate host traf
fic from leafs, con
nected
only to leafs in the fab
ric and no other de
vice types.
Spine/Leaf topol
ogy: A clos-based fab
ric topol
ogy in which spine nodes con
nect to
leaf nodes, leaf nodes con
nect to hosts and ex
ter
nal net
works.
Sub
nets: Con
tained by a bridge do
main or an EPG, a sub
net de
fines the IP ad
dress
range that can be used within the bridge do
main.
Sub
jects: Con
tained by con
tracts and cre
ate the re
la
tion
ship be
tween fil
ters and con
tracts.
Su
per
vi
sor: Switch mod
ule that pro
vides the con
trol plane for the 95xx switches.
T
Ten
ants: The log
ic
al con
tainer to group all poli
cies for ap
pli
ca
tion poli
cies.
452 Appendix
V
Vir
tu
al
iza
tion: Tech
nol
ogy used to ab
stract hard
ware re
sources into vir
tual rep
re
sen
ta
tions and al
low
ing soft
ware con
fig
ura
bil
ity.
vPC: vir
tual Port Chan
nel, in which a port chan
nel is cre
ated for link ag
gre
ga
tion, but is
spread across no more or less than 2 phys
ic
al switches.
VRF: Vir
tual Rout
ing and For
ward
ing - A Layer 3 name
space iso
la
tion method
ol
ogy to
allow for mul
ti
ple con
texts to be de
ployed on a sin
gle de
vice or in
fra
struc
ture.
VXLAN: VXLAN is a Layer 2 over
lay scheme trans
ported across a Layer 3 net
work. A 24bit VXLAN seg
ment ID (SID) or VXLAN net
work iden
ti
fier (VNID) is in
cluded in the en
cap
su
la
tion to pro
vide up to 16 mil
lion VXLAN seg
ments for traf
fic iso
la
tion or seg
men
ta
tion. Each seg
ment rep
re
sents a unique Layer 2 broad
cast do
main. An ACI VXLAN
header is used to iden
tify the pol
icy at
trib
utes if the ap
pli
ca
tion end
point within the
fab
ric, and every packet car
ries these pol
icy at
trib
utes.
X
XML: eX
ten
si
ble Markup Lan
guage, a markup lan
guage that fo
cuses on en
cod
ing data
for doc
um
ents rather than the for
mat
ting of the data for those doc
um
ents.
Appendix 453
Reference Material
Top
ics that are out
side of the scope of this op
er
at
ions guide may be doc
um
ented in
other places. This sec
tion in
cludes links to other help
ful ref
er
ence doc
um
en
ta
tion for
fur
ther read
ing and view
ing.
454 Appendix
Appendix 455
AVS Topolo
gies and So
lu
tion Guide
http://
www.
cisco.
com/
c/
en/
us/
support/
switches/
application-virtual-switch/
products-technical-reference-list.
html
APIC Com
mand-Line In
ter
face User Guide
http://
www.
cisco.
com/
c/
en/
us/
support/
cloud-systems-management/
applicationpolicy-infrastructure-controller-apic/
products-command-reference-list.
html
APIC Layer 4 to Layer 7 Ser
vices De
ploy
ment Guide
http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
L4-L7_
Services_
Deployment/
guide/
b_
L4L7_
Deploy.
html
Cobra Docs
http://
cobra.
readthedocs.
org/
en/
latest/
Cobra GitHub
http://
github.
com/
datacenter/
cobra
Con
nect
ing ACI to Out
side Layer 2 and 3 Net
works
http://
www.
cisco.
com/
c/
en/
us/
solutions/
collateral/
data-center-virtualization/
application-centric-infrastructure/
white-paper-c07-732033.
html
Fab
ric Con
nec
tiv
ity Video
https://
www.
youtube.
com/
watch?
v=_
iQvoC9zQ_
A
Nexus CLI to Cisco APIC Map
ping
http://
www.
cisco.
com/
c/
en/
us/
support/
cloud-systems-management/
applicationpolicy-infrastructure-controller-apic/
products-configuration-examples-list.
html
456 Appendix
POST
man
getpostman.
com
http://www.
Sup
ported SNMP MIB List
http://
www.
cisco.
com/
c/
en/
us/
td/
docs/
switches/
datacenter/
aci/
apic/
sw/
1-x/
mib/
list/
mib-support.
html