[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-9386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15485200#comment-15485200
 ] 

ASF GitHub Bot commented on CLOUDSTACK-9386:
--------------------------------------------

Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1560
  
    @rafaelweingartner @jburwell @karuturi Integration tests passed after merge 
conflict resolution
    
    test DeployVM in anti-affinity groups for project ... === TestName: 
test_DeployVmAntiAffinityGroup_in_project | Status : SUCCESS ===
    test DeployVM in anti-affinity groups ... === TestName: 
test_DeployVmAntiAffinityGroup | Status : SUCCESS ===
    Test Deploy Virtual Machine ... SKIP: Skipping test because suitable 
hypervisor/host not                    present
    Test Deploy Virtual Machine from ISO ... === TestName: 
test_deploy_vm_from_iso | Status : SUCCESS ===
    Test deploy virtual machine with root resize ... === TestName: 
test_00_deploy_vm_root_resize | Status : SUCCESS ===
    Test proper failure to deploy virtual machine with rootdisksize of 0 ... 
=== TestName: test_01_deploy_vm_root_resize | Status : SUCCESS ===
    Test proper failure to deploy virtual machine with rootdisksize less than 
template size ... === TestName: test_02_deploy_vm_root_resize | Status : 
SUCCESS ===
    Test to deploy vm with a first fit offering ... === TestName: 
test_deployvm_firstfit | Status : SUCCESS ===
    Test deploy VMs using user concentrated planner ... === TestName: 
test_deployvm_userconcentrated | Status : SUCCESS ===
    Test deploy VMs using user dispersion planner ... === TestName: 
test_deployvm_userdispersing | Status : SUCCESS ===
    Test userdata as GET, size > 2k ... === TestName: test_deployvm_userdata | 
Status : SUCCESS ===
    Test userdata as POST, size > 2k ... === TestName: 
test_deployvm_userdata_post | Status : SUCCESS ===
    Test to create disk offering ... === TestName: test_01_create_disk_offering 
| Status : SUCCESS ===
    Test to create  a sparse type disk offering ... === TestName: 
test_02_create_sparse_type_disk_offering | Status : SUCCESS ===
    Test to create  a sparse type disk offering ... === TestName: 
test_04_create_fat_type_disk_offering | Status : SUCCESS ===
    Test to update existing disk offering ... === TestName: 
test_02_edit_disk_offering | Status : SUCCESS ===
    Test to delete disk offering ... === TestName: test_03_delete_disk_offering 
| Status : SUCCESS ===
    Test to ensure 4 default roles cannot be deleted ... SKIP: Dynamic 
Role-Based API checker not enabled, skipping test
    Test to check role, role permissions and account life cycles ... SKIP: 
Dynamic Role-Based API checker not enabled, skipping test
    Test for role-rule enforcement in case of multiple mgmt servers ... SKIP: 
Dynamic Role-Based API checker not enabled, skipping test
    Test to ensure role in use cannot be deleted ... SKIP: Dynamic Role-Based 
API checker not enabled, skipping test
    Tests normal lifecycle operations for roles ... SKIP: Dynamic Role-Based 
API checker not enabled, skipping test
    Tests role update ... SKIP: Dynamic Role-Based API checker not enabled, 
skipping test
    Tests that default four roles exist ... SKIP: Dynamic Role-Based API 
checker not enabled, skipping test
    Tests role update ... SKIP: Dynamic Role-Based API checker not enabled, 
skipping test
    Tests role update when role is in use by an account ... SKIP: Dynamic 
Role-Based API checker not enabled, skipping test
    Tests concurrent order updation of role permission ... SKIP: Dynamic 
Role-Based API checker not enabled, skipping test
    Tests creation of role permission ... SKIP: Dynamic Role-Based API checker 
not enabled, skipping test
    Tests deletion of role permission ... SKIP: Dynamic Role-Based API checker 
not enabled, skipping test
    Tests listing of default role's permission ... SKIP: Dynamic Role-Based API 
checker not enabled, skipping test
    Tests order updation of role permission ... SKIP: Dynamic Role-Based API 
checker not enabled, skipping test
    test update configuration setting at zone level scope ... === TestName: 
test_UpdateConfigParamWithScope | Status : SUCCESS ===
    Test guest vlan range dedication ... === TestName: 
test_dedicateGuestVlanRange | Status : SUCCESS ===
    Test create public & private ISO ... === TestName: test_01_create_iso | 
