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

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

Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1813
  
    <b>Trillian test result (tid-864)</b>
    Environment: xenserver-65sp1 (x2), Advanced Networking with Mgmt server 7
    Total time taken: 43562 seconds
    Marvin logs: 
https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1813-t864-xenserver-65sp1.zip
    Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
    Intermitten failure detected: 
/marvin/tests/smoke/test_routers_network_ops.py
    Intermitten failure detected: /marvin/tests/smoke/test_templates.py
    Intermitten failure detected: /marvin/tests/smoke/test_vpc_redundant.py
    Test completed. 46 look ok, 3 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---
    test_05_rvpc_multi_tiers | `Failure` | 550.32 | test_vpc_redundant.py
    test_04_rvpc_network_garbage_collector_nics | `Failure` | 1345.46 | 
test_vpc_redundant.py
    test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | `Failure` | 558.28 
| test_vpc_redundant.py
    test_04_rvpc_privategw_static_routes | `Failure` | 698.24 | 
test_privategw_acl.py
    test_04_extract_template | `Error` | 5.10 | test_templates.py
    test_03_delete_template | `Error` | 5.09 | test_templates.py
    test_01_create_template | `Error` | 40.46 | test_templates.py
    test_01_vpc_site2site_vpn | Success | 331.32 | test_vpc_vpn.py
    test_01_vpc_remote_access_vpn | Success | 166.78 | test_vpc_vpn.py
    test_01_redundant_vpc_site2site_vpn | Success | 620.10 | test_vpc_vpn.py
    test_02_VPC_default_routes | Success | 325.26 | test_vpc_router_nics.py
    test_01_VPC_nics_after_destroy | Success | 710.06 | test_vpc_router_nics.py
    test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | 
Success | 899.40 | test_vpc_redundant.py
    test_02_redundant_VPC_default_routes | Success | 1066.74 | 
test_vpc_redundant.py
    test_09_delete_detached_volume | Success | 15.89 | test_volumes.py
    test_08_resize_volume | Success | 105.96 | test_volumes.py
    test_07_resize_fail | Success | 116.03 | test_volumes.py
    test_06_download_detached_volume | Success | 20.46 | test_volumes.py
    test_05_detach_volume | Success | 105.31 | test_volumes.py
    test_04_delete_attached_volume | Success | 10.19 | test_volumes.py
    test_03_download_attached_volume | Success | 15.27 | test_volumes.py
    test_02_attach_volume | Success | 10.69 | test_volumes.py
    test_01_create_volume | Success | 392.29 | test_volumes.py
    test_change_service_offering_for_vm_with_snapshots | Success | 460.08 | 
