We are bringing network professionals, DevOps engineers, SREs, system architects, and software developers into one community to unleash the capabilities of the entire stack.
Join the communityWalk
Get visibility and insights into your infrastructure and applications
EXAMPLE USE CASE
Find configuration differences with Cisco Genie
Use Cisco Genie to answer one of the most common network engineering questions: "What changed in the network configuration?" This code provides a quick example walkthrough that demonstrates how you can use this tool in your own environment.
SAMPLE CODE
#Re-learn the current configuration. You need to provide a new value for the output.
genie learn config --testbed-file sandbox-testbed.yaml --output changed
#Now find the diff between the gold_config and changed.
genie diff gold_config changed
# Output
+==============================================================================+
| Genie Diff Summary between directories gold_config/ and changed/ |
+==============================================================================+
| File: config_iosxe_csr1000v-1_ops.txt |
| - Diff can be found at ./diff_config_iosxe_csr1000v-1_ops.txt |
|------------------------------------------------------------------------------|
| File: config_iosxr_iosxr_ops.txt |
| - Diff can be found at ./diff_config_iosxr_iosxr_ops.txt |
|------------------------------------------------------------------------------|
| File: config_nxos_sbx-n9kv-ao_ops.txt |
| - Diff can be found at ./diff_config_nxos_sbx-n9kv-ao_ops.txt |
|------------------------------------------------------------------------------|
# The output of the command shows you where the diffences are, and you can check the files referenced for the specific changes.
--- gold_config/config_iosxe_csr1000v-1_ops.txt
+++ changed/config_iosxe_csr1000v-1_ops.txt
+Current configuration : 9351 bytes:
+interface Loopback1001:
+ description GenieLoop1001:
+ no ip address:
+interface Loopback1184:
+ description New Interface Created with Genie change:
+ no ip address:
-Current configuration : 9191 bytes:
MORE USE CASES ON “WALK”
- Walk
- Telemetry and insights
- Day N
- Campus/Branch
- SD-WAN
- Walk
- Monitoring
- Day N
- Data Center
- NX-OS
Run
Activate policy and intent across different operational domains
EXAMPLE USE CASE
Manage multiple Meraki organizations
Use a Python script to manage multiple Meraki dashboard organizations. Our open source community has developed a Python-based script to help users quickly and programmatically add, delete, find, and list administrators across organizations.
SAMPLE CODE
def getorglist(p_apikey):
#returns the organizations' list for a specified admin
time.sleep(API_EXEC_DELAY)
try:
r = requests.get('https://dashboard.meraki.com/api/v0/organizations', headers={'X-Cisco-Meraki-API-Key': p_apikey, 'Content-Type': 'application/json'})
except:
printusertext('ERROR 01: Unable to contact Meraki cloud')
sys.exit(2)
returnvalue = []
if r.status_code != requests.codes.ok:
returnvalue.append({'id':'null'})
return returnvalue
rjson = r.json()
return(rjson)
MORE USE CASES ON “RUN”
- Run
- Automation at scale
- Day 0
- Campus/Branch
- Cisco DNA Center, IOS XE
- Run
- Telemetry and insights
- Day N
- Campus/Branch, Data Center, Service Provider
- IOS XE, IOS XR, NX-OS
Fly
Proactively manage applications, users, devices with DevOps workflow
EXAMPLE USE CASE
Automate application policy deployment with Ansible
Deploy applications with Ansible to manage multi-domain networking across UCS, Nexus, and ACI. Use GitHub webhooks, AWS API Gateway, AWS Lambda to automate execution.
SAMPLE CODE
MORE USE CASES ON “FLY”
- Fly
- Telemetry and insights
- Day N
- Service Provider, Data Center
- IOS XR, NX-OS
- Fly
- Multi-Domain automation, Self-serve network operations
- Day N
- Data Center, Campus/Branch
- IOS XE, NX-OS
{{title}}
{{ecosystem.title}}
{{ecosystem.description}}
{{row.title}}
{{row.description}}
-
{{column.title}}
-
{{item.name}}
-
{{title}}
{{subtitle}}
{{title}}
{{lifecycle.title}}
-
{{step.day}}{{step.title}}{{step.description}}{{step.hyperlink.text}}
{{scenarios.title}}
{{card.title}}
{{card.description}}