Status : SUCCESS ===
    Test Edit ISO ... === TestName: test_02_edit_iso | Status : SUCCESS ===
    Test delete ISO ... === TestName: test_03_delete_iso | Status : SUCCESS ===
    Test for extract ISO ... === TestName: test_04_extract_Iso | Status : 
SUCCESS ===
    Update & Test for ISO permissions ... === TestName: test_05_iso_permissions 
| Status : SUCCESS ===
    Test for copy ISO from one zone to another ... SKIP: Not enough zones 
available to perform copy template
    Test delete ISO ... === TestName: test_07_list_default_iso | Status : 
SUCCESS ===
    Test listing Volumes using 'ids' parameter ... === TestName: 
test_01_list_volumes | Status : SUCCESS ===
    Test listing Templates using 'ids' parameter ... === TestName: 
test_02_list_templates | Status : SUCCESS ===
    Test listing Snapshots using 'ids' parameter ... === TestName: 
test_03_list_snapshots | Status : SUCCESS ===
    Test to create Load balancing rule with source NAT ... === TestName: 
test_01_create_lb_rule_src_nat | Status : SUCCESS ===
    Test to create Load balancing rule with non source NAT ... === TestName: 
test_02_create_lb_rule_non_nat | Status : SUCCESS ===
    Test for assign & removing load balancing rule ... === TestName: 
test_assign_and_removal_lb | Status : SUCCESS ===
    Tests that SAML users are not allowed CloudStack local log in ... === 
TestName: login_test_saml_user | Status : SUCCESS ===
    test_nic_secondaryip_add_remove 
(integration.smoke.test_multipleips_per_nic.TestDeployVM) ... === TestName: 
test_nic_secondaryip_add_remove | Status : SUCCESS ===
    Test network ACL lists and items in VPC ... === TestName: test_network_acl 
| Status : SUCCESS ===
    # 1. Register a template for VMware with nicAdapter vmxnet3 ... SKIP: 
VCenter API Integration Remaining
    Test to add and update added nic to a virtual machine ... === TestName: 
test_01_nic | Status : SUCCESS ===
    Test to update a physical network and extend its vlan ... === TestName: 
test_extendPhysicalNetworkVlan | Status : SUCCESS ===
    test update configuration setting at storage scope ... === TestName: 
test_UpdateStorageOverProvisioningFactor | Status : SUCCESS ===
    test_create_pvlan_network (integration.smoke.test_pvlan.TestPVLAN) ... === 
TestName: test_create_pvlan_network | Status : SUCCESS ===
    Test for create region ... === TestName: test_createRegion | Status : 
SUCCESS ===
    Test reset virtual machine on reboot ... === TestName: 
test_01_reset_vm_on_reboot | Status : SUCCESS ===
    Test volume detail ... === TestName: test_01_updatevolumedetail | Status : 
SUCCESS ===
    Test scale virtual machine ... SKIP: Skipping scale VM operation because    
                VMware tools are not installed on the VM
    Test to create service offering ... === TestName: 
test_01_create_service_offering | Status : SUCCESS ===
    Test to update existing service offering ... === TestName: 
test_02_edit_service_offering | Status : SUCCESS ===
    Test to delete service offering ... === TestName: 
test_03_delete_service_offering | Status : SUCCESS ===
    Test to change service to a small capacity ... === TestName: 
test_04_change_offering_small | Status : SUCCESS ===
    Test List secondary storage VMs ... === TestName: 
test_01_list_sec_storage_vm | Status : SUCCESS ===
    Test List console proxy VMs ... === TestName: test_02_list_cpvm_vm | Status 
: SUCCESS ===
    Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status : 
SUCCESS ===
    Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status : 
SUCCESS ===
    Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
    Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
    Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS 
===
    Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS 
===
    Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS 
===
    Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS 
===
    Tests allowed APIs for common account types ... === TestName: 
test_static_role_account_acls | Status : SUCCESS ===
    Test create public & private template ... === TestName: 
test_01_create_template | Status : SUCCESS ===
    Test when createTemplate is used to create templates having the same name 
all of them get ... === TestName: test_CreateTemplateWithDuplicateName | Status 
: SUCCESS ===
    Test Edit template ... === TestName: test_02_edit_template | Status : 
SUCCESS ===
    Test delete template ... === TestName: test_03_delete_template | Status : 
SUCCESS ===
    Test for extract template ... === TestName: test_04_extract_template | 
