> For the complete documentation index, see [llms.txt](https://ccnp-sp.gitbook.io/studyguide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ccnp-sp.gitbook.io/studyguide/misc/virtualization/openstack.md).

# 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>

### 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/>. 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="/files/X5A8YfJRLnISXWe92Pqz" 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="/files/nRsqoeW0GFCMOROjv2gO" 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.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>

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