cloudstack
cloudstack copied to clipboard
[Veeam] restored VMs without NICs
Description
Using the VMWare hypervisor with Veeam integration enabled, restoring a VM from a backup removes the VM NICs. This happens because the NicVO object does not override the equals
and hashCode
methods; thereforen, when ACS tries to sync the NICs of the restored VM with the NICs saved in the database, the comparison always returns false
, and ACS removes the VM NIC.
Types of changes
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] New feature (non-breaking change which adds functionality)
- [x] 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)
Feature/Enhancement Scale or Bug Severity
Bug Severity
- [ ] BLOCKER
- [ ] Critical
- [x] Major
- [ ] Minor
- [ ] Trivial
How Has This Been Tested?
It's tested in a local lab:
- I created a new VM and assigned it to a Backup Offering;
- I performed a manual backup;
- I restored the VM to this backup;
- Before, the restored VM don't have any NIC;
- Now, the restored VM have the correctly NIC. Also, I added more logs.
Found Java/XML changes, kicking packaging job @blueorangutan package
PR Coverage Report
CLASS | INSTRUCTION MISSED | INSTRUCTION COVERED | BRANCH MISSED | BRANCH COVERED | LINE MISSED | LINE COVERED |
---|---|---|---|---|---|---|
NicVO | 187 | 78 | 0 | 0 | 76 | 28 |
NicDaoImpl | 1335 | 0 | 12 | 0 | 186 | 0 |
VMwareGuru | 2876 | 52 | 222 | 0 | 520 | 5 |
@blueorangutan package
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/6282 (SL-JID-1441)
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 |
ConnectedAgentAttache | 149 | 0 | 20 | 0 | 40 | 0 |
VirtualMachineManagerImpl | 15659 | 0 | 1500 | 0 | 3079 | 0 |
NetworkOrchestrator | 9806 | 0 | 1206 | 0 | 1928 | 0 |
DataCenterVnetVO | 58 | 0 | 0 | 0 | 24 | 0 |
VlanVO | 186 | 0 | 2 | 0 | 72 | 0 |
HostDaoImpl | 4983 | 0 | 180 | 0 | 803 | 0 |
AccountGuestVlanMapVO | 46 | 0 | 0 | 0 | 19 | 0 |
NetworkOfferingVO | 414 | 31 | 0 | 0 | 126 | 12 |
VolumeVO | 529 | 133 | 4 | 0 | 179 | 39 |
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 |
NicVO | 187 | 78 | 0 | 0 | 76 | 28 |
ConsoleProxyDaoImpl | 635 | 0 | 20 | 0 | 144 | 0 |
DomainRouterDaoImpl | 1600 | 0 | 22 | 0 | 228 | 0 |
NicDaoImpl | 1363 | 0 | 12 | 0 | 190 | 0 |
VolumeObject | 773 | 665 | 77 | 39 | 178 | 117 |
CloudStackContextLoaderListener | 77 | 0 | 2 | 0 | 21 | 0 |
LibvirtComputingResource | 8888 | 1988 | 1087 | 147 | 1983 | 451 |
LibvirtStartCommandWrapper | 75 | 295 | 16 | 22 | 15 | 72 |
VMwareGuru | 2876 | 52 | 222 | 0 | 520 | 5 |
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 |
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 |
DomainChecker | 1206 | 0 | 300 | 0 | 238 | 0 |
ApiDBUtils | 2374 | 0 | 210 | 0 | 592 | 0 |
ApiResponseHelper | 12144 | 0 | 1274 | 0 | 2779 | 0 |
ResponseObjectTypeAdapter | 161 | 8 | 14 | 0 | 37 | 2 |
ParamProcessWorker | 1050 | 0 | 155 | 0 | 241 | 0 |
QueryManagerImpl | 14257 | 0 | 1248 | 0 | 2409 | 0 |
DomainRouterJoinDaoImpl | 801 | 0 | 80 | 0 | 195 | 0 |
VolumeJoinDaoImpl | 770 | 0 | 94 | 0 | 171 | 0 |
DomainRouterJoinVO | 237 | 0 | 0 | 0 | 80 | 0 |
VolumeJoinVO | 267 | 0 | 0 | 0 | 93 | 0 |
ConfigurationManagerImpl | 18104 | 0 | 3032 | 0 | 3570 | 0 |
ConsoleProxyManagerImpl | 3717 | 0 | 423 | 0 | 726 | 0 |
LibvirtServerDiscoverer | 994 | 0 | 116 | 0 | 218 | 0 |
IpAddressManagerImpl | 4045 | 0 | 461 | 0 | 806 | 0 |
NetworkModelImpl | 6182 | 0 | 838 | 0 | 1300 | 0 |
NetworkServiceImpl | 13383 | 0 | 1864 | 0 | 2551 | 0 |
GuestNetworkGuru | 622 | 298 | 98 | 34 | 124 | 64 |
PrivateNetworkGuru | 394 | 0 | 46 | 0 | 88 | 0 |
LoadBalancingRulesManagerImpl | 6024 | 0 | 666 | 0 | 1254 | 0 |
NetworkHelperImpl | 2073 | 0 | 274 | 0 | 441 | 0 |
VirtualNetworkApplianceManagerImpl | 7585 | 0 | 780 | 0 | 1521 | 0 |
RulesManagerImpl | 4074 | 0 | 492 | 0 | 790 | 0 |
VpcManagerImpl | 6883 | 0 | 762 | 0 | 1314 | 0 |
ConfigurationServerImpl | 2061 | 0 | 176 | 0 | 495 | 0 |
ManagementServerImpl | 12159 | 0 | 1076 | 0 | 2428 | 0 |
StatsCollector | 2178 | 0 | 124 | 0 | 359 | 0 |
StorageManagerImpl | 8580 | 0 | 976 | 0 | 1710 | 0 |
VolumeApiServiceImpl | 10851 | 0 | 1500 | 0 | 2035 | 0 |
AccountManagerImpl | 6446 | 0 | 906 | 0 | 1351 | 0 |
UserVmManagerImpl | 20798 | 0 | 2566 | 0 | 3869 | 0 |
CAManagerImpl | 633 | 0 | 80 | 0 | 129 | 0 |
MockNetworkManagerImpl | 485 | 0 | 22 | 0 | 83 | 0 |
SecondaryStorageManagerImpl | 3544 | 149 | 343 | 11 | 629 | 32 |
VirtualMachineMO | 8953 | 135 | 1063 | 17 | 1982 | 31 |
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.
@blueorangutan package
@rohityadavcloud 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_multiplication_x: el7 :heavy_check_mark: el8 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 3423
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.
@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/6282 (SL-JID-1814)
@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_multiplication_x: el7 :heavy_check_mark: el8 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 3650
@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 3655
@blueorangutan test matrix
@DaanHoogland a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests
Trillian test result (tid-4384) Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7 Total time taken: 38749 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6282-t4384-kvm-centos7.zip Smoke tests completed. 98 look OK, 0 have errors Only failed tests results shown below:
Test | Result | Time (s) | Test File |
---|
Trillian test result (tid-4383) Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7 Total time taken: 39937 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6282-t4383-xenserver-71.zip Smoke tests completed. 98 look OK, 0 have errors Only failed tests results shown below:
Test | Result | Time (s) | Test File |
---|
Trillian test result (tid-4385) Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7 Total time taken: 49244 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6282-t4385-vmware-65u2.zip Smoke tests completed. 81 look OK, 17 have errors Only failed tests results shown below:
Test | Result | Time (s) | Test File |
---|---|---|---|
ContextSuite context=TestDomainsServiceOfferings>:setup | Error |
3.48 | test_domain_service_offerings.py |
ContextSuite context=TestListIdsParams>:setup | Error |
0.00 | test_list_ids_parameter.py |
ContextSuite context=TestResetVmOnReboot>:setup | Error |
0.00 | test_reset_vm_on_reboot.py |
test_01_so_removal_resource_update | Error |
0.29 | test_resource_accounting.py |
ContextSuite context=TestRouterDHCPHosts>:setup | Error |
0.00 | test_router_dhcphosts.py |
ContextSuite context=TestRouterDHCPOpts>:setup | Error |
0.00 | test_router_dhcphosts.py |
test_01_import_storage_policies | Error |
5.97 | test_storage_policy.py |
ContextSuite context=TestRouterDns>:setup | Error |
0.00 | test_router_dns.py |
ContextSuite context=TestRouterDnsService>:setup | Error |
0.00 | test_router_dnsservice.py |
test_01_create_template | Error |
74.67 | test_templates.py |
test_CreateTemplateWithDuplicateName | Error |
132.33 | test_templates.py |
test_02_create_template_with_checksum_sha1 | Error |
65.41 | test_templates.py |
test_03_create_template_with_checksum_sha256 | Error |
65.41 | test_templates.py |
test_04_create_template_with_checksum_md5 | Error |
65.46 | test_templates.py |
test_05_create_template_with_no_checksum | Error |
65.43 | test_templates.py |
ContextSuite context=TestTemplates>:setup | Error |
649.37 | test_templates.py |
ContextSuite context=TestInternalLb>:setup | Error |
0.00 | test_internal_lb.py |
test_01_isolate_network_FW_PF_default_routes_egress_true | Error |
0.33 | test_routers_network_ops.py |
test_02_isolate_network_FW_PF_default_routes_egress_false | Error |
0.27 | test_routers_network_ops.py |
test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true | Error |
102.04 | test_routers_network_ops.py |
test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false | Error |
100.60 | test_routers_network_ops.py |
test_03_RVR_Network_check_router_state | Error |
103.89 | test_routers_network_ops.py |
test_02_routervm_iptables_policies | Error |
0.15 | test_routers_iptables_default_policy.py |
test_01_single_VPC_iptables_policies | Error |
128.20 | test_routers_iptables_default_policy.py |
test_01_single_VPC_iptables_policies | Error |
128.21 | test_routers_iptables_default_policy.py |
ContextSuite context=TestVAppsVM>:setup | Error |
1.66 | test_vm_life_cycle.py |
ContextSuite context=TestVolumes>:setup | Error |
454.05 | test_volumes.py |
test_02_redundant_VPC_default_routes | Failure |
676.55 | test_vpc_redundant.py |
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Failure |
236.08 | test_vpc_redundant.py |
test_04_rvpc_network_garbage_collector_nics | Failure |
235.99 | test_vpc_redundant.py |
test_05_rvpc_multi_tiers | Failure |
235.12 | test_vpc_redundant.py |
test_05_rvpc_multi_tiers | Error |
235.13 | test_vpc_redundant.py |
test_01_VPC_nics_after_destroy | Failure |
121.75 | test_vpc_router_nics.py |
test_02_VPC_default_routes | Failure |
118.55 | test_vpc_router_nics.py |
test_01_redundant_vpc_site2site_vpn | Failure |
459.76 | test_vpc_vpn.py |
test_01_vpc_remote_access_vpn | Failure |
114.67 | test_vpc_vpn.py |
test_01_vpc_site2site_vpn | Failure |
225.18 | test_vpc_vpn.py |
@blueorangutan package
@rohityadavcloud 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.