cloudstack
cloudstack copied to clipboard
Improve error message on storage tags update
Description
This PR aims to improve the error message while trying to update the storage tags of a Disk Offering when none of the Primary Storages have that set of storage tags. The current behavior only showed the ID of the Disk Offering and Storage Pools. This PR improves the error message to display the UUID of these components, as well as their names and the volumes using that Disk Offering. Furthermore, it was added unit tests for the modified method updateOfferingTagsIfIsNotNull
.
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)
- [x] Enhancement (improves an existing feature and functionality)
- [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
- [ ] Major
- [x] Minor
Screenshots (if appropriate):
How Has This Been Tested?
This was tested in a local lab trying to update the storage tags of a disk offering, when none of the primary storages had that set of storage tags. The error message returned is in the Screenshots section.
Found UI changes, kicking a new UI QA build @blueorangutan ui
PR Coverage Report
CLASS | INSTRUCTION MISSED | INSTRUCTION COVERED | BRANCH MISSED | BRANCH COVERED | LINE MISSED | LINE COVERED |
---|---|---|---|---|---|---|
Network | 554 | 0 | 42 | 0 | 107 | 0 |
Volume | 109 | 0 | 2 | 0 | 44 | 0 |
VirtualMachineGuru | 78 | 0 | 4 | 0 | 15 | 0 |
NetworkOrchestrationService | 0 | 101 | 0 | 0 | 0 | 10 |
StorageManager | 0 | 211 | 0 | 0 | 0 | 18 |
AgentAttache | 1042 | 0 | 124 | 0 | 219 | 0 |
ClusteredAgentManagerImpl | 2361 | 0 | 242 | 0 | 536 | 0 |
ConnectedAgentAttache | 149 | 0 | 20 | 0 | 40 | 0 |
VirtualMachineManagerImpl | 15659 | 0 | 1500 | 0 | 3079 | 0 |
NetworkOrchestrator | 9806 | 0 | 1206 | 0 | 1928 | 0 |
VolumeOrchestrator | 5170 | 0 | 560 | 0 | 977 | 0 |
DataCenterVnetVO | 58 | 0 | 0 | 0 | 24 | 0 |
VlanVO | 186 | 0 | 2 | 0 | 72 | 0 |
EventVO | 140 | 0 | 0 | 0 | 58 | 0 |
HostDaoImpl | 4983 | 0 | 180 | 0 | 803 | 0 |
AccountGuestVlanMapVO | 46 | 0 | 0 | 0 | 19 | 0 |
NetworkDaoImpl | 3307 | 0 | 116 | 0 | 467 | 0 |
NetworkOfferingVO | 414 | 31 | 0 | 0 | 126 | 12 |
SnapshotVO | 172 | 58 | 12 | 0 | 48 | 20 |
VolumeVO | 529 | 133 | 4 | 0 | 179 | 39 |
SnapshotDaoImpl | 768 | 0 | 8 | 0 | 128 | 0 |
VolumeDaoImpl | 2545 | 0 | 56 | 0 | 408 | 0 |
SystemVmTemplateRegistration | 1773 | 0 | 86 | 0 | 376 | 0 |
Upgrade41520to41600 | 262 | 17 | 16 | 0 | 62 | 5 |
Upgrade41610to41700 | 159 | 7 | 6 | 0 | 43 | 2 |
DomainRouterVO | 116 | 50 | 0 | 0 | 41 | 14 |
ConsoleProxyDaoImpl | 635 | 0 | 20 | 0 | 144 | 0 |
DomainRouterDaoImpl | 1600 | 0 | 22 | 0 | 228 | 0 |
DirectDownloadCertificateHostMapDaoImpl | 121 | 0 | 0 | 0 | 18 | 0 |
DirectDownloadCertificateHostMapVO | 54 | 0 | 4 | 0 | 19 | 0 |
PrimaryDataStoreDaoImpl | 1244 | 597 | 62 | 10 | 212 | 79 |
AncientDataMotionStrategy | 1458 | 52 | 170 | 4 | 338 | 10 |
DefaultSnapshotStrategy | 758 | 220 | 100 | 10 | 164 | 37 |
SnapshotDataFactoryImpl | 152 | 58 | 15 | 5 | 37 | 13 |
SnapshotObject | 748 | 30 | 64 | 0 | 151 | 11 |
DefaultVMSnapshotStrategy | 486 | 677 | 52 | 30 | 100 | 140 |
SnapshotDataStoreDaoImpl | 1683 | 60 | 44 | 2 | 292 | 13 |
DefaultHostListener | 537 | 0 | 40 | 0 | 101 | 0 |
VolumeObject | 773 | 665 | 77 | 39 | 178 | 117 |
CloudStackContextLoaderListener | 77 | 0 | 2 | 0 | 21 | 0 |
LibvirtComputingResource | 8888 | 1988 | 1087 | 147 | 1983 | 451 |
LibvirtVMDef | 37 | 114 | 6 | 4 | 11 | 36 |
LibvirtRevertSnapshotCommandWrapper | 387 | 130 | 20 | 0 | 69 | 16 |
LibvirtStartCommandWrapper | 75 | 295 | 16 | 22 | 15 | 72 |
LibvirtUtilitiesHelper | 115 | 58 | 4 | 2 | 27 | 8 |
IscsiAdmStorageAdaptor | 981 | 0 | 52 | 0 | 178 | 0 |
IscsiAdmStoragePool | 129 | 0 | 0 | 0 | 32 | 0 |
KVMStoragePoolManager | 926 | 4 | 76 | 0 | 192 | 1 |
KVMStorageProcessor | 5992 | 498 | 448 | 22 | 1239 | 71 |
LibvirtStorageAdaptor | 3376 | 19 | 257 | 0 | 797 | 2 |
LibvirtStoragePool | 239 | 89 | 15 | 9 | 64 | 29 |
LinstorStorageAdaptor | 1076 | 0 | 50 | 0 | 246 | 0 |
ManagedNfsStorageAdaptor | 446 | 0 | 20 | 0 | 125 | 0 |
ScaleIOStorageAdaptor | 684 | 121 | 75 | 13 | 152 | 31 |
QemuImg | 674 | 0 | 64 | 0 | 160 | 0 |
VmwareManagerImpl | 2613 | 528 | 296 | 38 | 615 | 117 |
VmwareResource | 20395 | 0 | 2274 | 0 | 4397 | 0 |
VmwareStorageProcessor | 9892 | 9 | 940 | 0 | 2122 | 2 |
CitrixResourceBase | 14658 | 557 | 1456 | 34 | 3169 | 122 |
CitrixCheckSshCommandWrapper | 15 | 51 | 3 | 3 | 3 | 14 |
CitrixNetworkElementCommandWrapper | 0 | 14 | 0 | 0 | 0 | 4 |
CitrixRebootRouterCommandWrapper | 28 | 25 | 3 | 1 | 5 | 7 |
CitrixStartCommandWrapper | 690 | 62 | 81 | 1 | 116 | 16 |
KubernetesClusterManagerImpl | 4724 | 0 | 480 | 0 | 760 | 0 |
KubernetesClusterActionWorker | 1540 | 0 | 114 | 0 | 281 | 0 |
KubernetesClusterResourceModifierActionWorker | 1843 | 0 | 140 | 0 | 325 | 0 |
CreateKubernetesClusterCmd | 215 | 0 | 18 | 0 | 61 | 0 |
MetricsServiceImpl | 2130 | 0 | 134 | 0 | 446 | 0 |
ClusterMetricsResponse | 523 | 0 | 132 | 0 | 60 | 0 |
VmMetricsResponse | 142 | 0 | 22 | 0 | 25 | 0 |
VolumeMetricsResponse | 69 | 0 | 8 | 0 | 10 | 0 |
ZoneMetricsResponse | 501 | 0 | 126 | 0 | 56 | 0 |
BigSwitchBcfGuestNetworkGuru | 662 | 0 | 62 | 0 | 145 | 0 |
CreateServiceInstanceCmd | 201 | 0 | 16 | 0 | 45 | 0 |
StopNetScalerVMCmd | 114 | 0 | 12 | 0 | 26 | 0 |
NetScalerControlCenterResource | 1943 | 0 | 144 | 0 | 468 | 0 |
NetscalerResource | 6882 | 0 | 806 | 0 | 1623 | 0 |
OvsGuestNetworkGuru | 409 | 0 | 48 | 0 | 90 | 0 |
VxlanGuestNetworkGuru | 89 | 180 | 11 | 21 | 16 | 39 |
ElastistorHostListener | 150 | 0 | 14 | 0 | 30 | 0 |
DateraPrimaryDataStoreDriver | 3195 | 0 | 283 | 0 | 748 | 0 |
DateraHostListener | 635 | 0 | 74 | 0 | 136 | 0 |
CloudStackPrimaryDataStoreDriverImpl | 903 | 0 | 114 | 0 | 229 | 0 |
LinstorPrimaryDataStoreDriverImpl | 1442 | 0 | 91 | 0 | 348 | 0 |
ScaleIOPrimaryDataStoreDriver | 2537 | 0 | 246 | 0 | 537 | 0 |
ScaleIOHostListener | 196 | 0 | 14 | 0 | 43 | 0 |
SolidFirePrimaryDataStoreDriver | 3347 | 0 | 284 | 0 | 697 | 0 |
SolidFireHostListener | 545 | 0 | 60 | 0 | 112 | 0 |
SolidFireSharedHostListener | 407 | 0 | 30 | 0 | 82 | 0 |
LinkAccountToLdapCmd | 77 | 105 | 6 | 4 | 18 | 23 |
ListAndSwitchSAMLAccountCmd | 182 | 205 | 30 | 22 | 38 | 34 |
SAMLUtils | 202 | 465 | 41 | 11 | 53 | 108 |
DomainChecker | 1206 | 0 | 300 | 0 | 238 | 0 |
ApiAsyncJobDispatcher | 212 | 0 | 12 | 0 | 53 | 0 |
ApiDBUtils | 2374 | 0 | 210 | 0 | 592 | 0 |
ApiDispatcher | 231 | 0 | 42 | 0 | 55 | 0 |
ApiResponseHelper | 12147 | 0 | 1276 | 0 | 2779 | 0 |
ApiServer | 2868 | 112 | 346 | 0 | 672 | 14 |
ResponseObjectTypeAdapter | 161 | 8 | 14 | 0 | 37 | 2 |
ParamProcessWorker | 1050 | 0 | 155 | 0 | 241 | 0 |
QueryManagerImpl | 14429 | 0 | 1270 | 0 | 2439 | 0 |
DomainRouterJoinDaoImpl | 801 | 0 | 80 | 0 | 195 | 0 |
VolumeJoinDaoImpl | 770 | 0 | 94 | 0 | 171 | 0 |
AsyncJobJoinVO | 86 | 0 | 0 | 0 | 31 | 0 |
DomainRouterJoinVO | 237 | 0 | 0 | 0 | 80 | 0 |
EventJoinVO | 100 | 0 | 0 | 0 | 35 | 0 |
VolumeJoinVO | 267 | 0 | 0 | 0 | 93 | 0 |
Config | 152 | 5162 | 30 | 6 | 42 | 342 |
ConfigurationManagerImpl | 18194 | 0 | 3034 | 0 | 3580 | 0 |
ConsoleProxyManagerImpl | 3717 | 0 | 423 | 0 | 726 | 0 |
ActionEventInterceptor | 398 | 19 | 44 | 2 | 90 | 7 |
ActionEventUtils | 929 | 0 | 90 | 0 | 198 | 0 |
EventJoinDaoImpl | 329 | 0 | 18 | 0 | 58 | 0 |
LibvirtServerDiscoverer | 994 | 0 | 116 | 0 | 218 | 0 |
IpAddressManagerImpl | 4049 | 0 | 461 | 0 | 807 | 0 |
NetworkModelImpl | 6182 | 0 | 838 | 0 | 1300 | 0 |
NetworkServiceImpl | 13401 | 0 | 1868 | 0 | 2557 | 0 |
FirewallManagerImpl | 2522 | 0 | 391 | 0 | 455 | 0 |
ExternalGuestNetworkGuru | 810 | 0 | 78 | 0 | 148 | 0 |
GuestNetworkGuru | 632 | 298 | 98 | 34 | 125 | 64 |
PrivateNetworkGuru | 394 | 0 | 46 | 0 | 88 | 0 |
LoadBalancingRulesManagerImpl | 6024 | 0 | 666 | 0 | 1254 | 0 |
NetworkHelperImpl | 2080 | 0 | 276 | 0 | 443 | 0 |
VirtualNetworkApplianceManagerImpl | 7600 | 0 | 780 | 0 | 1521 | 0 |
RulesManagerImpl | 4074 | 0 | 492 | 0 | 790 | 0 |
NetworkACLManagerImpl | 841 | 0 | 114 | 0 | 176 | 0 |
VpcManagerImpl | 6893 | 0 | 762 | 0 | 1316 | 0 |
Site2SiteVpnManagerImpl | 2298 | 0 | 214 | 0 | 468 | 0 |
ResourceManagerImpl | 8524 | 0 | 982 | 0 | 1659 | 0 |
RollingMaintenanceManagerImpl | 2041 | 0 | 192 | 0 | 363 | 0 |
ResourceIconManagerImpl | 328 | 0 | 36 | 0 | 70 | 0 |
ConfigurationServerImpl | 2061 | 0 | 176 | 0 | 495 | 0 |
ManagementServerImpl | 12197 | 0 | 1076 | 0 | 2428 | 0 |
StatsCollector | 2178 | 0 | 124 | 0 | 359 | 0 |
StorageManagerImpl | 8580 | 0 | 976 | 0 | 1710 | 0 |
VolumeApiServiceImpl | 10873 | 0 | 1502 | 0 | 2041 | 0 |
SnapshotManagerImpl | 4195 | 0 | 410 | 0 | 753 | 0 |
SnapshotSchedulerImpl | 871 | 0 | 81 | 0 | 197 | 0 |
ResourceManagerUtilImpl | 356 | 0 | 24 | 0 | 71 | 0 |
TaggedResourceManagerImpl | 473 | 0 | 58 | 0 | 96 | 0 |
TemplateManagerImpl | 5011 | 0 | 696 | 0 | 1045 | 0 |
AccountManagerImpl | 6460 | 0 | 906 | 0 | 1352 | 0 |
UserVmManagerImpl | 20798 | 0 | 2566 | 0 | 3869 | 0 |
VMSnapshotManagerImpl | 3151 | 0 | 296 | 0 | 628 | 0 |
RoleManagerImpl | 737 | 0 | 114 | 0 | 147 | 0 |
AffinityGroupServiceImpl | 791 | 0 | 112 | 0 | 172 | 0 |
AnnotationManagerImpl | 1401 | 0 | 167 | 0 | 284 | 0 |
BackupManagerImpl | 2779 | 0 | 224 | 0 | 489 | 0 |
CAManagerImpl | 633 | 0 | 80 | 0 | 129 | 0 |
DirectDownloadManagerImpl | 1684 | 0 | 186 | 0 | 361 | 0 |
HAManagerImpl | 1391 | 0 | 194 | 0 | 231 | 0 |
OutOfBandManagementServiceImpl | 1182 | 0 | 130 | 0 | 237 | 0 |
PowerOperationTask | 109 | 0 | 0 | 0 | 17 | 0 |
MockNetworkManagerImpl | 485 | 0 | 22 | 0 | 83 | 0 |
PremiumSecondaryStorageManagerImpl | 775 | 0 | 64 | 0 | 116 | 0 |
SecondaryStorageManagerImpl | 3544 | 149 | 343 | 11 | 629 | 32 |
VirtualMachineMO | 8953 | 135 | 1063 | 17 | 1982 | 31 |
Found UI changes, kicking a new UI QA build @blueorangutan ui
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.
UI build: :heavy_check_mark: Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6269 (SL-JID-1556)
Found UI changes, kicking a new UI QA build @blueorangutan ui
Found UI changes, kicking a new UI QA build @blueorangutan ui
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.
UI build: :heavy_check_mark: Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6269 (SL-JID-1975)
Found UI changes, kicking a new UI QA build @blueorangutan ui
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.
UI build: :heavy_check_mark: Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6269 (SL-JID-2254)
Codecov Report
:exclamation: No coverage uploaded for pull request base (
main@5dc86ad
). Click here to learn what that means. The diff coverage isn/a
.
@@ Coverage Diff @@
## main #6269 +/- ##
=======================================
Coverage ? 5.87%
Complexity ? 3934
=======================================
Files ? 2454
Lines ? 242694
Branches ? 37978
=======================================
Hits ? 14261
Misses ? 226854
Partials ? 1579
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
@blueorangutan package
@DaanHoogland a 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.
Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4096
@blueorangutan test
@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests
Trillian Build Failed (tid-4788)
Trillian Build Failed (tid-4791)
@DaanHoogland, can we try to run the tests again?
@blueorangutan package
@DaanHoogland a 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.
Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4172
@blueorangutan test
@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests
Trillian test result (tid-4874) Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7 Total time taken: 39925 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6269-t4874-kvm-centos7.zip Smoke tests completed. 100 look OK, 1 have errors Only failed tests results shown below:
Test | Result | Time (s) | Test File |
---|---|---|---|
test_08_arping_in_ssvm | Failure |
5.23 | test_diagnostics.py |
test_09_arping_in_cpvm | Failure |
5.16 | test_diagnostics.py |
test_13_retrieve_vr_default_files | Failure |
128.32 | test_diagnostics.py |
test_15_retrieve_ssvm_default_files | Failure |
128.33 | test_diagnostics.py |
I doubt these errors have anything to do with the change. I'll try a re-run again @blueorangutan test