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:
- Dell R710 (2× quad-core CPU, 24+ GB RAM, drives, dual PSU): ~$250 each
- Cisco Catalyst 3548 managed switch: recovered from garage retirement
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:
- Each node: 2× quad-core CPU, minimum 24 GB RAM (64 GB recommended)
- The Fuel AIO (all-in-one) host requires 96 GB RAM; ~20-30 GB consumed for paging and caching
- Minimum 100 MB networking (Gigabit preferred)
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 accessThe 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.