← Writing

March 1, 2016

GhettoStack: Home Install of OpenStack with Fuel

Full OpenStack deployment on used Dell R710 servers and a retired Cisco 3548 switch — because production-grade infrastructure should not require a data center budget.

Install of OpenStack with Fuel on Dell R710 hardware and Cisco Catalyst 3548 networking. Originally done with Fuel 7; this configuration works with Fuel 7 through 10.


The Ghetto Stack Philosophy

The hardware used in this article is outdated by contemporary standards. The networking is minimal — just enough to make it work. This is intentional. The "Ghetto Stack" theme reflects a real constraint: prior generation servers are being recycled out of data centers. For servers in this price range, operational costs (shipping, electrical, labor) will exceed the purchase price of the hardware within a year. That is not a bug — it is the budget reality for anyone building a private cloud without enterprise infrastructure spend.

Target hardware cost at time of writing:

This configuration requires a managed switch. Individual ports must be configured for separate VLANs. A commodity NAT router provides internet-accessible addresses. Three NAT instances are used in this design. The workstation used for configuration has IP addresses in three separate network segments.


Network Design

Home Network — First NAT device, gateway to the ISP. Example: 192.168.0.1/24. Isolated to VLAN 2. This network is left in place and not modified.

Fuel Network — 10.20.0.0/24. Default Fuel server address is 10.20.0.2/24. Fuel runs its own DHCP, BOOTP, and DNS on this segment. Assigned to VLAN 1. Switch ports configured with switchport trunk encapsulation dot1q. Untagged packets land on VLAN 1; tagged traffic is switched to the correct ports.

Public Network — 172.16.0.0/24 by default. Fuel expects this on a separate interface on each OpenStack node. Ethernet switch ports connecting to the public interface on each host were tagged to VLAN 100 (Cisco: VLAN Native).

Private/Storage Networks — OpenStack internal traffic isolated to additional VLANs as required by Fuel defaults.


Why OpenStack Still Matters

When I was running an ISP in the nineties, I needed something like OpenStack and it didn't exist. We provisioned everything by hand — every host, every service, every routing rule. OpenStack is the first serious open answer to that problem: an API-driven, auditable, multi-tenant infrastructure platform that you can run yourself.

The commercial cloud providers (AWS, GCP, Azure) solved the same problem for most people. But they introduced a new dependency: your infrastructure now lives in someone else's data center under someone else's terms. For certain use cases — regulatory, security, cost at scale — running your own OpenStack is still the right answer.

GhettoStack is proof that the barrier to entry is lower than it looks.


Fuel Installer Notes

Fuel is an OpenStack deployment and lifecycle management tool. It handles node discovery via PXE/BOOTP, network verification, and role assignment (controller, compute, storage). The Fuel master node runs on the Fuel Network and uses DHCP to provision all other nodes.

Hardware requirements for a working multi-node deployment:

At 24 GB per node the install completes but the resulting stack has issues under load. 64 GB per node is the practical floor for a useful deployment.


Switch Configuration (Cisco 3548)

! Trunk port to Fuel/management workstation
interface GigabitEthernet0/1
 switchport trunk encapsulation dot1q
 switchport mode trunk
 switchport trunk allowed vlan 1,2,100

! Access port example (node public interface → VLAN 100)
interface GigabitEthernet0/2
 switchport access vlan 100
 switchport mode access

The Ghetto Stack approach is deliberately minimal. Once you understand the network segmentation, scaling up to production hardware is a straightforward extension of the same design.