Skip to content

deploystack Client

Sorecchione07435 edited this page May 16, 2026 · 23 revisions

DeployStack — CLI Reference

Welcome to the DeployStack wiki. This page documents all available CLI commands, their arguments, and usage examples.


Table of Contents


deploy

Starts the full OpenStack deployment on the current node.

Syntax:

deploystack deploy [options]

Arguments

Argument Default Description
--allinone Generate an automatic configuration on the system and automatically start the deployment.
--config-file <config-file-path> Start deployment from an existing configuration file.
--install-cinder {yes,no} yes Install the Cinder (Block Storage) service if set to yes.
--install-horizon {yes,no} yes Install Horizon (Dashboard) if set to yes.
--lvm-image-size-in-gb <size-in-gigabytes> 5 LVM image size for Cinder.
--neutron-driver {ovs,ovn} ovs Network driver to use for Neutron.
--os-release <openstack-release> caracal The OpenStack release to install for deployment.
--generate-only Generate the configuration automatically without starting the deployment.

Examples

Generate a pre-compiled configuration file without deploying:

deploystack deploy --allinone --generate-only

Then start the deployment using the generated file:

deploystack deploy --config-file openstack-config-xxxx.yaml

generate-config

Generates an empty template configuration file that must be filled in manually before deployment.

Syntax:

deploystack generate-config FILE_PATH

Example

deploystack generate-config ~/openstack-config.yaml

Note: deploy --allinone --generate-only creates a pre-compiled configuration file for the current system, while generate-config creates an empty file that you must compile manually.


launch

Quickly launches an OpenStack instance using the default image, flavor, and network.

Syntax:

deploystack launch [options]

Arguments

Argument Default Description
--name <name> (auto-generated) Name of the instance.
--image <image> cirros Image to use.
--flavor <flavor> m1.tiny Flavor to use.
--keypair <keypair> (auto-generated) SSH key to log into the instance. Leave empty to let the utility generate a new keypair automatically.
--password <password> Password for the administrator user (for compatible Linux/Windows images only).
--network <network> internal The main network that will be connected to the instance
--timeout <seconds> 100 Maximum time to wait for the instance to become active. (Useful for large images)

Example

deploystack launch --name test-instance --password MySecret123

image upload

Upload a new Linux cloud image from the web to OpenStack distribution.

Syntax:

deploystack image upload [options]

Arguments

Argument Default Description
--os <os> Operating system of the image (ubuntu, centos, debian, etc.)
--image-name <name> (auto-generated) Name to assign to the uploaded image.
--version <version> OS version of the image.
--visibility {public,private,shared} public Visibility of the image in Glance.
--output-dir <path> /tmp Directory where the image will be temporarily downloaded.
--keep no Keep the downloaded image file after upload.
--arch <arch> amd64 Architecture of the image.
--timeout <seconds> 300 Maximum time to wait for the image to become active.

Example

Upload an Ubuntu Bionic image with default settings:

deploystack image upload --os ubuntu --version noble

Upload with a custom name and shared visibility:

deploystack image upload --os ubuntu --version noble --image-name "Ubuntu Noble" --visibility shared

Note: If --image-name is not provided, DeployStack generates a name based on OS, version, and architecture.


image remove

Removes an image from the current OpenStack deployment.

Syntax:

deploystack image remove --image <image> [--timeout <timeout>]

Arguments

Argument Default Description
--image <image> Name or ID of the image to remove from Glance.
--timeout <seconds> 300 Maximum time to wait to check if the image has been deleted in OpenStack (default: 300s)

Example

Remove an image named ubuntu-jammy-amd64:

deploystack image remove ubuntu-jammy-amd64

Warning: This operation permanently deletes the image from OpenStack. Ensure no running instances rely on this image.


volume create

Create a new volume in the OpenStack distribution

Syntax:

deploystack volume create --name <name> --size <size-in-gb> [--is-bootable] [--image <image>]

Arguments

Argument Default Description
--image <image> (auto-generated) The name of the volume to create
--size <size-in-gb> 5 The size of the volume in GB (default: 5 GB)
--is-bootable - Mark the volume as bootable. Use this flag if the volume should be usable as a boot disk
--image - Optional Glance image ID or name to create the volume from

Example

Create an empty volume:

deploystack volume create --name volume-test --size 5

volume attach

Attach the volume to a specific instance

Syntax:

deploystack volume attach --volume <name> --instance <instance>

Arguments

Argument Default Description
--volume <volume> - ID or name of the volume to attach
--instance <instance> - ID or name of the instance to attach the volume to.

Example

Attach a specific volume to an instance:

deploystack volume attach --volume volume-test --instance windows-server-2016

volume detach

Detaches a volume from an instance, bypassing the common OpenStack bug where volumes get stuck in attached or detaching state and cannot be removed through Horizon or the standard CLI.

Syntax:

deploystack volume detach --volume <volume> --instance <instance>

Arguments

Argument Default Description
--volume <volume> ID or name of the volume to detach.
--instance <instance> ID or name of the instance to detach the volume from.

How it works

Unlike the standard openstack server remove volume command, deploystack volume detach performs three steps to ensure the volume is fully released:

  1. API detach — sends the standard detach request to Nova
  2. State reset — resets the volume status to available and the attach status to detached in Cinder, resolving stuck states
  3. Database cleanup — marks the volume attachment as deleted in the Nova database, removing any stale reference that would prevent future operations

Example

deploystack volume detach --volume volume-test --instance windows-server-2016

⚠️ Note: This command directly modifies the Nova database to resolve stuck volume attachments. It is intended as a recovery tool when the standard detach operation fails or leaves the volume in an inconsistent state. Always verify the instance is not actively using the volume before running this command.


For issues or contributions, visit the project repository.

Clone this wiki locally