test_vm_snapshots.py
    test_03_delete_vm_snapshots | Success | 280.26 | test_vm_snapshots.py
    test_02_revert_vm_snapshots | Success | 176.27 | test_vm_snapshots.py
    test_01_create_vm_snapshots | Success | 130.70 | test_vm_snapshots.py
    test_deploy_vm_multiple | Success | 267.77 | test_vm_life_cycle.py
    test_deploy_vm | Success | 0.03 | test_vm_life_cycle.py
    test_advZoneVirtualRouter | Success | 0.03 | test_vm_life_cycle.py
    test_10_attachAndDetach_iso | Success | 31.86 | test_vm_life_cycle.py
    test_09_expunge_vm | Success | 185.37 | test_vm_life_cycle.py
    test_08_migrate_vm | Success | 61.15 | test_vm_life_cycle.py
    test_07_restore_vm | Success | 0.12 | test_vm_life_cycle.py
    test_06_destroy_vm | Success | 10.15 | test_vm_life_cycle.py
    test_03_reboot_vm | Success | 15.21 | test_vm_life_cycle.py
    test_02_start_vm | Success | 25.27 | test_vm_life_cycle.py
    test_01_stop_vm | Success | 30.29 | test_vm_life_cycle.py
    test_CreateTemplateWithDuplicateName | Success | 85.72 | test_templates.py
    test_08_list_system_templates | Success | 0.04 | test_templates.py
    test_07_list_public_templates | Success | 0.04 | test_templates.py
    test_05_template_permissions | Success | 0.05 | test_templates.py
    test_02_edit_template | Success | 90.15 | test_templates.py
    test_10_destroy_cpvm | Success | 196.68 | test_ssvm.py
    test_09_destroy_ssvm | Success | 229.06 | test_ssvm.py
    test_08_reboot_cpvm | Success | 121.67 | test_ssvm.py
    test_07_reboot_ssvm | Success | 143.78 | test_ssvm.py
    test_06_stop_cpvm | Success | 166.74 | test_ssvm.py
    test_05_stop_ssvm | Success | 168.90 | test_ssvm.py
    test_04_cpvm_internals | Success | 1.16 | test_ssvm.py
    test_03_ssvm_internals | Success | 3.37 | test_ssvm.py
    test_02_list_cpvm_vm | Success | 0.12 | test_ssvm.py
    test_01_list_sec_storage_vm | Success | 0.13 | test_ssvm.py
    test_01_snapshot_root_disk | Success | 16.31 | test_snapshots.py
    test_04_change_offering_small | Success | 119.06 | test_service_offerings.py
    test_03_delete_service_offering | Success | 0.04 | test_service_offerings.py
    test_02_edit_service_offering | Success | 0.06 | test_service_offerings.py
    test_01_create_service_offering | Success | 0.09 | test_service_offerings.py
    test_02_sys_template_ready | Success | 0.13 | test_secondary_storage.py
    test_01_sys_vm_start | Success | 0.18 | test_secondary_storage.py
    test_01_scale_vm | Success | 5.20 | test_scale_vm.py
    test_09_reboot_router | Success | 66.03 | test_routers.py
    test_08_start_router | Success | 50.42 | test_routers.py
    test_07_stop_router | Success | 15.19 | test_routers.py
    test_06_router_advanced | Success | 0.06 | test_routers.py
    test_05_router_basic | Success | 0.04 | test_routers.py
    test_04_restart_network_wo_cleanup | Success | 5.52 | test_routers.py
    test_03_restart_network_cleanup | Success | 120.87 | test_routers.py
    test_02_router_internal_adv | Success | 0.79 | test_routers.py
    test_01_router_internal_basic | Success | 0.50 | test_routers.py
    test_router_dns_guestipquery | Success | 48.77 | test_router_dns.py
    test_router_dns_externalipquery | Success | 0.08 | test_router_dns.py
    test_router_dhcphosts | Success | 112.59 | test_router_dhcphosts.py
    test_router_dhcp_opts | Success | 31.48 | test_router_dhcphosts.py
    test_01_updatevolumedetail | Success | 0.09 | test_resource_detail.py
    test_01_reset_vm_on_reboot | Success | 40.39 | test_reset_vm_on_reboot.py
    test_createRegion | Success | 0.04 | test_regions.py
    test_create_pvlan_network | Success | 5.27 | test_pvlan.py
    test_dedicatePublicIpRange | Success | 0.45 | test_public_ip_range.py
    test_03_vpc_privategw_restart_vpc_cleanup | Success | 857.55 | 
test_privategw_acl.py
    test_02_vpc_privategw_static_routes | Success | 582.41 | 
test_privategw_acl.py
    test_01_vpc_privategw_acl | Success | 137.57 | test_privategw_acl.py
    test_01_primary_storage_nfs | Success | 39.45 | test_primary_storage.py
    test_01_primary_storage_iscsi | Success | 77.93 | test_primary_storage.py
    test_createPortablePublicIPRange | Success | 15.22 | 
test_portable_publicip.py
    test_createPortablePublicIPAcquire | Success | 15.49 | 
test_portable_publicip.py
    test_isolate_network_password_server | Success | 36.01 | 
test_password_server.py
    test_UpdateStorageOverProvisioningFactor | Success | 0.14 | 
test_over_provisioning.py
    test_oobm_zchange_password | Success | 30.67 | test_outofbandmanagement.py
    test_oobm_multiple_mgmt_server_ownership | Success | 16.33 | 
test_outofbandmanagement.py
    test_oobm_issue_power_status | Success | 10.25 | test_outofbandmanagement.py
    test_oobm_issue_power_soft | Success | 15.36 | test_outofbandmanagement.py
    test_oobm_issue_power_reset | Success | 15.36 | test_outofbandmanagement.py
    test_oobm_issue_power_on | Success | 15.65 | test_outofbandmanagement.py
    test_oobm_issue_power_off | Success | 15.34 | test_outofbandmanagement.py
    test_oobm_issue_power_cycle | Success | 15.96 | test_outofbandmanagement.py
    test_oobm_enabledisable_across_clusterzones | Success | 92.90 | 
test_outofbandmanagement.py
    test_oobm_enable_feature_valid | Success | 5.17 | 
test_outofbandmanagement.py
    test_oobm_enable_feature_invalid | Success | 0.10 | 
test_outofbandmanagement.py
    test_oobm_disable_feature_valid | Success | 5.23 | 
test_outofbandmanagement.py
    test_oobm_disable_feature_invalid | Success | 0.16 | 
test_outofbandmanagement.py
    test_oobm_configure_invalid_driver | Success | 0.11 | 
test_outofbandmanagement.py
    test_oobm_configure_default_driver | Success | 0.10 | 
test_outofbandmanagement.py
    test_oobm_background_powerstate_sync | Success | 23.45 | 
test_outofbandmanagement.py
    test_extendPhysicalNetworkVlan | Success | 15.31 | 
