# OpenStack

OpenStack is an open-source private cloud platform. It provides IaaS and allows a provider to run their own private cloud instead of relying on a public cloud. A service provider could use OpenStack as the NFVi in an NFV architecture.



OpenStack has a modular design in which each component is a separate service, and you can load services as you need them. Some common services are:

* Nova - Computer service
* Cinder - Block storage
* Swift - Object storage
* Neutron - Networking service
* Horizon - Dashboard UI service
* Glance - Image management
* Heat - Orchestration



Interestingly Cisco uses OpenStack for VIRL and CML.

> Cisco Modeling Labs uses OpenStack's clustering capability to allow you to run simulations across multiple servers, with a single point of control.

From: [https://www.cisco.com/c/en/us/td/docs/cloud\_services/cisco\_modeling\_labs/v130/installation/guide/admin/b\_cml\_install\_sys\_admin\_13/b\_cml\_install\_sys\_admin\_13\_chapter\_0101.html](https://www.cisco.com/c/en/us/td/docs/cloud_services/cisco_modeling_labs/v130/installation/guide/admin/b_cml_install_sys_admin_13/b_cml_install_sys_admin_13_chapter_0101.html)



### Lab <a href="#id-27951ef8-5775-4b4f-bf11-b88589269260" id="id-27951ef8-5775-4b4f-bf11-b88589269260"></a>

I find that I generally understand products best when I spend hands-on time with them. Spinning up an OpenStack instance is very simple. I installed DevStack onto an Ubuntu server in CML. I simply followed this guide: [https://docs.openstack.org/devstack/latest/](https://docs.openstack.org/devstack/latest/). The only thing I had to do was create the **local.conf** file. It takes about 20 minutes for the install to complete. While it was running I watched the DevNet session on youtube, which is linked at the end of this article.



Once DevStack is done installing, you can navigate to the webpage using http://\[_server ip_]. Log in with username=admin and the password you set in the **local.conf** file.



You can easily launch VMs under Compute - Instances:

<figure><img src="https://1203572585-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgAMH3CMtmYTBkob03NUj%2Fuploads%2FbQAhDztvF2UGFMwzSGzI%2FUntitled.png?alt=media&#x26;token=5d8ea7b1-f741-4246-a4be-eaf26ad09f44" alt=""><figcaption></figcaption></figure>



DevStack comes with the cirros image which is a very stripped-down version of Linux. You can use this to quickly create VMs and test reachability between them on a shared network. I found that navigating the GUI is quite natural and intuitive, even without reading the admin guide.

<figure><img src="https://1203572585-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgAMH3CMtmYTBkob03NUj%2Fuploads%2F15p5Sw2G8L2xctEICrqM%2FUntitled%201.png?alt=media&#x26;token=24c380d8-ea5c-46ce-9f88-6199a7ffb382" alt=""><figcaption></figcaption></figure>



You can also try associating a floating IP with the VM. In my lab, I found that I cannot ping the floating IP from my ubuntu server, however the VM can ping out to the internet. OpenStack NATs the VM to the floating IP that I associated with it. I then created a new VM, only belonging to the private network, and to my surprise it can ping the internet _and_ I can ping its NAT public IP. This is _without_ a floating IP. I didn’t spend much more time to investigate any further. OpenStack seems quick to setup in a basic sense, but complex once you dive deep into it, which I believe is not necessary for the CCNP.



### Further Reading/Watching <a href="#d28481ea-8cf1-4e41-afe2-1e6b55b06ea1" id="d28481ea-8cf1-4e41-afe2-1e6b55b06ea1"></a>

[https://www.openstack.org/software/](https://www.openstack.org/software/)

\
[https://www.youtube.com/watch?v=IseEhw-Dxrc](https://www.youtube.com/watch?v=IseEhw-Dxrc\&t=5s)

* General overview of OpenStack

\
[https://www.youtube.com/watch?v=ecc2KzjBoO8\&ab\_channel=CiscoDevNet](https://www.youtube.com/watch?v=ecc2KzjBoO8\&ab_channel=CiscoDevNet)

* Very thorough and easy-to-follow DevNet session from Cisco Live. It introduces OpenStack and guides you through spinning up VMs.
