Skip to content

OpenStack Deployment Guide

Sorecchione07435 edited this page Apr 30, 2026 · 14 revisions

Deployment Guide

This guide walks you through deploying OpenStack using Debian OpenStack Deployer. There are three available paths depending on how much control you want over the configuration.


Prerequisites

1. Uninstall Netplan and install ifupdown

Before starting the deployment, make sure your system uses ifupdown for network interface management instead of Netplan:

# Remove Netplan
sudo systemctl disable systemd-networkd
sudo apt remove --purge netplan.io -y

# Install ifupdown
sudo apt install ifupdown -y

Now that ifupdown has been successfully installed, enable it at system startup:

sudo systemctl enable networking

At this point ifupdown is ready to configure the main network.

Why? I discovered that Netplan was a bit restrictive for proper networking on Neutron, so all deployment now relies on ifupdown when configuring OVS bridges directly via ifupdown. Netplan may conflict with the network configuration performed during deployment.

2. Configuring the main interface with ifupdown

Create a new file in /etc/network/interfaces.d/network to configure the main interface with this basic configuration:

auto lo
iface lo inet loopback

auto <interface-name>
iface <interface-name> inet static
    address <your-ip>
    netmask <your-netmask>
    gateway <your-gateway>
    dns-nameservers <dns-servers> # Example: 8.8.8.8, 1.1.1.1

⚠️ Please note that this configuration file assumes an Ethernet interface. In case of other types of interfaces and configurations, adapt the configuration for your environment.

3. Restarting ifupdown

For the changes to take effect, restart the networking service:

sudo systemctl restart networking

The system is now ready for deployment.


Deployment Paths

Path 1 — Fully Automatic (Recommended)

The simplest option. The tool auto-detects your network interface, generates a configuration file, and immediately starts the deployment — all in one command.

openstack_installer deploy --allinone

That's it. Wait a few minutes and you will have a fully functional OpenStack installation.

⚠️ Note: Automatic configuration file generation is not 100% accurate. If your system has multiple network interfaces, it is recommended to use --generate-only first to review the generated configuration before deploying — in particular, verify that neutron.ovs.PUBLIC_BRIDGE_INTERFACE (or neutron.ovn.OVN_PUBLIC_BRIDGE_INTERFACE) points to the correct interface. Assigning the wrong interface to the external bridge will result in instances having no internet access.


Path 2 — Semi-Automatic (Review Before Deploying)

If you want to inspect or adjust the auto-generated configuration before deploying, use --generate-only. The tool will generate the configuration file but will not start the deployment.

Step 1 — Generate the configuration:

openstack_installer deploy --allinone --generate-only

This creates a pre-compiled file named openstack-config-xxxx.yaml in the current directory, with all network settings already filled in based on your system.

Step 2 — Review and edit the file if needed, then start the deployment:

openstack_installer deploy --config-file openstack-config-xxxx.yaml

Path 3 — Fully Manual

For users who want full control over every configuration parameter.

Step 1 — Generate an empty configuration template:

openstack_installer generate-config ~/openstack-config.yaml

Step 2 — Fill in the configuration file manually. Refer to the Configuration File Reference for a full description of every parameter.

Step 3 — Start the deployment:

openstack_installer deploy --config-file ~/openstack-config.yaml

Deployment Completion

When the deployment finishes successfully, the tool will print a summary like this:

+ *** OpenStack Deployment Completed Successfully! ***

Access your OpenStack services:
 - Horizon Dashboard: http://<HOST_IP>/dashboard
 - Keystone API:      http://<HOST_IP>:5000/

Tip: Use the ADMIN credentials you configured in your config file to log in.
Note: Make sure your firewall allows HTTP/HTTPS access to this host.
Credentials Scripts: You can find them in /root/admin-openrc.sh and /root/demo-openrc.sh

Accessing OpenStack

  • Horizon Dashboard: open http://<HOST_IP>/dashboard in your browser and log in with the admin credentials you set in the configuration file.

  • Keystone API: available at http://<HOST_IP>:5000/ for CLI or SDK access.

Credentials Scripts

Two OpenRC scripts are automatically generated and placed in /root/:

File User
/root/admin-openrc.sh admin user — full access
/root/demo-openrc.sh demo user — limited access

Source one of them to authenticate your OpenStack CLI session:

source /root/admin-openrc.sh

Now you can try to generate an authentication token:

openstack token issue
+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| expires    | 2026-04-30T15:00:00Z             |
| id         | gAAAAABk...                      |
| project_id | 1234567890abcdef                 |
| user_id    | abcdef1234567890                 |
+------------+----------------------------------+

Note: Make sure your firewall allows HTTP access to the host on port 80 (Horizon) and port 5000 (Keystone).


Summary

Path Command Use case
Fully Automatic deploy --allinone Just want OpenStack running as fast as possible
Semi-Automatic deploy --allinone --generate-onlydeploy --config-file Want to review or tweak settings before deploying
Fully Manual generate-config → edit → deploy --config-file Need full control over every parameter

For issues or contributions, visit the project repository.

Clone this wiki locally