Skip to content

How to transfer volume ownership between projects

How-to · Updated Sep 2026

Coming from another cloud?

▸AWS·Accounts

Accountshigh

  • OpenStack Projects provide resource isolation (VMs, storage) within a single Keystone deployment; AWS Accounts are full billing/security boundaries requiring Organizations for multi-account management.
  • Projects in OS are lightweight, created via Keystone API; AWS Accounts involve separate signup or Organizations API, with inherent billing isolation.
  • Architecture: OS projects owned by domains; AWS accounts grouped in OUs under management account.
  • No direct API equivalence; OS list_projects vs AWS ListAccounts in Organizations service.
AWS docs ↗
▸Azure·Subscriptions

Azure Resource Groupshigh

  • Resource Groups store metadata in a specific region and support resources from multiple regions; OpenStack lacks formal grouping beyond projects, resources directly scoped to projects.
  • Built-in features like ARM locks (Read-only/Delete), integrated tags for cost allocation, and deployment history views; OpenStack uses project quotas and locks via extensions, no native group-level deployments.
  • Lifecycle management: Easy group delete/update via ARM templates; OpenStack deletes resources individually or via OpenTofu destroy/Heat stacks scoped to projects.
  • Portal views aggregate metrics/deployments across group; OpenStack Horizon shows per-project.
Azure docs ↗
▸DigitalOcean·Projects

Projectshigh

  • UI/organizational grouping of resources (Droplets, Spaces, etc.) into named projects with description/purpose/environment; default project exists.
  • API for CRUD projects/resources; resources moved between projects.
  • Purely organizational, no access control/billing isolation like OpenStack projects; resources still scoped by teams.
  • Three resource types: project-based, droplet-based, independent.
DigitalOcean docs ↗
▸Google Cloud·Projects

Projectshigh

  • GCP Projects have both human-readable Project ID (custom) and auto-generated numeric Project Number, used interchangeably in APIs unlike OpenStack projects which use single ID.
  • Projects required to enable billing and host all service resources; no direct equivalent to OpenStack's billing per project without linking to Billing Account.
  • Projects inherit IAM policies from Org/Folders; moving project changes inheritance, unlike flat OpenStack project isolation.
Google Cloud docs ↗
▸Hetzner·Cloud Volumes

Cloud Volumeshigh

  • Provisioned via Hetzner CSI driver (csi.hetzner.cloud), ReadWriteOnce only, min 10GB, NVMe-based.
  • Billed €0.044/GB/month until deleted, no pause; attach/detach via CSI, unlike Cinder's broader access modes (RWX via Manila).
  • Snapshots supported but no volume encryption at rest by default; location-specific (e.g., fsn1).
  • Proprietary REST API at https://api.hetzner.cloud/v1/volumes using Bearer token auth, not OpenStack Cinder API (v3 JSON over Keystone). Endpoints like POST /volumes/{id}/actions/attach, POST /volumes/{id}/actions/resize (upsize only). No /v3/{project_id}/volumes/{volume_id}/action os-extend.
Hetzner docs ↗
Before this

How to transfer volume ownership between projects

Move a block storage volume from one Quake AI project to another. The source project creates a transfer record. The target project accepts the record with the transfer ID and authorization key.

Prerequisites

Windows: CLI examples use bash. Set up a Linux CLI environment on Windows before proceeding.

  • The volume is in Available status (not attached to an instance)
  • You have access to both the source and target projects (see the callout above for credential shape)

Step 1. Create the transfer (source project)#

Step 2. Accept the transfer (target project)#

Cancel the transfer#

The source project can cancel a pending transfer before the recipient accepts it.

See also#

Usage Guidelines

The sample code, software libraries, command line tools, proofs of concept, templates, and other related technology on this page (including any of the foregoing that is provided by Quake AI personnel) is provided to you as Quake AI Content under the Quake AI Customer Agreement, or the relevant written agreement between you and Quake AI (whichever applies). Do not use this Quake AI Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the Quake AI Content (such as sample code) as appropriate for production grade use based on your specific quality control practices and standards. Deploying Quake AI Content may incur Quake AI charges for creating or using Quake AI chargeable resources, such as running Compute instances or storing data in Object Storage. Your use is also subject to the Acceptable Use Policy.

For the full policy, see Usage Guidelines.

Last validated: 01.09.2026

Quick answers

Was this page helpful?