You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by PranaliM <gi...@git.apache.org> on 2017/03/07 11:58:27 UTC

[GitHub] cloudstack pull request #1992: CLOUDSTACK-9824:Resource count for Primary st...

GitHub user PranaliM opened a pull request:

    https://github.com/apache/cloudstack/pull/1992

    CLOUDSTACK-9824:Resource count for Primary storage is considered twice - while creating and while attaching the disk

    The Primary Storage resource counts is considered twice: Once while creating the volume and next while attaching it. This results in failure while Attaching the volume, if the primary storage resource limit is set.
    
    Following are the steps to reproduce the issue:
    1. Create a Domain
    2. Create an Account.
    3. Allocate 11 GB Primary storage limit to the domain.
    4. Deploy a VM sized 8GB (Primary storage resource count is now 8GB )
    5. Create a 2GB custom disk by using the option 'Add Volume' link.(Primary storage resource count is now 10GB). The Volume state is 'Allocated'
    6. Now try to Attach the data-disk created above to a VM. At this point the resource count limit is again checked, and the attachment fails, because it is expected to be 12GB, but, which exceeds the limit of 11GB.
    7. This issue is also observed for volumes which are 'Detached'. On detaching an attached volume, the state is still seen as 'Ready'. When such a 
    volume is tried to attach again, it will fail as the resource limit will be checked again.
    
    Fix implemented:
    1. When a volume is \u2018Added\u2019, its state is seen as \u2018Allocated\u2019 and it utilizes the primary storage resource. When the Volume in \u2018Allocated\u2019 state is attached to a VM, its state changes to \u2018Ready\u2019.
    2. When the volume is detached from the VM, its state is still seen as \u2018Ready\u2019. When the volume is detached, the resources (primary storage) are not released, because the volume is still in primary storage. 
    3. The fix is to skip checking the resource limit when the volume state is either 'Allocated' or 'Ready'. Because the volume state being 'Allocated' or 'Ready' implies that it is already on the Primary storage and hence the limit should not be checked again.
    
    Test Results:
    1. Set a limit of 42 GB primary storage to a new domain 
    2. Deployed a 30GB VM in it. 
    3. Created a 10 GB disk and could attach and detach it multiple times without any error of resource limit.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/Accelerite/cloudstack CS-9824

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1992.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1992
    