test_non_contigiousvlan.py
    test_01_nic | Success | 560.39 | test_nic.py
    test_releaseIP | Success | 283.35 | test_network.py
    test_reboot_router | Success | 529.56 | test_network.py
    test_public_ip_user_account | Success | 10.29 | test_network.py
    test_public_ip_admin_account | Success | 40.31 | test_network.py
    test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 
87.07 | test_network.py
    test_network_rules_acquired_public_ip_2_nat_rule | Success | 76.53 | 
test_network.py
    test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 103.04 
| test_network.py
    test_delete_account | Success | 318.29 | test_network.py
    test_02_port_fwd_on_non_src_nat | Success | 70.76 | test_network.py
    test_01_port_fwd_on_src_nat | Success | 83.82 | test_network.py
    test_nic_secondaryip_add_remove | Success | 147.32 | 
test_multipleips_per_nic.py
    login_test_saml_user | Success | 19.50 | test_login.py
    test_assign_and_removal_lb | Success | 148.87 | test_loadbalance.py
    test_02_create_lb_rule_non_nat | Success | 207.56 | test_loadbalance.py
    test_01_create_lb_rule_src_nat | Success | 208.12 | test_loadbalance.py
    test_03_list_snapshots | Success | 0.06 | test_list_ids_parameter.py
    test_02_list_templates | Success | 0.04 | test_list_ids_parameter.py
    test_01_list_volumes | Success | 0.03 | test_list_ids_parameter.py
    test_07_list_default_iso | Success | 0.06 | test_iso.py
    test_05_iso_permissions | Success | 0.06 | test_iso.py
    test_04_extract_Iso | Success | 5.14 | test_iso.py
    test_03_delete_iso | Success | 95.25 | test_iso.py
    test_02_edit_iso | Success | 0.06 | test_iso.py
    test_01_create_iso | Success | 21.00 | test_iso.py
    test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Success | 425.19 
| test_internal_lb.py
    test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 328.69 | 
test_internal_lb.py
    test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Success | 984.85 | 
test_internal_lb.py
    test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Success | 653.38 | 
test_internal_lb.py
    test_dedicateGuestVlanRange | Success | 10.29 | test_guest_vlan_range.py
    test_UpdateConfigParamWithScope | Success | 0.16 | test_global_settings.py
    test_rolepermission_lifecycle_update | Success | 6.20 | test_dynamicroles.py
    test_rolepermission_lifecycle_list | Success | 6.08 | test_dynamicroles.py
    test_rolepermission_lifecycle_delete | Success | 5.92 | test_dynamicroles.py
    test_rolepermission_lifecycle_create | Success | 5.93 | test_dynamicroles.py
    test_rolepermission_lifecycle_concurrent_updates | Success | 6.01 | 
test_dynamicroles.py
    test_role_lifecycle_update_role_inuse | Success | 5.94 | 
test_dynamicroles.py
    test_role_lifecycle_update | Success | 11.01 | test_dynamicroles.py
    test_role_lifecycle_list | Success | 5.91 | test_dynamicroles.py
    test_role_lifecycle_delete | Success | 10.94 | test_dynamicroles.py
    test_role_lifecycle_create | Success | 5.91 | test_dynamicroles.py
    test_role_inuse_deletion | Success | 5.86 | test_dynamicroles.py
    test_role_account_acls_multiple_mgmt_servers | Success | 8.18 | 
test_dynamicroles.py
    test_role_account_acls | Success | 8.22 | test_dynamicroles.py
    test_default_role_deletion | Success | 6.15 | test_dynamicroles.py
    test_04_create_fat_type_disk_offering | Success | 0.08 | 
test_disk_offerings.py
    test_03_delete_disk_offering | Success | 0.04 | test_disk_offerings.py
    test_02_edit_disk_offering | Success | 0.05 | test_disk_offerings.py
    test_02_create_sparse_type_disk_offering | Success | 0.07 | 
test_disk_offerings.py
    test_01_create_disk_offering | Success | 0.08 | test_disk_offerings.py
    test_deployvm_userdispersing | Success | 45.77 | 
test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userconcentrated | Success | 96.12 | 
test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_firstfit | Success | 156.29 | 
test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userdata_post | Success | 25.55 | 
test_deploy_vm_with_userdata.py
    test_deployvm_userdata | Success | 111.20 | test_deploy_vm_with_userdata.py
    test_02_deploy_vm_root_resize | Success | 5.97 | 
test_deploy_vm_root_resize.py
    test_01_deploy_vm_root_resize | Success | 5.99 | 
test_deploy_vm_root_resize.py
    test_00_deploy_vm_root_resize | Success | 182.46 | 
