Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change storage pool scope from Cluster to Zone and vise versa #8875

Merged
merged 57 commits into from
Jun 29, 2024

Conversation

abh1sar
Copy link
Collaborator

@abh1sar abh1sar commented Apr 3, 2024

Description

This PR adds the functionality to change the scope of the Primary storage from zone to cluster scope and vice versa.

Feature is tested and supported for
Hypervisors : KVM and VMware (Simulator will also work)
Protocol : NFS and Ceph, and
Storage Provider : Default Primary

Although the supported configuration is mentioned above, the root admin can use this feature for other configurations as well, but proper warning would be given that officially this feature is only tested for a limited set of hypervisor-storage configuration. And other configurations might not work and need some extra steps.
We will give this information in the UI prompt as well as Api docs. Apache CloudStack documentation will also get a mention on what hypervisors/storage is supported.

Documentation PR : apache/cloudstack-documentation#395

The option for scope change is provided as a new action button to root admin once a Primary storage has been disabled.

A new api changeStoragePoolScope handles the execution after doing all relevant checks. It makes DB changes and also connects to the hypervisor hosts to add or remove the storage pool as required. It adds the storage pool to the applicable hosts when the scope is changing from Cluster to Zone. And it removes the storage pool from the hosts when the scope is changing from Zone to Cluster. Management server or the Cloudstack agents don’t need to be restarted for this.

Scope change from Zone to Cluster cannot be done if there are volumes associated with running-VMs belonging to other clusters. Api will throw an error in this case.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • build/CI

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

Screenshot from 2024-04-02 02-45-12

image

image

Error while moving the scope from zone to cluster and "list affectedvmsforstoragescopechange" response
Screenshot from 2024-05-22 10-32-42
Screenshot from 2024-05-22 10-32-56

How Has This Been Tested?

KVM + NFS

Cluster to Zone
  1. Verified that Scope is changing correctly. Hosts in other clusters have the storage pool mounted.
  2. New instance on other clusters are able to use the storage pool
  3. Offline a host in Cluster C2. Change the scope from C1 to Zone. Online the host and verify that the storage pool gets mounted on the host.
Zone to Cluster
  1. Verified that Scope is changing correctly. Hosts in other clusters don't have the storage pool mounted.
  2. Offline a host in Cluster C2. Change the scope from Zone to Cluster C1. Online the host and verify that the storage pool gets gets removed from the host.
  3. Deploy a VM in Cluster C2 having a volume in the Zone wide storage pool. Change scope from Zone to C1 fails as we have a volume from C2 in the storage pool.
  4. Repeat of # 2 but the VM is in stopped state. This time scope change from Zone to C1 succeeds. Restart of the VM succeeds in C1 as the storage pool is now present in C1.

VMware + NFS

Tested basic functionality.

How did you try to break this feature and the system with this change?

@abh1sar abh1sar changed the title New feature: Change storage pool scope from Cluster to Zone and vise versa Change storage pool scope from Cluster to Zone and vise versa Apr 3, 2024
@rohityadavcloud rohityadavcloud added this to the 4.19.1.0 milestone Apr 3, 2024
@rohityadavcloud
Copy link
Member

@blueorangutan package

@blueorangutan
Copy link

@rohityadavcloud a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 9138

@andrijapanicsb
Copy link
Contributor

@blueorangutan test

@blueorangutan
Copy link

@andrijapanicsb a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Copy link
Member

@vishesh92 vishesh92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a quick review. Left some comments.

@codecov-commenter
Copy link

codecov-commenter commented Apr 3, 2024

Codecov Report

Attention: Patch coverage is 48.17927% with 185 lines in your changes missing coverage. Please review.

Project coverage is 15.77%. Comparing base (814c8b6) to head (1b698c1).

Files Patch % Lines
...ain/java/com/cloud/storage/StorageManagerImpl.java 44.61% 23 Missing and 13 partials ⚠️
...loudstack/api/response/VirtualMachineResponse.java 32.69% 35 Missing ⚠️
...mmand/admin/storage/ChangeStoragePoolScopeCmd.java 13.88% 31 Missing ⚠️
...n/java/com/cloud/resource/ResourceManagerImpl.java 0.00% 16 Missing ⚠️
.../main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java 50.00% 11 Missing ⚠️
...in/vm/ListAffectedVmsForStorageScopeChangeCmd.java 23.07% 10 Missing ⚠️
...ain/java/com/cloud/api/query/QueryManagerImpl.java 75.67% 3 Missing and 6 partials ⚠️
.../com/cloud/storage/dao/StoragePoolHostDaoImpl.java 46.15% 7 Missing ⚠️
...e/lifecycle/BasePrimaryDataStoreLifeCycleImpl.java 86.04% 4 Missing and 2 partials ⚠️
...orage/volume/datastore/PrimaryDataStoreHelper.java 86.48% 4 Missing and 1 partial ⚠️
... and 10 more
Additional details and impacted files
@@             Coverage Diff              @@
##               4.19    #8875      +/-   ##
============================================
+ Coverage     15.01%   15.77%   +0.76%     
- Complexity    11086    11121      +35     
============================================
  Files          5393     5033     -360     
  Lines        471529   442426   -29103     
  Branches      59743    53754    -5989     