----
commit 616c05e2921af6b713f8a4bce2d2421b03462a22
Author: Pranali Mande <pr...@accelerite.com>
Date:   2017-03-07T11:53:02Z

    CLOUDSTACK-9824:Resource count for Primary storage is considered twice - while creating and while attaching the disk

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1992: CLOUDSTACK-9824:Resource count for Primary storage i...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1992
  
    <b>Trillian test result (tid-935)</b>
    Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
    Total time taken: 36496 seconds
    Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1992-t935-kvm-centos7.zip
    Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
    Intermitten failure detected: /marvin/tests/smoke/test_snapshots.py
    Intermitten failure detected: /marvin/tests/smoke/test_vpc_redundant.py
    Intermitten failure detected: /marvin/tests/smoke/test_vpc_vpn.py
    Test completed. 46 look ok, 3 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---
    test_02_redundant_VPC_default_routes | `Failure` | 867.90 | test_vpc_redundant.py
    test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | `Failure` | 368.10 | test_vpc_redundant.py
    test_04_rvpc_privategw_static_routes | `Failure` | 329.39 | test_privategw_acl.py
    test_02_list_snapshots_with_removed_data_store | `Error` | 0.03 | test_snapshots.py
    test_01_vpc_site2site_vpn | Success | 159.18 | test_vpc_vpn.py
    test_01_vpc_remote_access_vpn | Success | 66.06 | test_vpc_vpn.py
    test_01_redundant_vpc_site2site_vpn | Success | 250.05 | test_vpc_vpn.py
    test_02_VPC_default_routes | Success | 285.96 | test_vpc_router_nics.py
    test_01_VPC_nics_after_destroy | Success | 523.38 | test_vpc_router_nics.py
    test_05_rvpc_multi_tiers | Success | 519.34 | test_vpc_redundant.py
    test_04_rvpc_network_garbage_collector_nics | Success | 1403.40 | test_vpc_redundant.py
    test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Success | 547.05 | test_vpc_redundant.py
    test_09_delete_detached_volume | Success | 156.15 | test_volumes.py
    test_08_resize_volume | Success | 156.12 | test_volumes.py
    test_07_resize_fail | Success | 161.19 | test_volumes.py
    test_06_download_detached_volume | Success | 156.04 | test_volumes.py
    test_05_detach_volume | Success | 155.67 | test_volumes.py
    test_04_delete_attached_volume | Success | 150.95 | test_volumes.py
    test_03_download_attached_volume | Success | 156.04 | test_volumes.py
    test_02_attach_volume | Success | 94.76 | test_volumes.py
    test_01_create_volume | Success | 706.24 | test_volumes.py
    test_03_delete_vm_snapshots | Success | 275.20 | test_vm_snapshots.py
    test_02_revert_vm_snapshots | Success | 100.93 | test_vm_snapshots.py
    test_01_create_vm_snapshots | Success | 161.72 | test_vm_snapshots.py
    test_deploy_vm_multiple | Success | 256.94 | test_vm_life_cycle.py
    test_deploy_vm | Success | 0.02 | test_vm_life_cycle.py
    test_advZoneVirtualRouter | Success | 0.02 | test_vm_life_cycle.py
    test_10_attachAndDetach_iso | Success | 26.62 | test_vm_life_cycle.py
    test_09_expunge_vm | Success | 125.20 | test_vm_life_cycle.py
    test_08_migrate_vm | Success | 30.69 | test_vm_life_cycle.py
    test_07_restore_vm | Success | 0.08 | test_vm_life_cycle.py
    test_06_destroy_vm | Success | 125.63 | test_vm_life_cycle.py
    test_03_reboot_vm | Success | 125.64 | test_vm_life_cycle.py
    test_02_start_vm | Success | 10.12 | test_vm_life_cycle.py
    test_01_stop_vm | Success | 40.26 | test_vm_life_cycle.py
    test_CreateTemplateWithDuplicateName | Success | 40.38 | test_templates.py
    test_08_list_system_templates | Success | 0.04 | test_templates.py
    test_07_list_public_templates | Success | 0.03 | test_templates.py
    test_05_template_permissions | Success | 0.04 | test_templates.py
    test_04_extract_template | Success | 5.12 | test_templates.py
    test_03_delete_template | Success | 5.08 | test_templates.py
    test_02_edit_template | Success | 90.16 | test_templates.py
    test_01_create_template | Success | 40.34 | test_templates.py
    test_10_destroy_cpvm | Success | 131.47 | test_ssvm.py
    test_09_destroy_ssvm | Success | 163.54 | test_ssvm.py
    test_08_reboot_cpvm | Success | 101.49 | test_ssvm.py
    test_07_reboot_ssvm | Success | 133.45 | test_ssvm.py
    test_06_stop_cpvm | Success | 131.61 | test_ssvm.py
    test_05_stop_ssvm | Success | 133.54 | test_ssvm.py
    test_04_cpvm_internals | Success | 1.18 | test_ssvm.py
    test_03_ssvm_internals | Success | 3.34 | test_ssvm.py
    test_02_list_cpvm_vm | Success | 0.09 | test_ssvm.py
    test_01_list_sec_storage_vm | Success | 0.11 | test_ssvm.py
    test_01_snapshot_root_disk | Success | 10.97 | test_snapshots.py
    test_04_change_offering_small | Success | 234.38 | test_service_offerings.py
    test_03_delete_service_offering | Success | 0.03 | test_service_offerings.py
    test_02_edit_service_offering | Success | 0.04 | test_service_offerings.py
    test_01_create_service_offering | Success | 0.08 | test_service_offerings.py
    test_02_sys_template_ready | Success | 0.09 | test_secondary_storage.py
    test_01_sys_vm_start | Success | 0.14 | test_secondary_storage.py
    test_09_reboot_router | Success | 35.24 | test_routers.py
    test_08_start_router | Success | 30.24 | test_routers.py
    test_07_stop_router | Success | 10.13 | test_routers.py
    test_06_router_advanced | Success | 0.04 | test_routers.py
    test_05_router_basic | Success | 0.03 | test_routers.py
    test_04_restart_network_wo_cleanup | Success | 5.64 | test_routers.py
    test_03_restart_network_cleanup | Success | 60.45 | test_routers.py
    test_02_router_internal_adv | Success | 1.04 | test_routers.py
    test_01_router_internal_basic | Success | 0.57 | test_routers.py
    test_router_dns_guestipquery | Success | 76.70 | test_router_dns.py
    test_router_dns_externalipquery | Success | 0.08 | test_router_dns.py
    test_router_dhcphosts | Success | 276.66 | test_router_dhcphosts.py
    test_router_dhcp_opts | Success | 21.48 | test_router_dhcphosts.py
    test_01_updatevolumedetail | Success | 0.06 | test_resource_detail.py
    test_01_reset_vm_on_reboot | Success | 130.91 | test_reset_vm_on_reboot.py
    test_createRegion | Success | 0.03 | test_regions.py
    test_create_pvlan_network | Success | 5.16 | test_pvlan.py
    test_dedicatePublicIpRange | Success | 0.30 | test_public_ip_range.py
    test_03_vpc_privategw_restart_vpc_cleanup | Success | 488.48 | test_privategw_acl.py
    test_02_vpc_privategw_static_routes | Success | 363.63 | test_privategw_acl.py
    test_01_vpc_privategw_acl | Success | 91.67 | test_privategw_acl.py
    test_01_primary_storage_nfs | Success | 35.71 | test_primary_storage.py
    test_createPortablePublicIPRange | Success | 15.13 | test_portable_publicip.py
    test_createPortablePublicIPAcquire | Success | 15.32 | test_portable_publicip.py
    test_isolate_network_password_server | Success | 90.37 | test_password_server.py
    test_UpdateStorageOverProvisioningFactor | Success | 0.10 | test_over_provisioning.py
    test_oobm_zchange_password | Success | 30.49 | test_outofbandmanagement.py
    test_oobm_multiple_mgmt_server_ownership | Success | 16.27 | test_outofbandmanagement.py
    test_oobm_issue_power_status | Success | 10.19 | test_outofbandmanagement.py
    test_oobm_issue_power_soft | Success | 15.27 | test_outofbandmanagement.py
    test_oobm_issue_power_reset | Success | 15.26 | test_outofbandmanagement.py
    test_oobm_issue_power_on | Success | 15.25 | test_outofbandmanagement.py
    test_oobm_issue_power_off | Success | 15.26 | test_outofbandmanagement.py
    test_oobm_issue_power_cycle | Success | 15.25 | test_outofbandmanagement.py
    test_oobm_enabledisable_across_clusterzones | Success | 77.20 | test_outofbandmanagement.py
    test_oobm_enable_feature_valid | Success | 5.13 | test_outofbandmanagement.py
    test_oobm_enable_feature_invalid | Success | 0.07 | test_outofbandmanagement.py
    test_oobm_disable_feature_valid | Success | 0.12 | test_outofbandmanagement.py
    test_oobm_disable_feature_invalid | Success | 0.08 | test_outofbandmanagement.py
    test_oobm_configure_invalid_driver | Success | 0.06 | test_outofbandmanagement.py
    test_oobm_configure_default_driver | Success | 0.06 | test_outofbandmanagement.py
    test_oobm_background_powerstate_sync | Success | 23.34 | test_outofbandmanagement.py
    test_extendPhysicalNetworkVlan | Success | 15.26 | test_non_contigiousvlan.py
    test_01_nic | Success | 418.41 | test_nic.py
    test_releaseIP | Success | 242.35 | test_network.py
    test_reboot_router | Success | 417.77 | test_network.py
    test_public_ip_user_account | Success | 10.18 | test_network.py
    test_public_ip_admin_account | Success | 40.21 | test_network.py
    test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 66.86 | test_network.py
    test_network_rules_acquired_public_ip_2_nat_rule | Success | 61.62 | test_network.py
    test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 123.45 | test_network.py
    test_delete_account | Success | 297.23 | test_network.py
    test_02_port_fwd_on_non_src_nat | Success | 55.51 | test_network.py
    test_01_port_fwd_on_src_nat | Success | 111.61 | test_network.py
    test_nic_secondaryip_add_remove | Success | 222.07 | test_multipleips_per_nic.py
    login_test_saml_user | Success | 18.45 | test_login.py
    test_assign_and_removal_lb | Success | 133.44 | test_loadbalance.py
    test_02_create_lb_rule_non_nat | Success | 187.15 | test_loadbalance.py
    test_01_create_lb_rule_src_nat | Success | 207.66 | test_loadbalance.py
    test_03_list_snapshots | Success | 0.04 | test_list_ids_parameter.py
    test_02_list_templates | Success | 0.03 | test_list_ids_parameter.py
    test_01_list_volumes | Success | 0.02 | test_list_ids_parameter.py
    test_07_list_default_iso | Success | 0.04 | test_iso.py
    test_05_iso_permissions | Success | 0.04 | test_iso.py
    test_04_extract_Iso | Success | 5.13 | test_iso.py
    test_03_delete_iso | Success | 95.13 | test_iso.py
    test_02_edit_iso | Success | 0.04 | test_iso.py
    test_01_create_iso | Success | 20.68 | test_iso.py
    test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Success | 198.07 | test_internal_lb.py
    test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 147.62 | test_internal_lb.py
    test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Success | 485.71 | test_internal_lb.py
    test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Success | 420.13 | test_internal_lb.py
    test_dedicateGuestVlanRange | Success | 10.20 | test_guest_vlan_range.py
    test_UpdateConfigParamWithScope | Success | 0.10 | test_global_settings.py
    test_rolepermission_lifecycle_update | Success | 5.80 | test_dynamicroles.py
    test_rolepermission_lifecycle_list | Success | 5.67 | test_dynamicroles.py
    test_rolepermission_lifecycle_delete | Success | 5.58 | test_dynamicroles.py
    test_rolepermission_lifecycle_create | Success | 5.63 | test_dynamicroles.py
    test_rolepermission_lifecycle_concurrent_updates | Success | 5.70 | test_dynamicroles.py
    test_role_lifecycle_update_role_inuse | Success | 5.62 | test_dynamicroles.py
    test_role_lifecycle_update | Success | 10.67 | test_dynamicroles.py
    test_role_lifecycle_list | Success | 5.62 | test_dynamicroles.py
    test_role_lifecycle_delete | Success | 10.66 | test_dynamicroles.py
    test_role_lifecycle_create | Success | 5.62 | test_dynamicroles.py
    test_role_inuse_deletion | Success | 5.59 | test_dynamicroles.py
    test_role_account_acls_multiple_mgmt_servers | Success | 6.99 | test_dynamicroles.py
    test_role_account_acls | Success | 7.24 | test_dynamicroles.py
    test_default_role_deletion | Success | 5.68 | test_dynamicroles.py
    test_04_create_fat_type_disk_offering | Success | 0.05 | test_disk_offerings.py
    test_03_delete_disk_offering | Success | 0.03 | test_disk_offerings.py
    test_02_edit_disk_offering | Success | 0.04 | test_disk_offerings.py
    test_02_create_sparse_type_disk_offering | Success | 0.05 | test_disk_offerings.py
    test_01_create_disk_offering | Success | 0.08 | test_disk_offerings.py
    test_deployvm_userdispersing | Success | 20.43 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userconcentrated | Success | 45.56 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_firstfit | Success | 50.45 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userdata_post | Success | 10.39 | test_deploy_vm_with_userdata.py
    test_deployvm_userdata | Success | 55.66 | test_deploy_vm_with_userdata.py
    test_02_deploy_vm_root_resize | Success | 5.66 | test_deploy_vm_root_resize.py
    test_01_deploy_vm_root_resize | Success | 5.67 | test_deploy_vm_root_resize.py
    test_00_deploy_vm_root_resize | Success | 206.80 | test_deploy_vm_root_resize.py
    test_deploy_vm_from_iso | Success | 211.81 | test_deploy_vm_iso.py
    test_DeployVmAntiAffinityGroup | Success | 75.76 | test_affinity_groups.py
    test_change_service_offering_for_vm_with_snapshots | Skipped | 0.00 | test_vm_snapshots.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_01_scale_vm | Skipped | 0.00 | test_scale_vm.py
    test_01_primary_storage_iscsi | Skipped | 0.03 | test_primary_storage.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.03 | test_deploy_vgpu_enabled_vm.py



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1992: CLOUDSTACK-9824:Resource count for Primary storage i...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1992
  
    Packaging result: \u2714centos6 \u2714centos7 \u2714debian. JID-570


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1992: CLOUDSTACK-9824:Resource count for Primary storage i...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1992
  
    @borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1992: CLOUDSTACK-9824:Resource count for Primary storage i...

Posted by borisstoyanov <gi...@git.apache.org>.
Github user borisstoyanov commented on the issue:

    https://github.com/apache/cloudstack/pull/1992
  
    @blueorangutan test


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1992: CLOUDSTACK-9824:Resource count for Primary storage i...

Posted by borisstoyanov <gi...@git.apache.org>.
Github user borisstoyanov commented on the issue:

    https://github.com/apache/cloudstack/pull/1992
  
    Thanks for this fix @PranaliM 
    @blueorangutan package


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1992: CLOUDSTACK-9824:Resource count for Primary storage i...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1992
  
    @borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---