You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by rhtyd <gi...@git.apache.org> on 2017/02/22 08:06:45 UTC

[GitHub] cloudstack pull request #1960: CLOUDSTACK-9782: Host HA and KVM HA provider

GitHub user rhtyd opened a pull request:

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

    CLOUDSTACK-9782: Host HA and KVM HA provider

    Host-HA offers investigation, fencing and recovery mechanisms for host that for
    any reason are malfunctioning. It uses Activity and Health checks to determine
    current host state based on which it may degrade a host or try to recover it. On
    failing to recover it, it may try to fence the host.
    
    The core feature is implemented in a hypervisor agnostic way, with two separate
    implementations of the driver/provider for Simulator and KVM hypervisors. The
    framework also allows for implementation of other hypervisor specific provider
    implementation in future.
    
    The Host-HA provider implementation for KVM hypervisor uses the out-of-band
    management sub-system to issue IPMI calls to reset (recover) or poweroff (fence)
    a host.
    
    The Host-HA provider implementation for Simulator provides a means of testing 
    and validating the core framework implementation.
    
    FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Host+HA
    
    Signed-off-by: Abhinandan Prateek <ab...@shapeblue.com>
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

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

    $ git pull https://github.com/shapeblue/cloudstack host-ha-master

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

    https://github.com/apache/cloudstack/pull/1960.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 #1960
    
----
commit 24ec0dd70a97be738e18cc66a6ec0401edd7f32f
Author: Rohit Yadav <ro...@shapeblue.com>
Date:   2017-02-15T12:06:18Z

    CLOUDSTACK-9782: Host HA and KVM HA provider
    
    Host-HA offers investigation, fencing and recovery mechanisms for host that for
    any reason are malfunctioning. It uses Activity and Health checks to determine
    current host state based on which it may degrade a host or try to recover it. On
    failing to recover it, it may try to fence the host.
    
    The core feature is implemented in a hypervisor agnostic way, with two separate
    implementations of the driver/provider for Simulator and KVM hypervisors. The
    framework also allows for implementation of other hypervisor specific provider
    implementation in future.
    
    The Host-HA provider implementation for KVM hypervisor uses the out-of-band
    management sub-system to issue IPMI calls to reset (recover) or poweroff (fence)
    a host.
    
    The Host-HA provider implementation for Simulator provides a means of testing
    and validating the core framework implementation.
    
    Signed-off-by: Abhinandan Prateek <ab...@shapeblue.com>
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