============================================
- Hits          70788    69782    -1006     
+ Misses       392854   364872   -27982     
+ Partials       7887     7772     -115     
Flag Coverage Δ
uitests ?
unittests 15.77% <48.17%> (+0.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@vishesh92
Copy link
Member

@abh1sar lint Github action is failing due to missing eof in some files.

ui/public/locales/en.json Outdated Show resolved Hide resolved
@blueorangutan
Copy link

[SF] Trillian test result (tid-9682)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 52569 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8875-t9682-kvm-centos7.zip
Smoke tests completed. 127 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_01_primary_storage_scope_change Error 0.06 test_primary_storage.py
test_02_trigger_shutdown Failure 341.66 test_safe_shutdown.py

@kiranchavala
Copy link
Contributor

@blueorangutan test

@blueorangutan
Copy link

@kiranchavala a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan
Copy link

[SF] Trillian test result (tid-10643)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32145 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8875-t10643-kvm-centos7.zip
Smoke tests completed. 98 look OK, 34 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
ContextSuite context=TestTemplateHierarchy>:setup Error 8.31 test_accounts.py
test_01_events_resource Failure 0.02 test_events_resource.py
ContextSuite context=TestDeployVmWithAffinityGroup>:setup Error 0.00 test_affinity_groups.py
ContextSuite context=TestMultipleVolumeAttach>:setup Error 0.00 test_attach_multiple_volumes.py
ContextSuite context=TestDummyBackupAndRecovery>:setup Error 0.00 test_backup_recovery_dummy.py
ContextSuite context=TestVeeamBackupAndRecovery>:setup Error 0.00 test_backup_recovery_veeam.py
test_01_condensed_drs_algorithm Error 0.00 test_cluster_drs.py
test_02_balanced_drs_algorithm Error 0.00 test_cluster_drs.py
ContextSuite context=TestConsoleEndpoint>:setup Error 0.00 test_console_endpoint.py
test_01_deploy_vm_with_extraconfig_throws_exception_kvm Error 0.08 test_deploy_vm_extra_config_data.py
test_02_deploy_vm_with_extraconfig_kvm Error 0.06 test_deploy_vm_extra_config_data.py
test_03_update_vm_with_extraconfig_kvm Error 0.07 test_deploy_vm_extra_config_data.py
ContextSuite context=TestDeployVmRootSize>:setup Error 0.00 test_deploy_vm_root_resize.py
ContextSuite context=TestHostControlState>:setup Error 27.27 test_host_control_state.py
ContextSuite context=TestImportAndUnmanageVolumes>:setup Error 0.00 test_import_unmanage_volumes.py
test_11_test_unmanaged_cluster_lifecycle Error 2.24 test_kubernetes_clusters.py
ContextSuite context=TestListVolumes>:setup Error 0.00 test_list_volumes.py
ContextSuite context=TestNetworkMigration>:setup Error 0.00 test_migration.py
test_03_network_operations_on_created_vm_of_otheruser Error 1.20 test_network_permissions.py
test_04_deploy_vm_for_other_user_and_test_vm_operations Failure 0.04 test_network_permissions.py
ContextSuite context=TestSharedNetwork>:setup Error 51.59 test_network.py
test_01_nic Error 0.08 test_nic.py
test_01_non_strict_host_anti_affinity Error 2.18 test_nonstrict_affinity_group.py
test_02_non_strict_host_affinity Error 2.21 test_nonstrict_affinity_group.py
ContextSuite context=TestL2PersistentNetworks>:setup Error 0.00 test_persistent_network.py
test_01_add_primary_storage_disabled_host Failure 0.06 test_primary_storage.py
test_01_primary_storage_iscsi Failure 0.06 test_primary_storage.py
test_01_primary_storage_nfs Failure 0.06 test_primary_storage.py
ContextSuite context=TestStorageTags>:setup Error 0.12 test_primary_storage.py
ContextSuite context=TestPrivateGwACLOvsGRE>:setup Error 0.00 test_privategw_acl_ovs_gre.py
ContextSuite context=TestTemplates>:setup Error 35.65 test_templates.py
test_01_positive_tests_usage Failure 3.25 test_usage_events.py
ContextSuite context=TestLBRuleUsage>:setup Error 2.23 test_usage.py
ContextSuite context=TestNatRuleUsage>:setup Error 2.27 test_usage.py
ContextSuite context=TestPublicIPUsage>:setup Error 2.32 test_usage.py
ContextSuite context=TestSnapshotUsage>:setup Error 2.36 test_usage.py
ContextSuite context=TestTemplateUsage>:setup Error 2.40 test_usage.py
ContextSuite context=TestVmUsage>:setup Error 2.45 test_usage.py
ContextSuite context=TestVolumeUsage>:setup Error 2.54 test_usage.py
ContextSuite context=TestVpnUsage>:setup Error 2.59 test_usage.py
ContextSuite context=TestVmAutoScaling>:setup Error 0.00 test_vm_autoscaling.py
test_01_deploy_vm_on_specific_host Error 0.04 test_vm_deployment_planner.py
test_02_deploy_vm_on_specific_cluster Error 0.04 test_vm_deployment_planner.py
test_03_deploy_vm_on_specific_pod Error 0.06 test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_cluster Error 0.07 test_vm_deployment_planner.py
test_05_deploy_vm_on_cluster_override_pod Error 0.05 test_vm_deployment_planner.py
ContextSuite context=TestDeployVM>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestKVMLiveMigration>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestMigrateVMwithVolume>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestSecuredVmMigration>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestVMLifeCycle>:setup Error 0.05 test_vm_life_cycle.py
ContextSuite context=TestUnmanageVM>:setup Error 0.00 test_vm_lifecycle_unmanage_import.py
ContextSuite context=TestVMSchedule>:setup Error 0.00 test_vm_schedule.py
ContextSuite context=TestVmSnapshot>:setup Error 0.05 test_vm_snapshots.py
ContextSuite context=TestVnfTemplates>:setup Error 0.00 test_vnf_templates.py
ContextSuite context=TestCreateVolume>:setup Error 0.00 test_volumes.py
ContextSuite context=TestVolumeEncryption>:setup Error 0.00 test_volumes.py
ContextSuite context=TestVolumes>:setup Error 0.00 test_volumes.py
test_02_cancel_host_maintenace_with_migration_jobs Failure 0.12 test_host_maintenance.py
test_03_cancel_host_maintenace_with_migration_jobs_failure Error 0.18 test_host_maintenance.py
ContextSuite context=TestHostMaintenanceAgents>:setup Error 0.24 test_host_maintenance.py

Copy link
Contributor

@kiranchavala kiranchavala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, Tested it manually

Was able to change the scope of primary storage from clusterwide to zonewide (vice-versa)

Tested with nfs, ceph,powerflex, vmware, KVM environments

The api calls are working fine

change storagepoolscop
list affectedvmsforstoragescopechange

Please find the test case list

Test Case Result
Change the scope of cluster wide storage to zone wide storage Pass
Change the scope of storage pool from zone wide to cluster wide Pass
Change the scope of a local storage Pass
Events should be logged whenever there is primary storage scope changed Pass
Non admin user should not be allowed to change the primary storage scope Pass
The database entries in the op_host_capacity and storage_pool tables must be updated Pass
Test the storage scope change for a ceph primary storage Pass
Test the strorage scope change for a Powerflex storage Pass
Test the storage scope change on a vmware env Pass
Test the api call List affectedvmsforstoragescopechange Pass
Test the list affectedvmsforstoragescopechange api call when the storage pool is in enabled state Pass

@blueorangutan
Copy link

[SF] Trillian test result (tid-10644)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 35076 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8875-t10644-kvm-centos7.zip
Smoke tests completed. 98 look OK, 34 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
ContextSuite context=TestTemplateHierarchy>:setup Error 7.71 test_accounts.py
test_01_events_resource Failure 0.02 test_events_resource.py
ContextSuite context=TestDeployVmWithAffinityGroup>:setup Error 0.00 test_affinity_groups.py
ContextSuite context=TestMultipleVolumeAttach>:setup Error 0.00 test_attach_multiple_volumes.py
ContextSuite context=TestDummyBackupAndRecovery>:setup Error 0.00 test_backup_recovery_dummy.py
ContextSuite context=TestVeeamBackupAndRecovery>:setup Error 0.00 test_backup_recovery_veeam.py
test_01_condensed_drs_algorithm Error 0.00 test_cluster_drs.py
test_02_balanced_drs_algorithm Error 0.00 test_cluster_drs.py
ContextSuite context=TestConsoleEndpoint>:setup Error 0.00 test_console_endpoint.py
test_01_deploy_vm_with_extraconfig_throws_exception_kvm Error 0.10 test_deploy_vm_extra_config_data.py
test_02_deploy_vm_with_extraconfig_kvm Error 0.07 test_deploy_vm_extra_config_data.py
test_03_update_vm_with_extraconfig_kvm Error 0.07 test_deploy_vm_extra_config_data.py
ContextSuite context=TestDeployVmRootSize>:setup Error 0.00 test_deploy_vm_root_resize.py
ContextSuite context=TestHostControlState>:setup Error 27.25 test_host_control_state.py
ContextSuite context=TestImportAndUnmanageVolumes>:setup Error 0.00 test_import_unmanage_volumes.py
test_11_test_unmanaged_cluster_lifecycle Error 3.26 test_kubernetes_clusters.py
ContextSuite context=TestListVolumes>:setup Error 0.00 test_list_volumes.py
ContextSuite context=TestNetworkMigration>:setup Error 0.00 test_migration.py
test_03_network_operations_on_created_vm_of_otheruser Error 1.19 test_network_permissions.py
test_04_deploy_vm_for_other_user_and_test_vm_operations Failure 0.05 test_network_permissions.py
ContextSuite context=TestSharedNetwork>:setup Error 56.70 test_network.py
test_01_nic Error 0.06 test_nic.py
test_01_non_strict_host_anti_affinity Error 1.16 test_nonstrict_affinity_group.py
test_02_non_strict_host_affinity Error 1.17 test_nonstrict_affinity_group.py
ContextSuite context=TestL2PersistentNetworks>:setup Error 0.00 test_persistent_network.py
test_01_add_primary_storage_disabled_host Failure 0.07 test_primary_storage.py
test_01_primary_storage_iscsi Failure 0.07 test_primary_storage.py
test_01_primary_storage_nfs Failure 0.07 test_primary_storage.py
ContextSuite context=TestStorageTags>:setup Error 0.14 test_primary_storage.py
ContextSuite context=TestPrivateGwACLOvsGRE>:setup Error 0.00 test_privategw_acl_ovs_gre.py
ContextSuite context=TestTemplates>:setup Error 25.32 test_templates.py
test_01_positive_tests_usage Failure 3.19 test_usage_events.py
ContextSuite context=TestLBRuleUsage>:setup Error 2.22 test_usage.py
ContextSuite context=TestNatRuleUsage>:setup Error 2.28 test_usage.py
ContextSuite context=TestPublicIPUsage>:setup Error 2.33 test_usage.py
ContextSuite context=TestSnapshotUsage>:setup Error 2.38 test_usage.py
ContextSuite context=TestTemplateUsage>:setup Error 2.44 test_usage.py
ContextSuite context=TestVmUsage>:setup Error 2.49 test_usage.py
ContextSuite context=TestVolumeUsage>:setup Error 2.59 test_usage.py
ContextSuite context=TestVpnUsage>:setup Error 2.64 test_usage.py
ContextSuite context=TestVmAutoScaling>:setup Error 0.00 test_vm_autoscaling.py
test_01_deploy_vm_on_specific_host Error 0.05 test_vm_deployment_planner.py
test_02_deploy_vm_on_specific_cluster Error 0.04 test_vm_deployment_planner.py
test_03_deploy_vm_on_specific_pod Error 0.07 test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_cluster Error 0.07 test_vm_deployment_planner.py
test_05_deploy_vm_on_cluster_override_pod Error 0.05 test_vm_deployment_planner.py
ContextSuite context=TestDeployVM>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestKVMLiveMigration>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestMigrateVMwithVolume>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestSecuredVmMigration>:setup Error 0.00 test_vm_life_cycle.py
ContextSuite context=TestVMLifeCycle>:setup Error 0.06 test_vm_life_cycle.py
ContextSuite context=TestUnmanageVM>:setup Error 0.00 test_vm_lifecycle_unmanage_import.py
ContextSuite context=TestVMSchedule>:setup Error 0.00 test_vm_schedule.py
ContextSuite context=TestVmSnapshot>:setup Error 0.05 test_vm_snapshots.py
ContextSuite context=TestVnfTemplates>:setup Error 0.00 test_vnf_templates.py
ContextSuite context=TestCreateVolume>:setup Error 0.00 test_volumes.py
ContextSuite context=TestVolumeEncryption>:setup Error 0.00 test_volumes.py
ContextSuite context=TestVolumes>:setup Error 0.00 test_volumes.py
test_02_cancel_host_maintenace_with_migration_jobs Failure 0.13 test_host_maintenance.py
test_03_cancel_host_maintenace_with_migration_jobs_failure Error 0.18 test_host_maintenance.py
ContextSuite context=TestHostMaintenanceAgents>:setup Error 0.25 test_host_maintenance.py

@abh1sar
Copy link
Collaborator Author

abh1sar commented Jun 28, 2024

@blueorangutan package

@blueorangutan
Copy link

@abh1sar a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 10188

@sureshanaparti
Copy link
Contributor

@blueorangutan package

@blueorangutan
Copy link

@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@abh1sar
Copy link
Collaborator Author

abh1sar commented Jun 28, 2024

@blueorangutan package

@blueorangutan
Copy link

@abh1sar a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@apache apache deleted a comment from blueorangutan Jun 28, 2024
@apache apache deleted a comment from blueorangutan Jun 28, 2024
@apache apache deleted a comment from abh1sar Jun 28, 2024
@blueorangutan
Copy link

Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 10197

@abh1sar
Copy link
Collaborator Author

abh1sar commented Jun 28, 2024

@blueorangutan test

@blueorangutan
Copy link

@abh1sar a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@apache apache deleted a comment from blueorangutan Jun 28, 2024
@blueorangutan
Copy link

[SF] Trillian test result (tid-10679)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43727 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8875-t10679-kvm-centos7.zip
Smoke tests completed. 132 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File

@abh1sar abh1sar marked this pull request as ready for review June 29, 2024 02:12
@sureshanaparti
Copy link
Contributor

Merging based on reviews, manual & smoke tests.

@sureshanaparti sureshanaparti merged commit 063dc60 into apache:4.19 Jun 29, 2024
25 of 26 checks passed
@abh1sar abh1sar deleted the 419-changescope branch June 29, 2024 04:56
dhslove pushed a commit to ablecloud-team/ablestack-cloud that referenced this pull request Jul 2, 2024
…#8875)

* New feature: Change storage pool scope

* Added checks for Ceph/RBD

* Update op_host_capacity table on primary storage scope change

* Storage pool scope change integration test

* pull 8875 : Addressed review comments

* Pull 8875: remove storage checks, AbstractPrimayStorageLifeCycleImpl class

* Pull 8875: Fixed integration test failure

* Pull 8875: Review comments

* Pull 8875: review comments + broke changeStoragePoolScope into smaller functions

* Added UT for changeStoragePoolScope

* Rename AbstractPrimaryDataStoreLifeCycleImpl to BasePrimaryDataStoreLifeCycleImpl

* Pull 8875: Dao review comments

* Pull 8875: Rename changeStoragePoolScope.vue to ChangeStoragePoolScope.vue

* Pull 8875: Created a new smokes test file + A single warning msg in ui

* Pull 8875: Added cleanup in test_primary_storage_scope.py

* Pull 8875: Type in en.json

* Pull 8875: cleanup array in test_primary_storage_scope.py

* Pull:8875 Removing extra whitespace at eof of StorageManagerImplTest

* Pull 8875: Added UT for PrimaryDataStoreHelper and BasePrimaryDataStoreLifeCycleImpl

* Pull 8875: Added license header

* Pull 8875: Fixed sql query for vmstates

* Pull 8875: Changed icon plus info on disabled mode in apidoc

* Pull 8875: Change scope should not work for local storage

* Pull 8875: Change scope completion event

* Pull 8875: Added api findAffectedVmsForStorageScopeChange

* Pull 8875: Added UT for findAffectedVmsForStorageScopeChange and removed listByPoolIdVMStatesNotInCluster

* Pull 8875: Review comments + Vm name in response

* Pull 8875: listByVmsNotInClusterUsingPool was returning duplicate VM entries because of multiple volumes in the VM satisfying the criteria

* Pull 8875: fixed listAffectedVmsForStorageScopeChange UT

* listAffectedVmsForStorageScopeChange should work if the pool is not disabled

* Fix listAffectedVmsForStorageScopeChangeTest UT

* Pull 8875: add volume.removed not null check in VmsNotInClusterUsingPool query

* Pull 8875: minor refactoring in changeStoragePoolScopeToCluster

* Update server/src/main/java/com/cloud/storage/StorageManagerImpl.java

* fix eof

* changeStoragePoolScopeToZone should connect pool to all Up hosts

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet