-
Notifications
You must be signed in to change notification settings - Fork 0
Prerequisites
Five tools, one cloud account, one SSH key. Everything runs from Linux, WSL2 included.
# Azure CLI
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# Terraform
wget -O- https://apt.releases.hashicorp.com/gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/hashicorp.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp.gpg] \
https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install -y terraform
# Ansible and the OpenStack client, isolated with pipx
sudo apt install -y pipx
pipx install --include-deps ansible
pipx install python-openstackclient
pipx ensurepath && exec $SHELLpipx matters on Ubuntu 24.04: the system Python is protected, and a plain
pip install is refused. It gives each tool its own virtualenv while keeping
the command on your PATH.
az version && terraform version && ansible --version && openstack --versionmake preflight runs the same checks plus the ones this lab needs, and it is
the fastest way to know you are ready.
[[ -f ~/.ssh/id_rsa.pub ]] || ssh-keygen -t rsa -b 4096The same public key ends up in two places: on the Azure host, and inside the
OpenStack instance the demo creates. That is what makes ssh -J work in one
hop from your machine.
az login
az account showTwo limits decided the sizing of this lab, and yours may differ:
- Nested virtualization exists on the Dv3 family and later, on the E and F families, and nowhere else. The B and A series cannot run it, so Nova would fall back to software emulation
- Trusted Launch disables nested virtualization, and it is the default in the portal. The Terraform stack deliberately leaves the VM on the standard security type
If a policy restricts your subscription, list what it allows and pick a Dv3 or
later from that list. Standard_D2s_v3 is the smallest that works: 2 vCPU and
8 GB, which is DevStack's floor.
You pay per hour of running VM, nothing while it is deallocated. A three hour session costs less than a coffee. The habit to build:
make stopStopping the VM from inside Linux does not stop the billing. Only deallocation frees the reserved resources.