Howdy out there in automation land! So I know it has been a while since my last blog but wow... the places and things we are doing... as I sit here this morning (early in the morning mind you)... I'm getting mentally prepared to teach a 4th Action Orchestrator boot camp to fellow Cisco engineers and partners. This is the 4th one in the past year alone.... to total about 230+ engineers having been trained on this wonderful product. It is amazing to see the excitement and drive behind this product and to be a part of the wave that it is creating.... get on the bandwagon now... do not let it pass you by!!! So let's get onto the meat of this blog and some other stuff, but first... gotta have a movie poster right? How about...
An oldie but a goodie... and on DVD no less! (Anyone under the age of 30 is probably asking what is that right now but I digress). Anyways, onto the what this blog is about. I believe you should practice what you preach. How can I teach all these engineers and you my awesome readers about AO if I'm not using it myself to make my life easier? Well that is what I have for you today. In doing these boot camps, I have students do labs and build Kubernetes from scratch, then install AO, then do workflow authoring, and finally do some adapter development. (which is super cool stuff and I plan to do some blogs on it, but that is another topic for another day). In doing that I am building small 3 noded clusters (1 master, 2 workers) and deploying those to an internal lab network I have. I also need to update the nodes with the latest information/latest versions, and all that good "update" jazz. (in CentOS the basic yum -y update command). I started to think on how I could make this easier for me because I was having to tear up and rebuild over 60 VMs for each boot camp. While I don't have them all the time... it did get to be a multi-day time sink for me and was hard to do other things(multi-task) while building them.
Enter AO. So in looking around, our labs have APIs to deploy and remove VMs (like most virtualization would). What we use is really not relevant to the discussion although you will see it in the video... we have cloud forms over VMWare. So my goal for standing up a VM was to...
Make sure the VM did not exist already
Read information about the VM I wanted from a SmartSheet via API. (SmartSheet is like Excel/Project in the cloud if you d not use it)
Take that information and use it to deploy a template VM I built prior
Wait for that VM to be ready
Login to that VM via SSH and do some basic networking and VM configuration
Change the VM IP address and restart its network. Change the IP address in my AO target dynamically and reconnect
Run the yum -y update command and then mark the VM as ready to go!
Whew! That's a lot. But it is something that is highly repeatable and makes for great automation. So I sat down and in about a day's time I was able to do it all! A complete run to build a VM takes <20 minutes and while that is going on I can be doing a bunch of other work... I was able to build up a complete cluster, practice my labs, and tear in all down in a matter of 60 minutes. The time savings has been amazing! Previously it would have taken me about 1 week to build up the full lab and that is 1 week of me actually *DOING* the work. This time it took maybe 2 days of running the Workflow in AO. Now I ran it one at a time instead of all at once, just to make sure it did what I wanted. (first time was exciting!) But in the future I'll set it to run all 20 PODs and will probably take less than a day to do all that work. The tear down... even faster. It tears down and removes all the VMs in less than a day, including proper cleanup.
Wow... so that is a lot. This blog is truly about showing you, my readers, one of the exciting and highly useful things I've been able to do with AO. It is to give you ideas and get you even more excited about automation in AO. If you have not gotten into it... contact Cisco, contact us, come see us at Cisco Live EMEA or Cisco Live US this next year. Let's get you on the AO train, because it has pulled out and has a full head of steam behind it.
Now... I wanted to show you in live action this above automation... and how I built it and walk you through it. So....
Note: It's about ~30 minutes so sit back with a nice cup of coffee and enjoy.
Standard End-O-Blog Disclaimer:
Thanks as always to all my wonderful readers and those who continue to stick with and use CPO and AO! I have always wanted to find good questions, scenarios, stories, etc... if you have a question, please ask, if you want to see more, please ask... if you have topic ideas that you want me to blog on, Please ask! I am happy to cater to the readers and make this the best blog you will find :)
AUTOMATION BLOG DISCLAIMER: As always, this is a blog and my (Shaun Roberts) thoughts on CPO, AO, CCS, orchestration, development, devops, and automation, my thoughts on best practices, and my experiences with the products and customers. The above views are in no way representative of Cisco or any of it's partners, etc. None of these views, etc are supported and this is not a place to find standard product support. If you need standard product support please do so via the current call in numbers on Cisco.com or email email@example.com
Hi,I have the below setup Here vpc running between leaves also ( vpc 200) switches also . I am not sure this is ideal design The problem is s1 is down srv1 will not send the traffic Please help ...
Dear Cisco, We have ACI with Application Centric Deployment that use Contract for communication between EPGs, Since this policy cause TCAM exhaustion we want to move the security part to the ASA Firewall using an Service Graph PBR. Is ther...
Hello all,I have a quick question regarding BGP routing protocol. In our DataCenter we have Nexus7710 version 8.3(2), with N77-F348XP-23 line cards, and we are currently running OSPF. We would like to enable the BGP feature, in order to create BGP peering...
Design: ACI to physical Alteon LB connected over VPC VPC -Port-channel feature: PCP-ON Control : Fast select hot standby port, Graceful convergence, Suspend individual port Could you please let me know how we can avoid causing a MAC t...