----


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

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


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    <b>Trillian test result (tid-963)</b>
    Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
    Total time taken: 34953 seconds
    Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1960-t963-kvm-centos7.zip
    Intermitten failure detected: /marvin/tests/smoke/test_ha_kvm_agent.py
    Intermitten failure detected: /marvin/tests/smoke/test_hostha_simulator.py
    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_templates.py
    Intermitten failure detected: /marvin/tests/smoke/test_vpc_redundant.py
    Test completed. 49 look ok, 3 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---
    test_02_redundant_VPC_default_routes | `Failure` | 874.51 | test_vpc_redundant.py
    test_04_rvpc_privategw_static_routes | `Failure` | 330.43 | test_privategw_acl.py
    test_02_list_snapshots_with_removed_data_store | `Error` | 0.04 | test_snapshots.py
    test_ha_list_providers | `Error` | 0.02 | test_hostha_simulator.py
    test_01_vpc_site2site_vpn | Success | 170.43 | test_vpc_vpn.py
    test_01_vpc_remote_access_vpn | Success | 66.20 | test_vpc_vpn.py
    test_01_redundant_vpc_site2site_vpn | Success | 260.69 | test_vpc_vpn.py
    test_02_VPC_default_routes | Success | 277.21 | test_vpc_router_nics.py
    test_01_VPC_nics_after_destroy | Success | 548.46 | test_vpc_router_nics.py
    test_05_rvpc_multi_tiers | Success | 527.13 | test_vpc_redundant.py
    test_04_rvpc_network_garbage_collector_nics | Success | 1330.72 | test_vpc_redundant.py
    test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Success | 559.52 | test_vpc_redundant.py
    test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Success | 1286.51 | test_vpc_redundant.py
    test_09_delete_detached_volume | Success | 157.14 | test_volumes.py
    test_08_resize_volume | Success | 156.39 | test_volumes.py
    test_07_resize_fail | Success | 156.44 | test_volumes.py
    test_06_download_detached_volume | Success | 156.36 | test_volumes.py
    test_05_detach_volume | Success | 155.84 | test_volumes.py
    test_04_delete_attached_volume | Success | 151.22 | test_volumes.py
    test_03_download_attached_volume | Success | 156.28 | test_volumes.py
    test_02_attach_volume | Success | 124.18 | test_volumes.py
    test_01_create_volume | Success | 711.49 | test_volumes.py
    test_03_delete_vm_snapshots | Success | 275.19 | test_vm_snapshots.py
    test_02_revert_vm_snapshots | Success | 100.65 | test_vm_snapshots.py
    test_01_create_vm_snapshots | Success | 158.72 | test_vm_snapshots.py
    test_deploy_vm_multiple | Success | 277.88 | test_vm_life_cycle.py
    test_deploy_vm | Success | 0.03 | test_vm_life_cycle.py
    test_advZoneVirtualRouter | Success | 0.02 | test_vm_life_cycle.py
    test_10_attachAndDetach_iso | Success | 31.69 | test_vm_life_cycle.py
    test_09_expunge_vm | Success | 125.26 | test_vm_life_cycle.py
    test_08_migrate_vm | Success | 30.92 | test_vm_life_cycle.py
    test_07_restore_vm | Success | 0.13 | test_vm_life_cycle.py
    test_06_destroy_vm | Success | 125.86 | test_vm_life_cycle.py
    test_03_reboot_vm | Success | 125.85 | test_vm_life_cycle.py
    test_02_start_vm | Success | 10.17 | test_vm_life_cycle.py
    test_01_stop_vm | Success | 40.35 | test_vm_life_cycle.py
    test_CreateTemplateWithDuplicateName | Success | 40.45 | 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.09 | test_templates.py
    test_04_extract_template | Success | 5.31 | test_templates.py
    test_03_delete_template | Success | 5.13 | test_templates.py
    test_02_edit_template | Success | 90.14 | test_templates.py
    test_01_create_template | Success | 25.34 | test_templates.py
    test_10_destroy_cpvm | Success | 161.72 | test_ssvm.py
    test_09_destroy_ssvm | Success | 163.91 | test_ssvm.py
    test_08_reboot_cpvm | Success | 101.57 | test_ssvm.py
    test_07_reboot_ssvm | Success | 133.59 | test_ssvm.py
    test_06_stop_cpvm | Success | 131.74 | test_ssvm.py
    test_05_stop_ssvm | Success | 133.64 | test_ssvm.py
    test_04_cpvm_internals | Success | 1.18 | test_ssvm.py
    test_03_ssvm_internals | Success | 3.41 | test_ssvm.py
    test_02_list_cpvm_vm | Success | 0.13 | test_ssvm.py
    test_01_list_sec_storage_vm | Success | 0.14 | test_ssvm.py
    test_01_snapshot_root_disk | Success | 11.13 | test_snapshots.py
    test_04_change_offering_small | Success | 239.66 | test_service_offerings.py
    test_03_delete_service_offering | Success | 0.04 | test_service_offerings.py
    test_02_edit_service_offering | Success | 0.07 | test_service_offerings.py
    test_01_create_service_offering | Success | 0.13 | test_service_offerings.py
    test_02_sys_template_ready | Success | 0.13 | test_secondary_storage.py
    test_01_sys_vm_start | Success | 0.19 | test_secondary_storage.py
    test_09_reboot_router | Success | 35.32 | test_routers.py
    test_08_start_router | Success | 30.28 | test_routers.py
    test_07_stop_router | Success | 10.16 | test_routers.py
    test_06_router_advanced | Success | 0.07 | test_routers.py
    test_05_router_basic | Success | 0.04 | test_routers.py
    test_04_restart_network_wo_cleanup | Success | 5.70 | test_routers.py
    test_03_restart_network_cleanup | Success | 60.53 | 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.81 | test_router_dns.py
    test_router_dns_externalipquery | Success | 0.08 | test_router_dns.py
    test_router_dhcphosts | Success | 276.88 | test_router_dhcphosts.py
    test_router_dhcp_opts | Success | 21.83 | test_router_dhcphosts.py
    test_01_updatevolumedetail | Success | 0.09 | test_resource_detail.py
    test_01_reset_vm_on_reboot | Success | 130.97 | test_reset_vm_on_reboot.py
    test_createRegion | Success | 0.04 | test_regions.py
    test_create_pvlan_network | Success | 5.23 | test_pvlan.py
    test_dedicatePublicIpRange | Success | 0.42 | test_public_ip_range.py
    test_03_vpc_privategw_restart_vpc_cleanup | Success | 484.97 | test_privategw_acl.py
    test_02_vpc_privategw_static_routes | Success | 365.40 | test_privategw_acl.py
    test_01_vpc_privategw_acl | Success | 92.18 | test_privategw_acl.py
    test_01_primary_storage_nfs | Success | 35.81 | test_primary_storage.py
    test_createPortablePublicIPRange | Success | 15.21 | test_portable_publicip.py
    test_createPortablePublicIPAcquire | Success | 15.45 | test_portable_publicip.py
    test_isolate_network_password_server | Success | 89.51 | test_password_server.py
    test_UpdateStorageOverProvisioningFactor | Success | 0.13 | test_over_provisioning.py
    test_oobm_zchange_password | Success | 30.64 | test_outofbandmanagement.py
    test_oobm_multiple_mgmt_server_ownership | Success | 14.39 | test_outofbandmanagement.py
    test_oobm_issue_power_status | Success | 10.27 | test_outofbandmanagement.py
    test_oobm_issue_power_soft | Success | 15.39 | test_outofbandmanagement.py
    test_oobm_issue_power_reset | Success | 15.32 | test_outofbandmanagement.py
    test_oobm_issue_power_on | Success | 15.34 | test_outofbandmanagement.py
    test_oobm_issue_power_off | Success | 15.50 | test_outofbandmanagement.py
    test_oobm_issue_power_cycle | Success | 15.38 | test_outofbandmanagement.py
    test_oobm_enabledisable_across_clusterzones | Success | 82.74 | test_outofbandmanagement.py
    test_oobm_enable_feature_valid | Success | 5.16 | test_outofbandmanagement.py
    test_oobm_enable_feature_invalid | Success | 0.10 | test_outofbandmanagement.py
    test_oobm_disable_feature_valid | Success | 5.20 | test_outofbandmanagement.py
    test_oobm_disable_feature_invalid | Success | 0.10 | test_outofbandmanagement.py
    test_oobm_configure_invalid_driver | Success | 0.07 | test_outofbandmanagement.py
    test_oobm_configure_default_driver | Success | 0.08 | test_outofbandmanagement.py
    test_oobm_background_powerstate_sync | Success | 16.57 | test_outofbandmanagement.py
    test_extendPhysicalNetworkVlan | Success | 15.31 | test_non_contigiousvlan.py
    test_01_nic | Success | 439.31 | test_nic.py
    test_releaseIP | Success | 247.93 | test_network.py
    test_reboot_router | Success | 408.56 | test_network.py
    test_public_ip_user_account | Success | 10.27 | test_network.py
    test_public_ip_admin_account | Success | 40.30 | test_network.py
    test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 67.04 | test_network.py
    test_network_rules_acquired_public_ip_2_nat_rule | Success | 61.72 | test_network.py
    test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 123.80 | test_network.py
    test_delete_account | Success | 292.90 | test_network.py
    test_02_port_fwd_on_non_src_nat | Success | 55.68 | test_network.py
    test_01_port_fwd_on_src_nat | Success | 111.73 | test_network.py
    test_nic_secondaryip_add_remove | Success | 217.74 | test_multipleips_per_nic.py
    login_test_saml_user | Success | 19.17 | test_login.py
    test_assign_and_removal_lb | Success | 133.55 | test_loadbalance.py
    test_02_create_lb_rule_non_nat | Success | 187.34 | test_loadbalance.py
    test_01_create_lb_rule_src_nat | Success | 217.89 | 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.19 | test_iso.py
    test_03_delete_iso | Success | 95.12 | 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 | 208.56 | test_internal_lb.py
    test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 158.30 | test_internal_lb.py
    test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Success | 534.02 | test_internal_lb.py
    test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Success | 440.90 | test_internal_lb.py
    test_remove_ha_provider_not_possible | Success | 10.48 | test_ha_kvm.py
    test_hostha_enable_ha_when_host_inMaintenance | Success | 15.68 | test_ha_kvm.py
    test_hostha_enable_ha_when_host_disconected | Success | 17.36 | test_ha_kvm.py
    test_hostha_enable_ha_when_host_disabled | Success | 10.50 | test_ha_kvm.py
    test_hostha_enable_feature_without_setting_provider | Success | 5.21 | test_ha_kvm.py
    test_hostha_enable_feature_valid | Success | 5.34 | test_ha_kvm.py
    test_hostha_disable_feature_valid | Success | 5.29 | test_ha_kvm.py
    test_hostha_configure_invalid_provider | Success | 0.21 | test_ha_kvm.py
    test_hostha_configure_default_driver | Success | 5.20 | test_ha_kvm.py
    test_ha_enable_feature_invalid | Success | 0.30 | test_ha_kvm.py
    test_ha_disable_feature_invalid | Success | 0.26 | test_ha_kvm.py
    test_enable_ha_when_host_powerstate_on | Success | 25.32 | test_ha_kvm.py
    test_disable_oobm_ha_state_ineligible | Success | 15.58 | test_ha_kvm.py
    test_configure_ha_provider_valid | Success | 10.61 | test_ha_kvm.py
    test_configure_ha_provider_invalid | Success | 11.04 | test_ha_kvm.py
    test_list_ha_for_host_valid | Success | 0.14 | test_ha_for_host.py
    test_list_ha_for_host_invalid | Success | 5.17 | test_ha_for_host.py
    test_list_ha_for_host | Success | 0.18 | test_ha_for_host.py
    test_enable_ha_for_host_invalid | Success | 5.26 | test_ha_for_host.py
    test_enable_ha_for_host | Success | 5.24 | test_ha_for_host.py
    test_disable_ha_for_host_invalid | Success | 5.26 | test_ha_for_host.py
    test_disable_ha_for_host | Success | 10.44 | test_ha_for_host.py
    test_dedicateGuestVlanRange | Success | 10.31 | test_guest_vlan_range.py
    test_UpdateConfigParamWithScope | Success | 0.14 | test_global_settings.py
    test_rolepermission_lifecycle_update | Success | 6.23 | test_dynamicroles.py
    test_rolepermission_lifecycle_list | Success | 6.01 | test_dynamicroles.py
    test_rolepermission_lifecycle_delete | Success | 5.86 | test_dynamicroles.py
    test_rolepermission_lifecycle_create | Success | 5.93 | test_dynamicroles.py
    test_rolepermission_lifecycle_concurrent_updates | Success | 6.08 | test_dynamicroles.py
    test_role_lifecycle_update_role_inuse | Success | 6.08 | test_dynamicroles.py
    test_role_lifecycle_update | Success | 11.03 | test_dynamicroles.py
    test_role_lifecycle_list | Success | 5.95 | test_dynamicroles.py
    test_role_lifecycle_delete | Success | 10.96 | test_dynamicroles.py
    test_role_lifecycle_create | Success | 6.04 | test_dynamicroles.py
    test_role_inuse_deletion | Success | 5.88 | test_dynamicroles.py
    test_role_account_acls_multiple_mgmt_servers | Success | 8.20 | test_dynamicroles.py
    test_role_account_acls | Success | 8.31 | test_dynamicroles.py
    test_default_role_deletion | Success | 6.25 | test_dynamicroles.py
    test_04_create_fat_type_disk_offering | Success | 0.07 | 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.11 | test_disk_offerings.py
    test_deployvm_userdispersing | Success | 20.59 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userconcentrated | Success | 30.65 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_firstfit | Success | 50.63 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userdata_post | Success | 10.46 | test_deploy_vm_with_userdata.py
    test_deployvm_userdata | Success | 55.79 | test_deploy_vm_with_userdata.py
    test_02_deploy_vm_root_resize | Success | 5.98 | test_deploy_vm_root_resize.py
    test_01_deploy_vm_root_resize | Success | 5.95 | test_deploy_vm_root_resize.py
    test_00_deploy_vm_root_resize | Success | 222.57 | test_deploy_vm_root_resize.py
    test_deploy_vm_from_iso | Success | 207.72 | test_deploy_vm_iso.py
    test_DeployVmAntiAffinityGroup | Success | 65.95 | 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.10 | 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_hostha_enable_feature_without_setting_provider | Skipped | 0.05 | test_hostha_simulator.py
    test_hostha_enable_feature_valid | Skipped | 0.02 | test_hostha_simulator.py
    test_hostha_disable_feature_valid | Skipped | 0.02 | test_hostha_simulator.py
    test_hostha_configure_invalid_provider | Skipped | 0.02 | test_hostha_simulator.py
    test_hostha_configure_default_driver | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_verify_fsm_recovering | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_verify_fsm_fenced | Skipped | 0.04 | test_hostha_simulator.py
    test_ha_verify_fsm_degraded | Skipped | 0.04 | test_hostha_simulator.py
    test_ha_verify_fsm_available | Skipped | 0.05 | test_hostha_simulator.py
    test_ha_multiple_mgmt_server_ownership | Skipped | 0.04 | test_hostha_simulator.py
    test_ha_enabledisable_across_clusterzones | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_enable_feature_invalid | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_disable_feature_invalid | Skipped | 0.02 | test_hostha_simulator.py
    test_configure_ha_provider_valid | Skipped | 0.02 | test_hostha_simulator.py
    test_configure_ha_provider_invalid | Skipped | 0.05 | test_hostha_simulator.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



