Skip to content

Welcome to UnderStack

  • What is UnderStack?

    UnderStack is an opinionated deployment
    of OpenStack focused on bare metal provisioning
    through Ironic and its related services.
    This allows for efficiently and consistently managed hardware deployed via API-driven
    workflows across multiple data centers at scale.

    Core requirements include a pool of bare metal systems which can be controlled by
    Ironic as well as switches that can be programmed by a
    Neutron ML2 driver
    and infrastructure nodes which can host a Kubernetes cluster for the necessary
    services. In our development environment we use Dell servers and Cisco Nexus switches.

  • Features

    • OpenStack: Compute, Bare Metal, Network, Load Balancer, Block Storage, Object Storage
    • ArgoCD deployments
    • Nautobot DCIM/IPAM
    • Dex authentication
    • OVN networking
    • Prometheus monitoring and metrics stack
  • How this site is arranged

    Six starting points for five audiences, plus
    Reference for lookup. Pick the card below that
    describes what you are doing today — most people need one section and can
    ignore the rest.

    Longer background on the project's goals is in Vision.

Where do I start?

  • I am standing up a cloud


    System operator, day 0. A linear install narrative from requirements through
    to a running site cluster.

    Deploy

  • I am running a cloud


    System operator, day 2. Runbooks per service, and a troubleshooting index to
    land on when something is broken.

    Operations

    Troubleshooting

  • I am working on a machine


    Data centre technician. Enrolling hardware, device types, firmware and BMC
    access for an individual server.

    Hardware

  • I am working on the network


    Network operations. Neutron, OVN and Open vSwitch as they are deployed here,
    and the tenant networking model behind them.

    Networking

  • I am using the cloud


    Cloud tenant. Driving the OpenStack CLI and APIs to get bare metal servers,
    images and networks.

    Using the Cloud

  • I am changing UnderStack


    Contributor. Development environments, how a component becomes an ArgoCD
    Application, and how release notes work.

    Contributing