Status : SUCCESS ===
    Update & Test for template permissions ... === TestName: 
test_05_template_permissions | Status : SUCCESS ===
    Test for copy template from one zone to another ... SKIP: Not enough zones 
available to perform copy template
    Test only public templates are visible to normal user ... === TestName: 
test_07_list_public_templates | Status : SUCCESS ===
    Test System templates are not visible to normal user ... === TestName: 
test_08_list_system_templates | Status : SUCCESS ===
    Check events in usage_events table when VM creation fails ... === TestName: 
test_01_positive_tests_usage | Status : SUCCESS ===
    Test advanced zone virtual router ... === TestName: 
test_advZoneVirtualRouter | Status : SUCCESS ===
    Tests for basic zone virtual router ... === TestName: 
test_basicZoneVirtualRouter | Status : SUCCESS ===
    Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status : 
SUCCESS ===
    Test Multiple Deploy Virtual Machine ... === TestName: 
test_deploy_vm_multiple | Status : SUCCESS ===
    Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status : 
SUCCESS ===
    Test Start Virtual Machine ... === TestName: test_02_start_vm | Status : 
SUCCESS ===
    Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status : 
SUCCESS ===
    Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status 
: SUCCESS ===
    Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status 
: SUCCESS ===
    Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
    Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm 
| Status : SUCCESS ===
    Test for attach and detach ISO to virtual machine ... === TestName: 
test_10_attachAndDetach_iso | Status : SUCCESS ===
    Test Volume creation for all Disk Offerings (incl. custom) ... === 
TestName: test_01_create_volume | Status : SUCCESS ===
    Attach a created Volume to a Running VM ... === TestName: 
test_02_attach_volume | Status : SUCCESS ===
    Download a Volume attached to a VM ... === TestName: 
test_03_download_attached_volume | Status : SUCCESS ===
    Delete a Volume attached to a VM ... === TestName: 
test_04_delete_attached_volume | Status : SUCCESS ===
    Detach a Volume attached to a VM ... === TestName: test_05_detach_volume | 
Status : SUCCESS ===
    Download a Volume unattached to an VM ... === TestName: 
test_06_download_detached_volume | Status : SUCCESS ===
    Test resize (negative) non-existent volume ... SKIP: Resize Volume is 
unsupported on VmWare and Hyper-V
    Test resize a volume ... SKIP: Resize Volume is unsupported on VmWare and 
Hyper-V
    Delete a Volume unattached to an VM ... === TestName: 
test_09_delete_detached_volume | Status : SUCCESS ===
    
    ----------------------------------------------------------------------
    Ran 104 tests in 10873.015s
    
    OK (SKIP=21)


> DS template copies don’t get deleted in VMware ESXi with multiple clusters 
> and zone wide storage
> ------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9386
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9386
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: VMware
>    Affects Versions: 4.9.0
>            Reporter: Nicolas Vazquez
>            Assignee: Nicolas Vazquez
>             Fix For: 4.10.0.0, 4.9.2.0
>
>
> h3. Introduction
> In some production environments with multiple clusters it was noticed that 
> unused templates were consuming too much storage. It was discovered that 
> template cleanup was not deleting marked templates on ESXi.
> h3. Description of the problem
> Suppose we have multiple clusters {{(c1, c2,...,cN)}} on a data center and 
> template {{T}} from which we deploy vms on {{c1}}.
> Suppose now that we expunge those vms, and there's no other vm instance from 
> template {{T}}, so this was the actual workflow:
> # CloudStack marks template for cleanup after {{storage.cleanup.interval}} 
> seconds, by setting {{marked_for_gc = 1}} on {{template_spool_ref}} table, 
> for that template.
> # After another {{storage.cleanup.interval}} seconds a {{DestroyCommand}} 
> will be sent, to delete template from primary storage
> # On {{VmwareResource}}, command is processed, and it first picks up a random 
> cluster, say {{ci != c1}} to look for vm template (using volume's path) and 
> destroy it. But, as template was on {{c1}} it cannot be found, so it won't be 
> deleted. Entry on {{template_spool_ref}} is deleted but not the actual 
> template on hypervisor side.
> h3. Proposed solution
> We propose a way to attack problem shown in point 3, by not picking up a 
> random cluster to look for vm but using vSphere data center. This way we make 
> sure vm template will be deleted in every case, and not depending on random 
> cluster selection



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to