cloudstack icon indicating copy to clipboard operation
cloudstack copied to clipboard

[Veeam] restored VMs without NICs

Open SadiJr opened this issue 2 years ago • 61 comments

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:

  1. I created a new VM and assigned it to a Backup Offering;
  2. I performed a manual backup;
  3. I restored the VM to this backup;
  4. Before, the restored VM don't have any NIC;
  5. Now, the restored VM have the correctly NIC. Also, I added more logs.

SadiJr avatar Apr 18 '22 17:04 SadiJr

Found Java/XML changes, kicking packaging job @blueorangutan package

acs-robot avatar Apr 18 '22 17:04 acs-robot

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

acs-robot avatar Apr 18 '22 18:04 acs-robot

@blueorangutan package

nvazquez avatar Apr 20 '22 01:04 nvazquez

Found UI changes, kicking a new UI QA build @blueorangutan ui

acs-robot avatar Apr 22 '22 14:04 acs-robot

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

blueorangutan avatar Apr 22 '22 14:04 blueorangutan

UI build: :heavy_check_mark: Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6282 (SL-JID-1441)

blueorangutan avatar Apr 22 '22 14:04 blueorangutan

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

acs-robot avatar Apr 22 '22 15:04 acs-robot

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Apr 26 '22 06:04 github-actions[bot]

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Apr 27 '22 10:04 github-actions[bot]

@blueorangutan package

rohityadavcloud avatar May 18 '22 06:05 rohityadavcloud

@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.

blueorangutan avatar May 18 '22 06:05 blueorangutan

Packaging result: :heavy_multiplication_x: el7 :heavy_check_mark: el8 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 3423

blueorangutan avatar May 18 '22 06:05 blueorangutan

Found UI changes, kicking a new UI QA build @blueorangutan ui

acs-robot avatar Jun 22 '22 14:06 acs-robot

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

blueorangutan avatar Jun 22 '22 14:06 blueorangutan

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

blueorangutan avatar Jun 22 '22 14:06 blueorangutan

UI build: :heavy_check_mark: Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6282 (SL-JID-1814)

blueorangutan avatar Jun 22 '22 14:06 blueorangutan

@blueorangutan package

DaanHoogland avatar Jun 27 '22 11:06 DaanHoogland

@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.

blueorangutan avatar Jun 27 '22 11:06 blueorangutan

Packaging result: :heavy_multiplication_x: el7 :heavy_check_mark: el8 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 3650

blueorangutan avatar Jun 27 '22 12:06 blueorangutan

@blueorangutan package

DaanHoogland avatar Jun 27 '22 14:06 DaanHoogland

@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.

blueorangutan avatar Jun 27 '22 16:06 blueorangutan

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 3655

blueorangutan avatar Jun 27 '22 18:06 blueorangutan

@blueorangutan test matrix

DaanHoogland avatar Jun 28 '22 06:06 DaanHoogland

@DaanHoogland a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

blueorangutan avatar Jun 28 '22 07:06 blueorangutan

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

blueorangutan avatar Jun 28 '22 18:06 blueorangutan

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

blueorangutan avatar Jun 28 '22 18:06 blueorangutan

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 avatar Jun 28 '22 21:06 blueorangutan

@blueorangutan package

rohityadavcloud avatar Jun 30 '22 06:06 rohityadavcloud

@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.

blueorangutan avatar Jun 30 '22 06:06 blueorangutan