test_deploy_vm_root_resize.py
    test_deploy_vm_from_iso | Success | 167.43 | test_deploy_vm_iso.py
    test_DeployVmAntiAffinityGroup | Success | 141.63 | test_affinity_groups.py
    test_01_test_vm_volume_snapshot | Skipped | 0.00 | test_vm_snapshots.py
    test_06_copy_template | Skipped | 0.00 | test_templates.py
    test_static_role_account_acls | Skipped | 0.02 | test_staticroles.py
    test_11_ss_nfs_version_on_ssvm | Skipped | 0.02 | test_ssvm.py
    test_nested_virtualization_vmware | Skipped | 0.00 | 
test_nested_virtualization.py
    test_06_copy_iso | Skipped | 0.00 | test_iso.py
    test_deploy_vgpu_enabled_vm | Skipped | 0.03 | 
test_deploy_vgpu_enabled_vm.py
    test_3d_gpu_support | Skipped | 0.04 | test_deploy_vgpu_enabled_vm.py



> Root disk resize support for VMware and XenServer
> -------------------------------------------------
>
>                 Key: CLOUDSTACK-9604
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9604
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>            Reporter: Priyank Parihar
>            Assignee: Priyank Parihar
>         Attachments: 1.png, 2.png, 3.png
>
>
> Currently the root size of an instance is locked to that of the template. 
> This creates unnecessary template duplicates, prevents the creation of a 
> market place, wastes time and disk space and generally makes work more 
> complicated.
> Real life example - a small VPS provider might want to offer the following 
> sizes (in GB):
> 10,20,40,80,160,240,320,480,620
> That's 9 offerings.
> The template selection could look like this, including real disk space used:
> Windows 2008 ~10GB
> Windows 2008+Plesk ~15GB
> Windows 2008+MSSQL ~15GB
> Windows 2012 ~10GB
> Windows 2012+Plesk ~15GB
> Windows 2012+MSSQL ~15GB
> CentOS ~1GB
> CentOS+CPanel ~3GB
> CentOS+Virtualmin ~3GB
> CentOS+Zimbra ~3GB
> CentOS+Docker ~2GB
> Debian ~1GB
> Ubuntu LTS ~1GB
> In this case the total disk space used by templates will be 828 GB, that's 
> almost 1 TB. If your storage is expensive and limited SSD this can get 
> painful!
> If the root resize feature is enabled we can reduce this to under 100 GB.
> Specifications and Description 
>     Administrators don't want to deploy duplicate OS templates of differing 
> sizes just to support different storage packages. Instead, the VM deployment 
> can accept a size for the root disk and adjust the template clone 
> accordingly. In addition, CloudStack already supports data disk resizing for 
> existing volumes, we can extend that functionality to resize existing root 
> disks. 
>   As mentioned, we can leverage the existing design for resizing an existing 
> volume. The difference with root volumes is that we can't resize via disk 
> offering, therefore we need to verify that no disk offering was passed, just 
> a size. The existing enforcements of new size > existing size will still 
> server their purpose.
>    For deployment-based resize (ROOT volume size different from template 
> size), we pass the rootdisksize parameter when the existing code allocates 
> the root volume. In the process, we validate that the root disk size is > 
> existing template size, and non-zero. This will persist the root volume as 
> the desired size regardless of whether or not the VM is started on deploy. 
> Then hypervisor specific code needs to be made to pay attention to the 
> VolumeObjectTO's size attribute and use that when doing the work of cloning 
> from template, rather than inheriting the template's size. This can be 
> implemented one hypervisor at a time, and as such there needs to be a check 
> in UserVmManagerImpl to fail unsupported hypervisors with 
> InvalidParameterValueException when the rootdisksize is passed.
>    
> Hypervisor specific changes
> XenServer
> Resize ROOT volume is only supported for stopped VMs
> Newly created ROOT volume will be resized after clone from template
> VMware  
> Resize ROOT volume is only supported for stopped VMs.
> New size should be large then the previous size.
> Newly created ROOT volume will be resized after clone from template iff
>  There is no root disk chaining.(means use Full clone)
> And Root Disk controller setting is not  IDE.
> Previously created Root Volume could be resized iif
> There is no root disk chaining.
> And Root Disk controller setting is not  IDE.
> Web Services APIs
> resizeVolume API call will not change, but it will accept volume UUIDs of 
> root volumes in id parameter for resizing.
> deployVirtualMachine API call will allow new rootdisksize parameter to be 
> passed. This parameter will be used as the disk size (in GB) when cloning 
> from template.
> UI
> 1) (refer attached image 1) shows UI that resize volume option is added for 
> ROOT disks.
> 2) (refer attached image 2) when user calls the resize volume on ROOT volume. 
> Here only size option is shown. For DATADISK disk offerings are shown.
> 3) (refer attached image 3) when user deploys VM. New option for Root disk 
> size is added.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to