---
title: "Install OpenStack using guided installation instructions\n    | Ubuntu"
description: Ubuntu is an open source software operating system that runs from the
  desktop, to the cloud, to all your internet connected things.
url: https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md
keywords: index, follow
---

# Install OpenStack using guided installation instructions

1. [Overview](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#1-overview)
2. [Reference configuration](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#2-reference-configuration)
3. [Bootstrap the first node](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#3-bootstrap-the-first-node)
4. [Next steps](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#4-next-steps)

## 1. Overview

**Duration**: 3 minutes

### [Before you get started!](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#before-you-get-started)

Welcome to OpenStack!

In this series of tutorials, we will walk you through all the necessary steps to install, configure and get started with OpenStack. Using just three dedicated machines, you will learn how to deploy OpenStack in highly available, multi-node, production-grade clusters.

This tutorial is the second in the “Phase 2 - Deploy OpenStack” series.

[Explore other tutorials >](https://ubuntu.com/openstack/tutorials)

### [What is OpenStack?](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#what-is-openstack)

[OpenStack](https://ubuntu.com/openstack/what-is-openstack) is a collection of open source projects designed to work together to form the basis of a cloud. OpenStack can be used for both private and public cloud implementation.

### [What is Sunbeam?](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#what-is-sunbeam)

[Sunbeam](https://governance.openstack.org/tc/reference/projects/sunbeam.html) is an upstream project under the governance of the OpenInfra Foundation (OIF), which was created to lower the barrier to entry for OpenStack, simplify its adoption process, and set the foundation for an autonomous private cloud. Sunbeam uses cloud-native architecture and total bottom-up automation to make OpenStack more accessible to newcomers and to help users get to grips with the platform immediately.

### [What is MicroStack?](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#what-is-microstack)

[MicroStack](https://microstack.run/) (based on Sunbeam) is an OpenStack distribution designed for small-scale cloud environments. While it is available with full commercial support from Canonical, it can also be self-deployed with no friction, effectively eliminating the need for a paid consulting engagement. MicroStack currently includes core OpenStack services only, but is expected to evolve quickly to ensure full feature parity with [Canonical’s Charmed OpenStack](https://ubuntu.com/openstack) soon.

### [In this tutorial, you will learn how to:](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#in-this-tutorial-you-will-learn-how-to)

* Perform guided installation of OpenStack with Sunbeam without bare metal automation
* Launch a test instance on OpenStack

### [You will only need:](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#you-will-only-need)

* Theoretical knowledge of OpenStack gained by completing all tutorials in the “Phase I - Learning OpenStack” series
* Three fresh physical machines with:
  + Ubuntu 22.04 LTS installed,
  + A minimum of 32 GB of free memory
  + 200 GB of SSD storage available on the root disk
  + At least one un-partitioned disk of at least 200 GB in size
  + Two network interfaces:
    - A primary network interface for access to the OpenStack control plane
    - A secondary network interface for remote access to cloud VMs

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-openstack-using-guided-installation-instructions/44744)

about
0
minutes to go

*Previous step*
[*Next step*](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#2-reference-configuration)

## 2. Reference configuration

**Duration**: 5 minutes

This section provides reference configuration used for the purpose of this tutorial.

> ! **Reference configuration**
> Note that in your environment those values might be different and might need to be adjusted accordingly.

### [Machine](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#machine)

For the purpose of this tutorial, the following machines are used:

| Machine | FQDN | Un-partitioned disk | Roles |
| --- | --- | --- | --- |
| sunbeam01 | [sunbeam01.example.com](http://sunbeam01.example.com) | /dev/sdb | control, compute, storage |
| sunbeam02 | [sunbeam02.example.com](http://sunbeam02.example.com) | /dev/sdb | control, compute, storage |
| sunbeam03 | [sunbeam03.example.com](http://sunbeam03.example.com) | /dev/sdb | control, compute, storage |

### [Control plane networking](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#control-plane-networking)

The network associated with the primary network interface requires a range of approximately 10 IP addresses that will be used for API service endpoints.

For the purposes of this tutorial, the following configuration is in place:

| Network component | Value |
| --- | --- |
| CIDR | 172.16.1.0/24 |
| Gateway | 172.16.1.1 |
| Address range | 172.16.1.201-172.16.1.220 |
| Interface name on machine | eno1 |

### [External networking](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#external-networking)

The network associated with the secondary network interface requires a range of IP addresses that will be sufficient for allocating floating IP addresses to VMs. This will, in turn, allow them to be contacted by remote hosts.

For the purposes of this tutorial, the following configuration is in place:

| Network component | Value |
| --- | --- |
| CIDR | 172.16.2.0/24 |
| Gateway | 172.16.2.1 |
| Address range | 172.16.2.2-172.16.2.254 |
| Interface name on machine | eno2 |

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-openstack-using-guided-installation-instructions/44744)

about
0
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#1-overview)
[*Next step*](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#3-bootstrap-the-first-node)

## 3. Bootstrap the first node

**Duration**: 25 minutes

In this tutorial we’ll bootstrap the first node in the cluster.

### [Install OpenStack snap on the first node](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#install-openstack-snap-on-the-first-node)

In order to install OpenStack snap on the first node in the cluster, execute the following command on `sunbeam01` machine:

```
$ sudo snap install openstack --channel 2024.1/beta
```

### [Prepare the first node](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#prepare-the-first-node)

In order to prepare the first node for OpenStack usage, execute the following command on `sunbeam01` machine:

```
$ sunbeam prepare-node-script | bash -x && newgrp snap_daemon
```

### [Bootstrap the cloud](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#bootstrap-the-cloud)

In order to bootstrap the cloud according to the “Reference configuration” section, execute the following command on `sunbeam01` machine:

```
$ sunbeam cluster bootstrap --role control --role compute --role storage
```

> ! **sunbeam cluster bootstrap**
> This command takes a while to finish. Please, be patient.

When prompted, enter the following values:

* **Use proxy to access external network resources?** - type `n` and press `Enter`,
* **Management networks shared by hosts** - type the value of the `CIDR` field from the “Control plane networking” sub-section of the “Reference configuration” section and press `Enter`,
* **MetalLB address allocation range** - type the value of the `Address range` field from the “Control plane networking” sub-section of the “Reference configuration” section and press `Enter`,
* **Disks to attach to MicroCeph** - type the value of the `Un-partitioned disk` field next to the `sunbeam01` machine from the “Machines” sub-section of the “Reference configuration” section and press `Enter`.

Sample output:

```
Use proxy to access external network resources? [y/n] (n): n
Management networks shared by hosts (CIDRs, separated by comma) (172.16.1.0/24): 172.16.1.0/24
MetalLB address allocation range (supports multiple ranges, comma separated) (10.20.21.10-10.20.21.20): 172.16.1.201-172.16.1.220
Disks to attach to MicroCeph (comma separated list) (): /dev/sdb
```

Once finished, you should be able to see the following message:

```
Node has been bootstrapped with roles: control, compute, storage
```

In order to display all nodes in the cluster, execute the following command:

```
$ sunbeam cluster list
```

### [Configure the cloud](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#configure-the-cloud)

In order to configure the cloud according to the “Reference configuration” section, execute the following command on `sunbeam01` machine:

```
$ sunbeam configure --openrc demo-openrc
```

When prompted, enter the following values:

* **Local or remote access to VMs** - type `remote` and press `Enter`,
* **CIDR of network to use for external networking** - type the value of the `CIDR` field from the “External networking” sub-section of the “Reference configuration” section and press `Enter`,
* **IP address of default gateway for external network** - type the value of the `Gateway` field from the “External networking” sub-section of the “Reference configuration” section and press `Enter`,
* **Start of IP allocation range for external network** - type the first IP address from the range defined in the `Address range` field from the “External networking” sub-section of the “Reference configuration” section and press `Enter`,
* **End of IP allocation range for external network** - type the last IP address from the range defined in the `Address range` field from the “External networking” sub-section of the “Reference configuration” section and press `Enter`,
* **Network type for access to external network** - type `flat` and press `Enter`,
* **Populate OpenStack cloud with demo user, default images, flavors etc** - type `n` and press `Enter`,
* **Username to use for access to OpenStack** - type `demo` and press `Enter`,
* **Password to use for access to OpenStack** - type `demo` and press `Enter`,
* **Network range to use for project network** - press `Enter`,
* **List of nameservers guests should use for DNS resolution** - type an IP address of a DNS server (e.g. `8.8.8.8`) accessible from the External network,
* **Enable ping and SSH access to instances?** - type `y` and press `Enter`,
* **Free network interface that will be configured for external traffic** - type the value of the `Interface name on machine` field from the “External networking” sub-section of the “Reference configuration” section and press `Enter`.

Sample output:

```
Local or remote access to VMs [local/remote] (local): remote
CIDR of network to use for external networking (10.20.20.0/24): 172.16.2.0/24
IP address of default gateway for external network (172.16.2.1): 172.16.2.1
Start of IP allocation range for external network (172.16.2.2): 172.16.2.2
End of IP allocation range for external network (172.16.2.254): 172.16.2.254
Network type for access to external network [flat/vlan] (flat): flat
Populate OpenStack cloud with demo user, default images, flavors etc [y/n] (y): y
Username to use for access to OpenStack (demo): demo
Password to use for access to OpenStack (PR********):
Network range to use for project network (192.168.122.0/24):
List of nameservers guests should use for DNS resolution (172.16.1.1): 8.8.8.8
Enable ping and SSH access to instances? [y/n] (y): y
Free network interface that will be configured for external traffic [eno2] (eno2): eno2
```

Once finished, you should be able to see the following message:

```
Writing openrc to demo-openrc ... done
```

### [Launch an instance](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#launch-an-instance)

In order to launch your first instance, execute the following command:

```
$ sunbeam launch ubuntu --name test
```

Sample output:

```
Access instance with `ssh -i /home/ubuntu/snap/openstack/456/sunbeam ubuntu@172.16.2.146`
```

Note that since “remote” access to VMs has been configured, you won’t be able to SSH into them from any of the nodes in the cluster. Copy the private key given in the above output from the launching node to an external machine with an access to the 172.16.2.0/24 network. Note that the VM will not be ready instantaneously; waiting time is mostly determined by the cloud’s available resources.

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-openstack-using-guided-installation-instructions/44744)

about
0
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#2-reference-configuration)
[*Next step*](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#4-next-steps)

## 4. Next steps

**Duration**: 2 minutes

Congratulations! You have reached the end of this tutorial.

You can now move to the next tutorial - [“3. Automate”](https://ubuntu.com/tutorials/use-the-deployment-manifest-to-benefit-from-full-automation-and-ia) - or [explore other tutorials](https://ubuntu.com/openstack/tutorials).

### [In this tutorial, you have learnt how to:](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#in-this-tutorial-you-have-learnt-how-to)

* Perform guided installation of OpenStack with Sunbeam without bare metal automation
* Launch a test instance on OpenStack

### [Where to go from here?](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#where-to-go-from-here)

* [Refer to Sunbeam documentation](https://microstack.run/docs)
* [Join the community and ask questions](https://matrix.to/#/#openstack-sunbeam:ubuntu.com)
* [Report a bug in Sunbeam](https://bugs.launchpad.net/snap-openstack/+filebug)
* [Explore Charmed OpenStack](https://ubuntu.com/openstack/features)

Was this tutorial useful?

---

[Suggest changes ›](https://discourse.ubuntu.com/t/install-openstack-using-guided-installation-instructions/44744)

about
0
minutes to go

[*Previous step*](https://ubuntu.com/tutorials/install-openstack-using-guided-installation-instructions?format=md#3-bootstrap-the-first-node)

*Next step*
