Virtualized OpenStack single-node installation with Fuel on Ubuntu KVM.
This document covers a complete install of OpenStack on one physical host. The result is a KVM host running Fuel, Controller, and Compute all virtualized. The host configuration is designed to let Fuel run with all defaults — which makes this the lowest-friction path for a first-time installer.
Host OS: Ubuntu 16.04 Desktop
Fuel version: 9.x
RAM required: 96 GB minimum on the physical host
Why AIO
A multi-node GhettoStack deployment requires at least three physical machines, a managed switch, and careful VLAN configuration. The AIO approach collapses all of that onto one host. It is the right starting point before committing to hardware.
The tradeoff: the AIO install is not suitable for production. Fuel, the controller, and compute nodes all compete for resources on the same physical host. Under any meaningful load, you will hit memory pressure. Use AIO to learn the Fuel workflow and the OpenStack topology, then graduate to physical nodes.
Host Network Setup
The physical host needs two things: internet access and enough virtual interfaces for Fuel to discover its nodes. KVM bridges handle the latter.
Create the following bridges in /etc/network/interfaces:
# Fuel admin network
auto br-fuel
iface br-fuel inet static
address 10.20.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
# Public network
auto br-public
iface br-public inet static
address 172.16.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp offEnable IP forwarding and NAT to give the Fuel network internet access:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -j MASQUERADEFuel VM
Download the Fuel 9.x ISO. Create a KVM VM with:
- 4 vCPUs, 4 GB RAM
- Two NICs: one on br-fuel, one on br-public
- Boot from the Fuel ISO
Fuel installs its own OS (CentOS-based). After install, the Fuel UI is available at http://10.20.0.2:8000.
OpenStack Nodes
Create KVM VMs for the combined controller/compute node:
- 8+ vCPUs, 80+ GB RAM (leaves headroom for the host OS)
- Three NICs: br-fuel, br-public, br-management
- PXE boot enabled on the first NIC (br-fuel)
Power on the node VMs. Fuel discovers them via PXE on the admin network and they appear in the Fuel UI as unallocated nodes. Assign roles (combined controller+compute for AIO), verify network configuration, and deploy.
Fuel Defaults That Matter
Fuel makes enough choices by default to produce a working OpenStack. The ones to understand:
- Admin/PXE network: 10.20.0.0/24 (don't change this without good reason)
- Fuel assumes the admin network has internet access — handled by the NAT rule above
- Storage and management networks are auto-assigned VLANs within the admin segment by default
- Nova uses KVM as the hypervisor (nested virtualization must be enabled on the host)
Enable nested KVM on the host:
echo 'options kvm_intel nested=1' > /etc/modprobe.d/kvm-nested.conf
modprobe -r kvm_intel && modprobe kvm_intelAfter a successful deploy, the Horizon dashboard is available on the public network. The AIO gives you a fully functional OpenStack environment — Nova, Neutron, Glance, Keystone, Cinder — on one host.