Skip to content

Deploy the Heat Simple Stack template with the OpenStack CLI

Deployment · Updated Jun 2026

Coming from another cloud?

▸AWS·Cloudformation EC2

This Quake AI feature maps to AWS’s Cloudformation EC2.

Deploy the Heat Simple Stack template with the OpenStack CLI

Stand up a volume-backed Ubuntu instance with Nginx on a private network and one floating IP using the Heat HOT template heat-simple-stack. The layout matches the Simple VM with Floating IP OpenTofu template, expressed as a HOT file instead of HCL.

Quake AIHeat engineRouterPrivate networkFloating IP(1)Security groupSSH + HTTPvmUbuntu instanceboot volumeNginx :80
Click to zoom
Heat simple stack topology: private network, router, security group, volume-backed instance with Nginx, and one floating IP

Prerequisites#

You need:

Step 1: Create the stack#

Pick a stack name unique in your project, such as heat-simple-demo. Pass your keypair name as the only required parameter:

bash
openstack stack create --template stack.yaml \
  --parameter key_name=YOUR_KEY_NAME \
  heat-simple-demo

Replace YOUR_KEY_NAME with the name from Compute > Key Pairs or openstack keypair list.

Watch events while the stack converges:

bash
openstack stack event list heat-simple-demo

When provisioning finishes, confirm status and read the floating IP:

bash
openstack stack show heat-simple-demo -f value -c stack_status
openstack stack output show heat-simple-demo floating_ip -f value -c output_value

Step 2: Verify Nginx#

Confirm Nginx responds on port 80 through the floating IP:

bash
curl -s --connect-timeout 10 http://$(openstack stack output show heat-simple-demo floating_ip -f value -c output_value) | head -5

You should see HTML that includes heat-simple-stack.

Optional: SSH as ubuntu with the private key that matches key_name:

bash
ssh -i YOUR_PRIVATE_KEY_PATH ubuntu@$(openstack stack output show heat-simple-demo floating_ip -f value -c output_value)

Parameter defaults (flavor, image, private_cidr) are documented on the Heat Simple Stack reference page.

Next steps#

Clean up#

Run openstack stack delete --yes heat-simple-demo when finished. Confirm the stack is gone with openstack stack list | grep heat-simple-demo. An empty result means Heat removed the instance, boot volume, router, private network, security group, and floating IP.

Quick answers

Was this page helpful?