---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103890661
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/ha/DisableHAForClusterCmd.java ---
    @@ -0,0 +1,114 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.admin.ha;
    +
    +import com.cloud.event.EventTypes;
    +import com.cloud.exception.ConcurrentOperationException;
    +import com.cloud.exception.InsufficientCapacityException;
    +import com.cloud.exception.NetworkRuleConflictException;
    +import com.cloud.exception.ResourceAllocationException;
    +import com.cloud.exception.ResourceUnavailableException;
    +import com.cloud.org.Cluster;
    +import org.apache.cloudstack.acl.RoleType;
    +import org.apache.cloudstack.api.APICommand;
    +import org.apache.cloudstack.api.ApiArgValidator;
    +import org.apache.cloudstack.api.ApiConstants;
    +import org.apache.cloudstack.api.ApiErrorCode;
    +import org.apache.cloudstack.api.BaseAsyncCmd;
    +import org.apache.cloudstack.api.BaseCmd;
    +import org.apache.cloudstack.api.Parameter;
    +import org.apache.cloudstack.api.ServerApiException;
    +import org.apache.cloudstack.api.response.ClusterResponse;
    +import org.apache.cloudstack.api.response.SuccessResponse;
    +import org.apache.cloudstack.context.CallContext;
    +import org.apache.cloudstack.ha.HAConfigManager;
    +
    +import javax.inject.Inject;
    +
    +@APICommand(name = DisableHAForClusterCmd.APINAME, description = "Disables HA cluster-wide",
    --- End diff --
    
    If we decide to implement some kind of mirroring service for entire zones or clusters for high availability, these would then be disabled / enabled for a zone or cluster. In this case the enabling is done per host in the zone/cluster. That's why i consider the longer name I propose more appropriate. That said the shorter the name the better as long as it is unambiguous.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

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


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @rhtyd PRs 2003 and 2011 got merged, could you please rebase against master so it'll pick up the fixes. Once we package I'll continue with the verification on the physical hosts. 
     


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @abhinandanprateek If you refer to the discussion on dev@ https://goo.gl/cU8RuX, @rhtyd proposed it as a generic HA framework for any resources (and not limited to VM). Now if it just a replacement of the existing VM-HA framework then we need to discuss the benefits it provides in more detail compared to the existing one. I have already made some specific comments on the justifications provided in favour of a new framework.


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd closed the pull request at:

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


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @koushik-das I see that main issue is that this is being confused as VM HA framework. Will like to again add that this framework is not for VM-HA but for host HA. With this implementation of OOBM framework, Cloudstack is now in the position to control and HA a host. These developments helped us in putting together a Host HA framework. Only that while designing and coding we tried to keep it flexible so that later other entities that can be HAed can be added to the framework.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    Travis failed due to failure in the test ``test_ha_multiple_mgmt_server_owner...`, I'll have a look shortly


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    I went through the code and found no real issues. for any other reviewers I recommend reading the FS first. It is quit a big chunk but very neat.
    
    LGTM


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @koushik-das I've shared a list of advantages of this work over existing framework on dev@ that explain why existing VM-HA framework cannot be used for host-ha implementation. If you've more questions or comments, we can discuss them here or on dev@.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by rhtyd <gi...@git.apache.org>.
GitHub user rhtyd reopened a pull request:

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

    [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA provider

    Host-HA offers investigation, fencing and recovery mechanisms for host that for
    any reason are malfunctioning. It uses Activity and Health checks to determine
    current host state based on which it may degrade a host or try to recover it. On
    failing to recover it, it may try to fence the host.
    
    The core feature is implemented in a hypervisor agnostic way, with two separate
    implementations of the driver/provider for Simulator and KVM hypervisors. The
    framework also allows for implementation of other hypervisor specific provider
    implementation in future.
    
    The Host-HA provider implementation for KVM hypervisor uses the out-of-band
    management sub-system to issue IPMI calls to reset (recover) or poweroff (fence)
    a host.
    
    The Host-HA provider implementation for Simulator provides a means of testing 
    and validating the core framework implementation.
    
    FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Host+HA
    
    Signed-off-by: Abhinandan Prateek <ab...@shapeblue.com>
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

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

    $ git pull https://github.com/shapeblue/cloudstack host-ha-master

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

    https://github.com/apache/cloudstack/pull/1960.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 #1960
    
----
commit 24ec0dd70a97be738e18cc66a6ec0401edd7f32f
Author: Rohit Yadav <ro...@shapeblue.com>
Date:   2017-02-15T12:06:18Z

    CLOUDSTACK-9782: Host HA and KVM HA provider
    
    Host-HA offers investigation, fencing and recovery mechanisms for host that for
    any reason are malfunctioning. It uses Activity and Health checks to determine
    current host state based on which it may degrade a host or try to recover it. On
    failing to recover it, it may try to fence the host.
    
    The core feature is implemented in a hypervisor agnostic way, with two separate
    implementations of the driver/provider for Simulator and KVM hypervisors. The
    framework also allows for implementation of other hypervisor specific provider
    implementation in future.
    
    The Host-HA provider implementation for KVM hypervisor uses the out-of-band
    management sub-system to issue IPMI calls to reset (recover) or poweroff (fence)
    a host.
    
    The Host-HA provider implementation for Simulator provides a means of testing
    and validating the core framework implementation.
    
    Signed-off-by: Abhinandan Prateek <ab...@shapeblue.com>
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

----


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103221221
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/host/PrepareForMaintenanceCmd.java ---
    @@ -108,4 +108,8 @@ public void execute() {
                 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to prepare host for maintenance");
             }
         }
    +
    +    public void setHostId(final Long hostId) {
    --- End diff --
    
    naming: consistency would dictate this be called setId()


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @rhtyd tests looks good, except this one: 
    ```
    ERROR: Tests default ha providers list
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/marvin/tests/smoke/test_hostha_simulator.py", line 199, in test_ha_list_providers
        response = self.apiclient.listHostHAProviders(cmd)[0]
    TypeError: 'NoneType' object has no attribute '__getitem__'
    ```
    Looks like when simulator is not deployed test would fail. 


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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.
---

[GitHub] cloudstack issue #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @koushik-das sorry could not get back to you earlier as I was busy with other work. I've replied on the ML thread to address several queries [1] that lists the advantages of this host-ha framework over existing building blocks and I've explained why we needed to implement it. Please have at the reply, if you still have any reservations let us know on the ML thread, we'll get back to you.
     
    [1] http://markmail.org/message/k7oaqyv5mzmlvzhx
    
    Note: As stated earlier in the ML thread as well -- *this is not a new VM HA framework*, the framework implementation is agnostic of the host-specific HA-provider to allow any custom host-ha plugin to be developed that is specific to a hypervisor as each hypervisor may have their own specific tools/infra/algorithms to check resource (disk/vm etc) activities, including scope for future extentions for other HA-able resources.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    I have already raised some questions on dev@ on the need for a new HA framework when the existing HA framework can do all the things mentioned. The new framework only supports VM HA. If we see some concrete implementation of network/storage or any other type of resource HA which doesn't currently exist using the new framework then it would be much more easier to see the value add. I think more discussion is needed on this.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @rhtyd there seems to be a conflict for this merge, I'm currently running tests and will keep you posted


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103212736
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/ha/DisableHAForZoneCmd.java ---
    @@ -0,0 +1,115 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.admin.ha;
    +
    +import com.cloud.dc.DataCenter;
    +import com.cloud.event.EventTypes;
    +import com.cloud.exception.ConcurrentOperationException;
    +import com.cloud.exception.InsufficientCapacityException;
    +import com.cloud.exception.NetworkRuleConflictException;
    +import com.cloud.exception.ResourceAllocationException;
    +import com.cloud.exception.ResourceUnavailableException;
    +import org.apache.cloudstack.acl.RoleType;
    +import org.apache.cloudstack.api.APICommand;
    +import org.apache.cloudstack.api.ApiArgValidator;
    +import org.apache.cloudstack.api.ApiConstants;
    +import org.apache.cloudstack.api.ApiErrorCode;
    +import org.apache.cloudstack.api.BaseAsyncCmd;
    +import org.apache.cloudstack.api.BaseCmd;
    +import org.apache.cloudstack.api.Parameter;
    +import org.apache.cloudstack.api.ServerApiException;
    +import org.apache.cloudstack.api.response.SuccessResponse;
    +import org.apache.cloudstack.api.response.ZoneResponse;
    +import org.apache.cloudstack.context.CallContext;
    +import org.apache.cloudstack.ha.HAConfigManager;
    +
    +import javax.inject.Inject;
    +
    +@APICommand(name = DisableHAForZoneCmd.APINAME, description = "Disables HA for a zone",
    --- End diff --
    
    naming: see disable cluster cmd


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @abhinandanprateek Initially I also thought that this is about host HA. But after reading the FS I had doubts and asked about the definition of "host HA". If you refer to the discussion on dev@, it was mentioned that "host HA" would trigger VM HA so that they are started on other hosts. This is the same as existing VM HA and I don't think we should refer to it as host HA.
    
    @rhtyd I had replied with some specific questions/comments on the discussion thread. I didn't see any responses on those.
    
    Basically I would like to see a clear definition of "host HA". When a host is HA'd what all should happen? If the definition provided is nothing but VM HA then the question comes why a new framework when the existing framework is already there. 


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @borisstoyanov copy that, done


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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.
---

[GitHub] cloudstack pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103207344
  
    --- Diff: .travis.yml ---
    @@ -42,13 +42,18 @@ env:
                  smoke/test_dynamicroles
                  smoke/test_global_settings
                  smoke/test_guest_vlan_range
    +             smoke/test_ha_for_host
    --- End diff --
    
    :+1: :)


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103212914
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/ha/EnableHAForClusterCmd.java ---
    @@ -0,0 +1,114 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.admin.ha;
    +
    +import com.cloud.event.EventTypes;
    +import com.cloud.exception.ConcurrentOperationException;
    +import com.cloud.exception.InsufficientCapacityException;
    +import com.cloud.exception.NetworkRuleConflictException;
    +import com.cloud.exception.ResourceAllocationException;
    +import com.cloud.exception.ResourceUnavailableException;
    +import com.cloud.org.Cluster;
    +import org.apache.cloudstack.acl.RoleType;
    +import org.apache.cloudstack.api.APICommand;
    +import org.apache.cloudstack.api.ApiArgValidator;
    +import org.apache.cloudstack.api.ApiConstants;
    +import org.apache.cloudstack.api.ApiErrorCode;
    +import org.apache.cloudstack.api.BaseAsyncCmd;
    +import org.apache.cloudstack.api.BaseCmd;
    +import org.apache.cloudstack.api.Parameter;
    +import org.apache.cloudstack.api.ServerApiException;
    +import org.apache.cloudstack.api.response.ClusterResponse;
    +import org.apache.cloudstack.api.response.SuccessResponse;
    +import org.apache.cloudstack.context.CallContext;
    +import org.apache.cloudstack.ha.HAConfigManager;
    +
    +import javax.inject.Inject;
    +
    +@APICommand(name = EnableHAForClusterCmd.APINAME, description = "Enables HA cluster-wide",
    +        responseObject = SuccessResponse.class,
    +        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false,
    +        since = "4.11", authorized = {RoleType.Admin})
    +public final class EnableHAForClusterCmd extends BaseAsyncCmd {
    --- End diff --
    
    naming: see disable cmd


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103221397
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/outofbandmanagement/ChangeOutOfBandManagementPasswordCmd.java ---
    @@ -74,7 +74,7 @@ public void execute() throws ResourceUnavailableException, InsufficientCapacityE
             CallContext.current().setEventDetails("Host Id: " + host.getId() + " Password: " + getPassword().charAt(0) + "****");
             CallContext.current().putContextParameter(Host.class, host.getUuid());
     
    -        final OutOfBandManagementResponse response = outOfBandManagementService.changeOutOfBandManagementPassword(host, getPassword());
    +        final OutOfBandManagementResponse response = outOfBandManagementService.changePassword(host, getPassword());
    --- End diff --
    
    :+1:


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103397882
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/host/PrepareForMaintenanceCmd.java ---
    @@ -108,4 +108,8 @@ public void execute() {
                 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to prepare host for maintenance");
             }
         }
    +
    +    public void setHostId(final Long hostId) {
    --- End diff --
    
    I think the setters and getters are named per the variable, since the variable is hostId IDEs generate getHostId, setHostId named methods.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    Thanks @DaanHoogland wherever applicable I'll address the comments.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    Hi @koushik-das 
    
    I believe you missed a discussion on this a while back - when this was initially proposed and we were gathering community feedback. 
    
    please read this thread http://markmail.org/message/dtsfb6crbtqx3xut 
    It will explain why we are choosing this solution and how current VM HA in production is not meeting the needs.
     
    Thanks
    -ilya
    
    PS: we also gave community ample of opportunity to respond to our FS, this was almost 2 years in the making.. 


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103872151
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/host/PrepareForMaintenanceCmd.java ---
    @@ -108,4 +108,8 @@ public void execute() {
                 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to prepare host for maintenance");
             }
         }
    +
    +    public void setHostId(final Long hostId) {
    --- End diff --
    
    the field name is id, so i don't understand your reply


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103397573
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/ha/DisableHAForClusterCmd.java ---
    @@ -0,0 +1,114 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.admin.ha;
    +
    +import com.cloud.event.EventTypes;
    +import com.cloud.exception.ConcurrentOperationException;
    +import com.cloud.exception.InsufficientCapacityException;
    +import com.cloud.exception.NetworkRuleConflictException;
    +import com.cloud.exception.ResourceAllocationException;
    +import com.cloud.exception.ResourceUnavailableException;
    +import com.cloud.org.Cluster;
    +import org.apache.cloudstack.acl.RoleType;
    +import org.apache.cloudstack.api.APICommand;
    +import org.apache.cloudstack.api.ApiArgValidator;
    +import org.apache.cloudstack.api.ApiConstants;
    +import org.apache.cloudstack.api.ApiErrorCode;
    +import org.apache.cloudstack.api.BaseAsyncCmd;
    +import org.apache.cloudstack.api.BaseCmd;
    +import org.apache.cloudstack.api.Parameter;
    +import org.apache.cloudstack.api.ServerApiException;
    +import org.apache.cloudstack.api.response.ClusterResponse;
    +import org.apache.cloudstack.api.response.SuccessResponse;
    +import org.apache.cloudstack.context.CallContext;
    +import org.apache.cloudstack.ha.HAConfigManager;
    +
    +import javax.inject.Inject;
    +
    +@APICommand(name = DisableHAForClusterCmd.APINAME, description = "Disables HA cluster-wide",
    --- End diff --
    
    @DaanHoogland can you illustrate an example where we may hit such a conflict? This API actually disables the feature (framework etc) for cluster/zone etc. While the Host specific APIs work on the host.


---
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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103213259
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/ha/EnableHAForZoneCmd.java ---
    @@ -0,0 +1,115 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.admin.ha;
    +
    +import com.cloud.dc.DataCenter;
    +import com.cloud.event.EventTypes;
    +import com.cloud.exception.ConcurrentOperationException;
    +import com.cloud.exception.InsufficientCapacityException;
    +import com.cloud.exception.NetworkRuleConflictException;
    +import com.cloud.exception.ResourceAllocationException;
    +import com.cloud.exception.ResourceUnavailableException;
    +import org.apache.cloudstack.acl.RoleType;
    +import org.apache.cloudstack.api.APICommand;
    +import org.apache.cloudstack.api.ApiArgValidator;
    +import org.apache.cloudstack.api.ApiConstants;
    +import org.apache.cloudstack.api.ApiErrorCode;
    +import org.apache.cloudstack.api.BaseAsyncCmd;
    +import org.apache.cloudstack.api.BaseCmd;
    +import org.apache.cloudstack.api.Parameter;
    +import org.apache.cloudstack.api.ServerApiException;
    +import org.apache.cloudstack.api.response.SuccessResponse;
    +import org.apache.cloudstack.api.response.ZoneResponse;
    +import org.apache.cloudstack.context.CallContext;
    +import org.apache.cloudstack.ha.HAConfigManager;
    +
    +import javax.inject.Inject;
    +
    +@APICommand(name = EnableHAForZoneCmd.APINAME, description = "Enables HA for a zone",
    +        responseObject = SuccessResponse.class,
    +        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false,
    +        since = "4.11", authorized = {RoleType.Admin})
    +public final class EnableHAForZoneCmd extends BaseAsyncCmd {
    --- End diff --
    
    naming: see disable cluster


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @koushik-das The current framework is specifically implemented for Host HA with KVM HA as the initial implementation. This framework is supposed to replace the framework that is specifically written for VM-HA. @rhtyd 


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    There are open questions that I had asked in the dev@ list and haven't seen satisfactory answers to them. I am -1 on this feature till the need for a new VM HA framework is justified.


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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 pull request #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KV...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1960#discussion_r103210828
  
    --- Diff: api/src/org/apache/cloudstack/api/command/admin/ha/DisableHAForClusterCmd.java ---
    @@ -0,0 +1,114 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.admin.ha;
    +
    +import com.cloud.event.EventTypes;
    +import com.cloud.exception.ConcurrentOperationException;
    +import com.cloud.exception.InsufficientCapacityException;
    +import com.cloud.exception.NetworkRuleConflictException;
    +import com.cloud.exception.ResourceAllocationException;
    +import com.cloud.exception.ResourceUnavailableException;
    +import com.cloud.org.Cluster;
    +import org.apache.cloudstack.acl.RoleType;
    +import org.apache.cloudstack.api.APICommand;
    +import org.apache.cloudstack.api.ApiArgValidator;
    +import org.apache.cloudstack.api.ApiConstants;
    +import org.apache.cloudstack.api.ApiErrorCode;
    +import org.apache.cloudstack.api.BaseAsyncCmd;
    +import org.apache.cloudstack.api.BaseCmd;
    +import org.apache.cloudstack.api.Parameter;
    +import org.apache.cloudstack.api.ServerApiException;
    +import org.apache.cloudstack.api.response.ClusterResponse;
    +import org.apache.cloudstack.api.response.SuccessResponse;
    +import org.apache.cloudstack.context.CallContext;
    +import org.apache.cloudstack.ha.HAConfigManager;
    +
    +import javax.inject.Inject;
    +
    +@APICommand(name = DisableHAForClusterCmd.APINAME, description = "Disables HA cluster-wide",
    --- End diff --
    
    naming: looking at the code below this actually is DisableHAForHostsInClusterCmd. I don't think it is a biggy but might lead to conflicts at some point


---
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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    @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 #1960: [4.11/Future] CLOUDSTACK-9782: Host HA and KVM HA pr...

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

    https://github.com/apache/cloudstack/pull/1960
  
    <b>Trillian test result (tid-879)</b>
    Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
    Total time taken: 28334 seconds
    Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1960-t879-kvm-centos7.zip
    Intermitten failure detected: /marvin/tests/smoke/test_ha_kvm_agent.py
    Intermitten failure detected: /marvin/tests/smoke/test_hostha_simulator.py
    Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
    Intermitten failure detected: /marvin/tests/smoke/test_snapshots.py
    Test completed. 50 look ok, 2 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---
    test_04_rvpc_privategw_static_routes | `Failure` | 340.05 | test_privategw_acl.py
    test_02_list_snapshots_with_removed_data_store | `Error` | 0.03 | test_snapshots.py
    test_ha_list_providers | `Error` | 0.10 | test_hostha_simulator.py
    test_01_vpc_site2site_vpn | Success | 184.49 | test_vpc_vpn.py
    test_01_vpc_remote_access_vpn | Success | 65.84 | test_vpc_vpn.py
    test_01_redundant_vpc_site2site_vpn | Success | 285.17 | test_vpc_vpn.py
    test_02_VPC_default_routes | Success | 250.91 | test_vpc_router_nics.py
    test_01_VPC_nics_after_destroy | Success | 502.06 | test_vpc_router_nics.py
    test_05_rvpc_multi_tiers | Success | 532.08 | test_vpc_redundant.py
    test_04_rvpc_network_garbage_collector_nics | Success | 1320.25 | test_vpc_redundant.py
    test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Success | 561.77 | test_vpc_redundant.py
    test_02_redundant_VPC_default_routes | Success | 790.78 | test_vpc_redundant.py
    test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Success | 1315.14 | test_vpc_redundant.py
    test_09_delete_detached_volume | Success | 156.78 | test_volumes.py
    test_08_resize_volume | Success | 156.30 | test_volumes.py
    test_07_resize_fail | Success | 156.18 | test_volumes.py
    test_06_download_detached_volume | Success | 156.29 | test_volumes.py
    test_05_detach_volume | Success | 155.80 | test_volumes.py
    test_04_delete_attached_volume | Success | 146.25 | test_volumes.py
    test_03_download_attached_volume | Success | 151.47 | test_volumes.py
    test_02_attach_volume | Success | 124.07 | test_volumes.py
    test_01_create_volume | Success | 718.67 | test_volumes.py
    test_03_delete_vm_snapshots | Success | 275.17 | test_vm_snapshots.py
    test_02_revert_vm_snapshots | Success | 100.71 | test_vm_snapshots.py
    test_01_create_vm_snapshots | Success | 163.65 | test_vm_snapshots.py
    test_deploy_vm_multiple | Success | 297.29 | 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.80 | test_vm_life_cycle.py
    test_09_expunge_vm | Success | 125.18 | test_vm_life_cycle.py
    test_08_migrate_vm | Success | 35.67 | test_vm_life_cycle.py
    test_07_restore_vm | Success | 0.10 | test_vm_life_cycle.py
    test_06_destroy_vm | Success | 125.71 | test_vm_life_cycle.py
    test_03_reboot_vm | Success | 125.91 | test_vm_life_cycle.py
    test_02_start_vm | Success | 10.16 | test_vm_life_cycle.py
    test_01_stop_vm | Success | 35.25 | test_vm_life_cycle.py
    test_CreateTemplateWithDuplicateName | Success | 135.79 | test_templates.py
    test_08_list_system_templates | Success | 0.02 | test_templates.py
    test_07_list_public_templates | Success | 0.02 | test_templates.py
    test_05_template_permissions | Success | 0.04 | test_templates.py
    test_04_extract_template | Success | 5.21 | test_templates.py
    test_03_delete_template | Success | 5.08 | test_templates.py
    test_02_edit_template | Success | 90.11 | test_templates.py
    test_01_create_template | Success | 40.35 | test_templates.py
    test_10_destroy_cpvm | Success | 191.68 | test_ssvm.py
    test_09_destroy_ssvm | Success | 163.76 | test_ssvm.py
    test_08_reboot_cpvm | Success | 161.37 | test_ssvm.py
    test_07_reboot_ssvm | Success | 103.06 | test_ssvm.py
    test_06_stop_cpvm | Success | 131.39 | test_ssvm.py
    test_05_stop_ssvm | Success | 134.02 | test_ssvm.py
    test_04_cpvm_internals | Success | 0.96 | test_ssvm.py
    test_03_ssvm_internals | Success | 3.21 | test_ssvm.py
    test_02_list_cpvm_vm | Success | 0.09 | test_ssvm.py
    test_01_list_sec_storage_vm | Success | 0.09 | test_ssvm.py
    test_01_snapshot_root_disk | Success | 10.93 | test_snapshots.py
    test_04_change_offering_small | Success | 209.78 | test_service_offerings.py
    test_03_delete_service_offering | Success | 0.03 | 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.09 | test_secondary_storage.py
    test_01_sys_vm_start | Success | 0.13 | test_secondary_storage.py
    test_09_reboot_router | Success | 30.21 | test_routers.py
    test_08_start_router | Success | 30.23 | test_routers.py
    test_07_stop_router | Success | 10.11 | 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.55 | test_routers.py
    test_03_restart_network_cleanup | Success | 55.40 | test_routers.py
    test_02_router_internal_adv | Success | 0.89 | test_routers.py
    test_01_router_internal_basic | Success | 0.50 | 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 | 240.94 | test_router_dhcphosts.py
    test_router_dhcp_opts | Success | 21.41 | test_router_dhcphosts.py
    test_01_updatevolumedetail | Success | 5.08 | test_resource_detail.py
    test_01_reset_vm_on_reboot | Success | 145.88 | 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 | 503.55 | test_privategw_acl.py
    test_02_vpc_privategw_static_routes | Success | 348.69 | test_privategw_acl.py
    test_01_vpc_privategw_acl | Success | 71.50 | test_privategw_acl.py
    test_01_primary_storage_nfs | Success | 35.68 | test_primary_storage.py
    test_createPortablePublicIPRange | Success | 15.16 | test_portable_publicip.py
    test_createPortablePublicIPAcquire | Success | 15.32 | test_portable_publicip.py
    test_isolate_network_password_server | Success | 89.04 | test_password_server.py
    test_UpdateStorageOverProvisioningFactor | Success | 0.10 | test_over_provisioning.py
    test_oobm_zchange_password | Success | 30.47 | test_outofbandmanagement.py
    test_oobm_multiple_mgmt_server_ownership | Success | 12.27 | test_outofbandmanagement.py
    test_oobm_issue_power_status | Success | 10.17 | test_outofbandmanagement.py
    test_oobm_issue_power_soft | Success | 15.29 | test_outofbandmanagement.py
    test_oobm_issue_power_reset | Success | 15.26 | test_outofbandmanagement.py
    test_oobm_issue_power_on | Success | 10.23 | test_outofbandmanagement.py
    test_oobm_issue_power_off | Success | 15.25 | test_outofbandmanagement.py
    test_oobm_issue_power_cycle | Success | 15.25 | test_outofbandmanagement.py
    test_oobm_enabledisable_across_clusterzones | Success | 90.46 | test_outofbandmanagement.py
    test_oobm_enable_feature_valid | Success | 5.12 | 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.07 | test_outofbandmanagement.py
    test_oobm_configure_default_driver | Success | 0.07 | test_outofbandmanagement.py
    test_oobm_background_powerstate_sync | Success | 18.44 | test_outofbandmanagement.py
    test_extendPhysicalNetworkVlan | Success | 15.24 | test_non_contigiousvlan.py
    test_01_nic | Success | 423.18 | test_nic.py
    test_releaseIP | Success | 141.60 | test_network.py
    test_reboot_router | Success | 402.67 | test_network.py
    test_public_ip_user_account | Success | 10.19 | test_network.py
    test_public_ip_admin_account | Success | 40.41 | test_network.py
    test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 66.65 | test_network.py
    test_network_rules_acquired_public_ip_2_nat_rule | Success | 61.63 | test_network.py
    test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 124.12 | test_network.py
    test_delete_account | Success | 261.96 | test_network.py
    test_02_port_fwd_on_non_src_nat | Success | 55.49 | test_network.py
    test_01_port_fwd_on_src_nat | Success | 111.67 | test_network.py
    test_nic_secondaryip_add_remove | Success | 206.85 | test_multipleips_per_nic.py
    login_test_saml_user | Success | 17.80 | test_login.py
    test_assign_and_removal_lb | Success | 132.88 | test_loadbalance.py
    test_02_create_lb_rule_non_nat | Success | 186.96 | test_loadbalance.py
    test_01_create_lb_rule_src_nat | Success | 207.84 | test_loadbalance.py
    test_03_list_snapshots | Success | 0.06 | test_list_ids_parameter.py
    test_02_list_templates | Success | 0.03 | test_list_ids_parameter.py
    test_01_list_volumes | Success | 0.03 | test_list_ids_parameter.py
    test_07_list_default_iso | Success | 0.04 | test_iso.py
    test_05_iso_permissions | Success | 0.11 | test_iso.py
    test_04_extract_Iso | Success | 5.14 | test_iso.py
    test_03_delete_iso | Success | 95.23 | test_iso.py
    test_02_edit_iso | Success | 0.05 | test_iso.py
    test_01_create_iso | Success | 20.74 | test_iso.py
    test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Success | 177.75 | test_internal_lb.py
    test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 142.91 | test_internal_lb.py
    test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Success | 512.85 | test_internal_lb.py
    test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Success | 438.08 | test_internal_lb.py
    test_remove_ha_provider_not_possible | Success | 5.24 | test_ha_kvm.py
    test_hostha_enable_ha_when_host_inMaintenance | Success | 15.44 | test_ha_kvm.py
    test_hostha_enable_ha_when_host_disconected | Success | 21.86 | test_ha_kvm.py
    test_hostha_enable_ha_when_host_disabled | Success | 10.28 | test_ha_kvm.py
    test_hostha_enable_feature_without_setting_provider | Success | 5.15 | test_ha_kvm.py
    test_hostha_enable_feature_valid | Success | 10.22 | test_ha_kvm.py
    test_hostha_disable_feature_valid | Success | 5.21 | test_ha_kvm.py
    test_hostha_configure_invalid_provider | Success | 0.12 | test_ha_kvm.py
    test_hostha_configure_default_driver | Success | 5.14 | test_ha_kvm.py
    test_ha_enable_feature_invalid | Success | 0.11 | test_ha_kvm.py
    test_ha_disable_feature_invalid | Success | 0.11 | test_ha_kvm.py
    test_enable_ha_when_host_powerstate_on | Success | 25.77 | test_ha_kvm.py
    test_disable_oobm_ha_state_ineligible | Success | 15.40 | test_ha_kvm.py
    test_configure_ha_provider_valid | Success | 10.27 | test_ha_kvm.py
    test_configure_ha_provider_invalid | Success | 15.30 | test_ha_kvm.py
    test_list_ha_for_host_valid | Success | 0.14 | test_ha_for_host.py
    test_list_ha_for_host_invalid | Success | 0.15 | test_ha_for_host.py
    test_list_ha_for_host | Success | 5.16 | test_ha_for_host.py
    test_enable_ha_for_host_invalid | Success | 5.29 | test_ha_for_host.py
    test_enable_ha_for_host | Success | 0.14 | test_ha_for_host.py
    test_disable_ha_for_host_invalid | Success | 0.13 | test_ha_for_host.py
    test_disable_ha_for_host | Success | 10.61 | test_ha_for_host.py
    test_dedicateGuestVlanRange | Success | 10.19 | test_guest_vlan_range.py
    test_UpdateConfigParamWithScope | Success | 0.11 | test_global_settings.py
    test_rolepermission_lifecycle_update | Success | 5.78 | 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.60 | test_dynamicroles.py
    test_rolepermission_lifecycle_concurrent_updates | Success | 5.68 | test_dynamicroles.py
    test_role_lifecycle_update_role_inuse | Success | 5.61 | test_dynamicroles.py
    test_role_lifecycle_update | Success | 10.68 | test_dynamicroles.py
    test_role_lifecycle_list | Success | 5.82 | test_dynamicroles.py
    test_role_lifecycle_delete | Success | 10.67 | test_dynamicroles.py
    test_role_lifecycle_create | Success | 5.60 | test_dynamicroles.py
    test_role_inuse_deletion | Success | 5.58 | test_dynamicroles.py
    test_role_account_acls_multiple_mgmt_servers | Success | 7.05 | test_dynamicroles.py
    test_role_account_acls | Success | 7.04 | test_dynamicroles.py
    test_default_role_deletion | Success | 5.67 | 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.46 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userconcentrated | Success | 35.48 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_firstfit | Success | 50.46 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userdata_post | Success | 10.26 | test_deploy_vm_with_userdata.py
    test_deployvm_userdata | Success | 50.49 | test_deploy_vm_with_userdata.py
    test_02_deploy_vm_root_resize | Success | 5.67 | 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 | 211.82 | test_deploy_vm_root_resize.py
    test_deploy_vm_from_iso | Success | 211.88 | test_deploy_vm_iso.py
    test_DeployVmAntiAffinityGroup | Success | 60.77 | 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_hostha_enable_feature_without_setting_provider | Skipped | 0.03 | test_hostha_simulator.py
    test_hostha_enable_feature_valid | Skipped | 0.01 | test_hostha_simulator.py
    test_hostha_disable_feature_valid | Skipped | 0.01 | test_hostha_simulator.py
    test_hostha_configure_invalid_provider | Skipped | 0.01 | test_hostha_simulator.py
    test_hostha_configure_default_driver | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_verify_fsm_recovering | Skipped | 0.01 | test_hostha_simulator.py
    test_ha_verify_fsm_fenced | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_verify_fsm_degraded | Skipped | 0.01 | test_hostha_simulator.py
    test_ha_verify_fsm_available | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_multiple_mgmt_server_ownership | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_enabledisable_across_clusterzones | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_enable_feature_invalid | Skipped | 0.02 | test_hostha_simulator.py
    test_ha_disable_feature_invalid | Skipped | 0.01 | test_hostha_simulator.py
    test_configure_ha_provider_valid | Skipped | 0.02 | test_hostha_simulator.py
    test_configure_ha_provider_invalid | Skipped | 0.02 | test_hostha_simulator.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.
---