Skip to content

Cloudstack assigns Volume to wrong host #11828

Closed

Description

@HeinzM

Problem:

  1. Deploy Instances with terraform
  2. Cloudstack creates Instances and Volumes
  3. Volumes were mapped to wrong host, even to hosts of different cluster ( Primary Storage is set to cluster scope)

Setup:
CloudStack 4.21.0
OS: Rocky Linux 9.6
Hypervisor: KVM/QEMU
Primary Storage: Powerflex 4.6.1.0 (715)
Secondary Storage: NFS

Infrastruce-Setup:
1 Zone
2 Pods with 1 Cluster each
4 Hosts in each Cluster

example:

Image Image Image Image

Currently, a working state can occasionally be achieved with very frequent deployment runs.
Most of the time, the mapping is not executed correctly.

Activity

  1. boring-cyborg commented on Oct 13, 2025

    @boring-cyborg

    Thanks for opening your first issue here! Be sure to follow the issue template!

  2. HeinzM commented on Oct 13, 2025

    @HeinzM
    Author

    We created a new Deployment.
    VR with ID 330
    Instance 1 with ID 329
    and Instance 2 with ID 331.
    The Volumes are named correctly in CloudStack.

    Image

    but in Powerflex the following volumes appear:

    Image
  3. HeinzM commented on Oct 13, 2025

    @HeinzM
    Author

    Is there any connection with the missing host_ip entries in the database?

    Image
  4. sureshanaparti commented on Oct 13, 2025

    @sureshanaparti
    Contributor

    Hi @HeinzM There is no connection with the host_ip entries for the PowerFlex volumes. Are the PowerFlex storage pools (i.e. primary storages with cluster scope) added in each CloudStack cluster belongs to same or different PowerFlex storage cluster?

    pool_id column in cloud.volumes table maps to the current storage pool of the volume, and storage host details are in cloud.storage_pool table. Can you query with the following sql:

    SELECT vol.name, vol.pool_id, vol.last_pool_id, vol.instance_id, vol.device_id, vol.size, vol.path, pool.name AS pool_name, pool.cluster_id AS pool_cluster_id, pool.host_address AS pool_host_address, pool.path AS pool_path FROM cloud.volumes vol JOIN cloud.storage_pool pool ON vol.pool_id = pool.id WHERE vol.instance_id IN (329, 330, 331);

  5. HeinzM commented on Oct 13, 2025

    @HeinzM
    Author

    Hello @sureshanaparti,
    there is one specific storage system per cluster. cluster 1 gets powerflex system 1 and cluster 2 gets powerflex system 2.
    The pfx systems are individual clusters
    The query gets the following result:

    Image
  6. sureshanaparti commented on Oct 13, 2025

    @sureshanaparti
    Contributor

    Hello @sureshanaparti, there is one specific storage system per cluster. cluster 1 gets powerflex system 1 and cluster 2 gets powerflex system 2. The pfx systems are individual clusters The query gets the following result:

    Image

    @HeinzM I don't issue any issue with storage pool host assignment for all these volumes. If your concern is regarding the host_ip column in cloud.volumes table, it is not applicable for PowerFlex volumes. The PowerFlex volume mapping is based on the host_id column in the vm_instance table (for the volumes attached to the instance, check instance_id column in the cloud.volumes table).

  7. HeinzM commented on Oct 13, 2025

    @HeinzM
    Author

    I'm confused right now. I expected that the volume name in cloudstack matches the volume descriptor in powerflex.

  8. sureshanaparti commented on Oct 14, 2025

    @sureshanaparti
    Contributor

    I'm confused right now. I expected that the volume name in cloudstack matches the volume descriptor in powerflex.

    @HeinzM Is it clear now? Are you looking for any other information?

  9. locked and limited conversation to collaborators on Oct 14, 2025
  10. converted this issue into a discussion #11837 on Oct 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions