Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HAproxy based load balancer Customisation #7484

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

CharlesQueiroz
Copy link
Contributor

@CharlesQueiroz CharlesQueiroz commented May 1, 2023

Description

Add a new feature for load balancers based on haproxy.

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/VR+haproxy+customization+in+CloudStack

Fixes #3789

This commit was based on this:

#4141 and #5799

It supports (or will support)

Basic proxy configurations:
haproxy statistics uri, auth, enable/disable
global maxconn and maxpipes
Basic configurations on rule
timeout connection, client ,server globally and per rule
http, httpalive per rule
maxconn, fullconn per rule
maxconn, minconn, maxqueue per server in rule
advanced features
transparent load balancer
SSL offloading
http2 support
Variable SSL configurations

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Screenshots (if appropriate):

Adding networks level haproxy configs

Screenshot 2023-04-30 at 20 33 00

Adding load balancer level configs

Screenshot 2023-04-30 at 20 34 24

Screenshot 2023-05-01 at 16 18 39

Adding SSL Certificate

Screenshot 2023-05-01 at 07 02 36

@codecov
Copy link

codecov bot commented May 1, 2023

Codecov Report

Merging #7484 (c18f05d) into main (b205548) will decrease coverage by 6.06%.
Report is 18 commits behind head on main.
The diff coverage is 0.15%.

@@             Coverage Diff              @@
##               main    #7484      +/-   ##
============================================
- Coverage     19.87%   13.81%   -6.06%     
+ Complexity    19052    10440    -8612     
============================================
  Files          4966     3094    -1872     
  Lines        336442   291065   -45377     
  Branches      48347    47361     -986     
============================================
- Hits          66869    40221   -26648     
+ Misses       259830   245653   -14177     
+ Partials       9743     5191    -4552     
Flag Coverage Δ
simulator-marvin-tests ?
uitests 4.84% <0.00%> (-0.04%) ⬇️
unit-tests 14.69% <0.20%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...om/cloud/network/element/VirtualRouterElement.java 18.81% <100.00%> (-22.58%) ⬇️
ui/src/config/section/network.js 0.00% <0.00%> (ø)
...va/com/cloud/network/router/NetworkHelperImpl.java 3.65% <0.00%> (-39.86%) ⬇️
...in/java/com/cloud/server/ManagementServerImpl.java 5.36% <0.00%> (-29.59%) ⬇️
.../cloud/configuration/ConfigurationManagerImpl.java 19.26% <0.00%> (-8.07%) ⬇️
...loud/network/lb/LoadBalancingRulesManagerImpl.java 7.84% <0.00%> (-16.96%) ⬇️
...a/com/cloud/network/router/CommandSetupHelper.java 0.95% <0.00%> (-51.49%) ⬇️
...va/com/cloud/network/dao/LoadBalancerConfigVO.java 0.00% <0.00%> (ø)
...src/main/java/com/cloud/api/ApiResponseHelper.java 5.60% <0.00%> (-27.49%) ⬇️
ui/src/views/network/LbConfigTab.vue 0.00% <0.00%> (ø)
... and 4 more

... and 4070 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@CharlesQueiroz CharlesQueiroz force-pushed the lbconfigs branch 2 times, most recently from 852de1b to 28fda8f Compare May 2, 2023 10:29
@github-actions
Copy link

github-actions bot commented May 2, 2023

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

@CharlesQueiroz
Copy link
Contributor Author

Hi @ustcweizhou,

I recently opened this pull request with HAProxy config changes. It would be great to have your opinion on my changes.

I have reviewed the code and run some tests, but I'd like your opinion to ensure that the code follows best practices and is scalable for future implementations. I'd appreciate you looking at my pull request and giving me some suggestions or pointing out any problems you find. It would be essential to get your opinion and expertise.

Thank you very much in advance for your help and time.

@weizhouapache
Copy link
Member

Hi @ustcweizhou,

I recently opened this pull request with HAProxy config changes. It would be great to have your opinion on my changes.

I have reviewed the code and run some tests, but I'd like your opinion to ensure that the code follows best practices and is scalable for future implementations. I'd appreciate you looking at my pull request and giving me some suggestions or pointing out any problems you find. It would be essential to get your opinion and expertise.

Thank you very much in advance for your help and time.

Hi @CharlesQueiroz
good to hear from you. I am currently busy on some other stuffs, I will have a review.

cc @rohityadavcloud @DaanHoogland @shwstppr
what do you think of this in 4.19 ?

@rohityadavcloud
Copy link
Member

@blueorangutan package

@blueorangutan
Copy link

@rohityadavcloud a [SF] Jenkins job has been kicked to build packages. It will be bundled with SystemVM template(s). I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 6154

@DaanHoogland DaanHoogland added this to the 4.19.0.0 milestone Jun 22, 2023
@github-actions
Copy link

github-actions bot commented Aug 2, 2023

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

@github-actions
Copy link

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

@blueorangutan
Copy link

Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 7060

@DaanHoogland
Copy link
Contributor

@blueorangutan test

@blueorangutan
Copy link

@DaanHoogland a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan
Copy link

[SF] Trillian test result (tid-7692)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 28572 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7484-t7692-kvm-centos7.zip
Smoke tests completed. 52 look OK, 61 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_deploy_vm_from_iso Error 21.54 test_deploy_vm_iso.py
ContextSuite context=TestAddVmToSubDomain>:setup Error 14.86 test_accounts.py
test_DeleteDomain Error 21.04 test_accounts.py
test_forceDeleteDomain Failure 20.85 test_accounts.py
test_01_user_remove_VM_running Error 6.24 test_accounts.py
test_01_non_strict_host_anti_affinity Error 6.52 test_nonstrict_affinity_group.py
test_02_non_strict_host_affinity Error 7.51 test_nonstrict_affinity_group.py
test_delete_account Error 21.62 test_network.py
ContextSuite context=TestPortForwarding>:setup Error 51.57 test_network.py
ContextSuite context=TestPublicIP>:setup Error 9.45 test_network.py
test_reboot_router Error 6.44 test_network.py
test_releaseIP Error 7.36 test_network.py
ContextSuite context=TestRouterRules>:setup Error 13.86 test_network.py
test_01_deployVMInSharedNetwork Failure 5.28 test_network.py
test_02_verifyRouterIpAfterNetworkRestart Failure 4.14 test_network.py
test_03_destroySharedNetwork Failure 1.08 test_network.py
ContextSuite context=TestSharedNetwork>:teardown Error 2.17 test_network.py
test_DeployVmAffinityGroup Error 5.38 test_affinity_groups.py
test_DeployVmAntiAffinityGroup Error 4.32 test_affinity_groups.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 Error 45.98 test_internal_lb.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 Error 45.99 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 94.41 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 94.42 test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfaces Error 43.92 test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfaces Error 43.93 test_internal_lb.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Error 90.66 test_internal_lb.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Error 90.67 test_internal_lb.py
test_network_acl Error 53.06 test_network_acl.py
ContextSuite context=TestLBRuleUsage>:setup Error 9.48 test_usage.py
ContextSuite context=TestNatRuleUsage>:setup Error 15.96 test_usage.py
ContextSuite context=TestPublicIPUsage>:setup Error 22.23 test_usage.py
ContextSuite context=TestSnapshotUsage>:setup Error 29.51 test_usage.py
ContextSuite context=TestVmUsage>:setup Error 50.30 test_usage.py
ContextSuite context=TestVolumeUsage>:setup Error 57.61 test_usage.py
ContextSuite context=TestVpnUsage>:setup Error 63.86 test_usage.py
test_DeployVmAntiAffinityGroup_in_project Error 5.37 test_affinity_groups_projects.py
test_deploy_vm_with_registered_userdata Error 8.58 test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_override_policy_allow Error 7.61 test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_override_policy_append Error 8.56 test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_params Error 7.61 test_register_userdata.py
ContextSuite context=TestAnnotations>:setup Error 0.00 test_annotations.py
ContextSuite context=TestRemoteDiagnostics>:setup Error 0.00 test_diagnostics.py
ContextSuite context=TestResetVmOnReboot>:setup Error 0.00 test_reset_vm_on_reboot.py
test_query_async_job_result Error 15.49 test_async_job.py
ContextSuite context=TestIsolatedNetworksPasswdServer>:setup Error 0.00 test_password_server.py
test_nic_secondaryip_add_remove Error 22.47 test_multipleips_per_nic.py
ContextSuite context=TestMultipleVolumeAttach>:setup Error 0.00 test_attach_multiple_volumes.py
test_01_add_primary_storage_disabled_host Error 0.17 test_primary_storage.py
test_01_primary_storage_nfs Error 0.15 test_primary_storage.py
ContextSuite context=TestStorageTags>:setup Error 0.25 test_primary_storage.py
test_01_invalid_upgrade_kubernetes_cluster Failure 7.31 test_kubernetes_clusters.py
test_02_upgrade_kubernetes_cluster Failure 8.33 test_kubernetes_clusters.py
test_03_deploy_and_scale_kubernetes_cluster Failure 8.31 test_kubernetes_clusters.py
test_04_autoscale_kubernetes_cluster Failure 7.29 test_kubernetes_clusters.py
test_05_basic_lifecycle_kubernetes_cluster Failure 6.25 test_kubernetes_clusters.py
test_06_delete_kubernetes_cluster Failure 7.31 test_kubernetes_clusters.py
test_07_deploy_kubernetes_ha_cluster Failure 6.50 test_kubernetes_clusters.py
test_08_upgrade_kubernetes_ha_cluster Failure 6.26 test_kubernetes_clusters.py
test_09_delete_kubernetes_ha_cluster Failure 8.32 test_kubernetes_clusters.py
test_10_vpc_tier_kubernetes_cluster Failure 50.98 test_kubernetes_clusters.py
test_11_test_unmanaged_cluster_lifecycle Error 1.23 test_kubernetes_clusters.py
ContextSuite context=TestKubernetesCluster>:teardown Error 77.02 test_kubernetes_clusters.py
test_01_verify_ipv6_network Error 5.88 test_network_ipv6.py
test_01_verify_ipv6_network Error 5.88 test_network_ipv6.py
test_01_nic Error 57.30 test_nic.py
ContextSuite context=TestConsoleEndpoint>:setup Error 0.00 test_console_endpoint.py
ContextSuite context=TestSnapshotRootDisk>:setup Error 0.00 test_snapshots.py
test_01_native_to_native_network_migration Error 17.84 test_migration.py
test_02_native_to_native_vpc_migration Error 44.30 test_migration.py
ContextSuite context=TestDeployVirtioSCSIVM>:setup Error 0.00 test_deploy_virtio_scsi_vm.py
test_02_deploy_vm_with_extraconfig_kvm Error 4.35 test_deploy_vm_extra_config_data.py
test_03_update_vm_with_extraconfig_kvm Error 4.32 test_deploy_vm_extra_config_data.py
test_01_isolated_persistent_network Error 2.91 test_persistent_network.py
ContextSuite context=TestL2PersistentNetworks>:teardown Error 48.64 test_persistent_network.py
test_00_deploy_vm_root_resize Error 5.42 test_deploy_vm_root_resize.py
test_deployvm_userdata Error 4.55 test_deploy_vm_with_userdata.py
test_deployvm_userdata_post Error 4.44 test_deploy_vm_with_userdata.py
test_deploy_more_vms_than_limit_allows Error 6.40 test_deploy_vms_in_parallel.py
test_deployvm_firstfit Error 5.41 test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userconcentrated Error 4.33 test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userdispersing Error 3.34 test_deploy_vms_with_varied_deploymentplanners.py
test_01_so_removal_resource_update Error 5.52 test_resource_accounting.py
test_01_create_delete_portforwarding_fornonvpc Error 7.59 test_portforwardingrules.py
test_03_network_operations_on_created_vm_of_otheruser Error 6.50 test_network_permissions.py
test_03_network_operations_on_created_vm_of_otheruser Error 6.50 test_network_permissions.py
test_04_deploy_vm_for_other_user_and_test_vm_operations Failure 4.38 test_network_permissions.py
ContextSuite context=TestNetworkPermissions>:teardown Error 1.34 test_network_permissions.py
test_03_deploy_vm_domain_service_offering Error 19.62 test_domain_service_offerings.py
test_02_vpc_privategw_static_routes Failure 82.24 test_privategw_acl.py
test_02_vpc_privategw_static_routes Error 82.25 test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanup Failure 87.03 test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanup Error 87.04 test_privategw_acl.py
test_04_rvpc_privategw_static_routes Failure 181.74 test_privategw_acl.py
test_04_rvpc_privategw_static_routes Error 181.75 test_privategw_acl.py
test_01_events_resource Error 7.57 test_events_resource.py
test_01_events_resource Error 7.57 test_events_resource.py
test_updating_nics_on_two_shared_networks Error 4.59 test_gateway_on_shared_networks.py
ContextSuite context=TestGatewayOnSharedNetwork>:teardown Error 6.74 test_gateway_on_shared_networks.py
ContextSuite context=TestRouterDHCPHosts>:setup Error 0.00 test_router_dhcphosts.py
ContextSuite context=TestRouterDHCPOpts>:setup Error 0.00 test_router_dhcphosts.py
test_09_project_suspend Error 5.47 test_projects.py
test_10_project_activation Error 6.38 test_projects.py
ContextSuite context=TestHostControlState>:setup Error 34.48 test_host_control_state.py
ContextSuite context=TestListIdsParams>:setup Error 0.00 test_list_ids_parameter.py
ContextSuite context=TestRouterServices>:setup Error 0.00 test_routers.py
ContextSuite context=TestRouterDns>:setup Error 0.00 test_router_dns.py
ContextSuite context=TestLoadBalance>:setup Error 0.00 test_loadbalance.py
ContextSuite context=TestRouterDnsService>:setup Error 0.00 test_router_dnsservice.py
test_list_vms_metrics_admin Error 5.81 test_metrics_api.py
test_list_vms_metrics_history Error 5.62 test_metrics_api.py
test_list_vms_metrics_user Error 5.61 test_metrics_api.py
test_list_volumes_metrics_history Error 4.46 test_metrics_api.py
test_01_isolate_network_FW_PF_default_routes_egress_true Error 4.53 test_routers_network_ops.py
test_02_isolate_network_FW_PF_default_routes_egress_false Error 5.56 test_routers_network_ops.py
test_02_routervm_iptables_policies Error 4.38 test_routers_iptables_default_policy.py
test_01_single_VPC_iptables_policies Error 60.16 test_routers_iptables_default_policy.py
test_01_single_VPC_iptables_policies Error 60.16 test_routers_iptables_default_policy.py
ContextSuite context=TestCpuCapServiceOfferings>:setup Error 0.00 test_service_offerings.py
ContextSuite context=TestServiceOfferings>:setup Error 7.47 test_service_offerings.py
test_02_deploy_vm_from_direct_download_template Error 5.41 test_templates.py
ContextSuite context=TestTemplates>:setup Error 37.47 test_templates.py
test_01_scale_up_verify Failure 576.43 test_vm_autoscaling.py
test_02_update_vmprofile_and_vmgroup Failure 245.60 test_vm_autoscaling.py
test_03_scale_down_verify Failure 304.55 test_vm_autoscaling.py
test_04_stop_remove_vm_in_vmgroup Failure 14.70 test_vm_autoscaling.py
test_06_autoscaling_vmgroup_on_project_network Failure 587.55 test_vm_autoscaling.py
test_06_autoscaling_vmgroup_on_project_network Error 587.56 test_vm_autoscaling.py
test_07_autoscaling_vmgroup_on_vpc_network Failure 614.32 test_vm_autoscaling.py
test_07_autoscaling_vmgroup_on_vpc_network Error 614.33 test_vm_autoscaling.py
ContextSuite context=TestVmAutoScaling>:teardown Error 628.17 test_vm_autoscaling.py
test_01_deploy_vm_on_specific_host Error 0.07 test_vm_deployment_planner.py
test_02_deploy_vm_on_specific_cluster Error 4.36 test_vm_deployment_planner.py
test_03_deploy_vm_on_specific_pod Error 2.26 test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_cluster Error 0.10 test_vm_deployment_planner.py
test_05_deploy_vm_on_cluster_override_pod Error 2.25 test_vm_deployment_planner.py
ContextSuite context=TestDeployVM>:setup Error 0.00 test_vm_life_cycle.py
test_01_secure_vm_migration Error 64.97 test_vm_life_cycle.py
test_02_unsecure_vm_migration Error 213.49 test_vm_life_cycle.py
test_03_secured_to_nonsecured_vm_migration Error 139.97 test_vm_life_cycle.py
test_04_nonsecured_to_secured_vm_migration Error 141.73 test_vm_life_cycle.py
ContextSuite context=TestVMLifeCycle>:setup Error 6.59 test_vm_life_cycle.py
ContextSuite context=TestVMSchedule>:setup Error 0.00 test_vm_schedule.py
ContextSuite context=TestVmSnapshot>:setup Error 6.46 test_vm_snapshots.py
ContextSuite context=TestCreateVolume>:setup Error 0.00 test_volumes.py
ContextSuite context=TestVolumes>:setup Error 7.69 test_volumes.py
test_01_verify_ipv6_vpc Error 50.20 test_vpc_ipv6.py
test_01_verify_ipv6_vpc Error 50.21 test_vpc_ipv6.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL Failure 113.33 test_vpc_redundant.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL Error 113.33 test_vpc_redundant.py
test_02_redundant_VPC_default_routes Failure 108.12 test_vpc_redundant.py
test_02_redundant_VPC_default_routes Error 108.13 test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Failure 114.33 test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Error 114.34 test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics Failure 112.22 test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics Error 112.23 test_vpc_redundant.py
test_05_rvpc_multi_tiers Failure 110.23 test_vpc_redundant.py
test_05_rvpc_multi_tiers Error 110.24 test_vpc_redundant.py
test_01_VPC_nics_after_destroy Failure 55.18 test_vpc_router_nics.py
test_02_VPC_default_routes Failure 55.93 test_vpc_router_nics.py
test_01_redundant_vpc_site2site_vpn Failure 178.63 test_vpc_vpn.py
test_01_redundant_vpc_site2site_vpn Error 178.64 test_vpc_vpn.py
test_01_vpc_site2site_vpn_multiple_options Failure 83.70 test_vpc_vpn.py
test_01_vpc_site2site_vpn_multiple_options Error 83.70 test_vpc_vpn.py
test_01_vpc_remote_access_vpn Error 46.46 test_vpc_vpn.py
test_01_vpc_remote_access_vpn Error 46.47 test_vpc_vpn.py
test_01_vpc_site2site_vpn Failure 80.58 test_vpc_vpn.py
test_01_vpc_site2site_vpn Error 80.59 test_vpc_vpn.py

@DaanHoogland
Copy link
Contributor

@blueorangutan package

@blueorangutan
Copy link

@DaanHoogland a [SF] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 7150

@DaanHoogland
Copy link
Contributor

@blueorangutan test

@shwstppr shwstppr closed this Oct 2, 2023
@shwstppr shwstppr reopened this Oct 2, 2023
@DaanHoogland
Copy link
Contributor

@CharlesQueiroz can you look at the github action failures?

@DaanHoogland
Copy link
Contributor

@CharlesQueiroz (cc @weizhouapache ) will this be done in time for 4.19 or should we postpone?

Copy link

github-actions bot commented Nov 3, 2023

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

@hrak
Copy link
Contributor

hrak commented Jul 30, 2024

@weizhouapache @DaanHoogland The person that opened this third incarnation of this PR no longer works at Leaseweb, but the features it offers really have added value.

Is there any way we can breathe life into this? (I'm not much of a Java programmer myself)

@DaanHoogland
Copy link
Contributor

@weizhouapache @DaanHoogland The person that opened this third incarnation of this PR no longer works at Leaseweb, but the features it offers really have added value.

Is there any way we can breathe life into this? (I'm not much of a Java programmer myself)

@hrak this may involve some skills, certainly involves java, but also python, VueJS and networking. However, it may also be a matter of a simple conflict resolution, in which case it will still need extensive testing. I.E. investments needed. Can you discuss internally what you can bring to the table? (I will do as well, but can only promise that it will not be soon)

@btzq
Copy link

btzq commented Aug 23, 2024

Hey Guys, ive been following this topic and i think this is the 3rd incarnation of this feature?

This features really important to us because we have customers whos service use very long lived TCP connections, and the default 50second timeout is making the platform unusable in most cases.

Is there any way we can temporarily change the Timeout Client/Server setting? Eg. Change HA Proxy Setting directly via Virtual Router? Will that work?

@borisstoyanov
Copy link
Contributor

@blueorangutan test

@blueorangutan
Copy link

@borisstoyanov a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@weizhouapache
Copy link
Member

@weizhouapache @DaanHoogland The person that opened this third incarnation of this PR no longer works at Leaseweb, but the features it offers really have added value.

Is there any way we can breathe life into this? (I'm not much of a Java programmer myself)

@hrak
this PR requires some re-work and QA testing.

since this PR was created from Leaseweb repo but none of us (except you) have write permission to the repo, therefore no way to update the PR if needed.

Can we fork the branch , push to apache/cloudstack repo and then create a new PR, so that the apache cloudstack committers can update it ?

@hrak
Copy link
Contributor

hrak commented Sep 3, 2024

@weizhouapache @DaanHoogland The person that opened this third incarnation of this PR no longer works at Leaseweb, but the features it offers really have added value.
Is there any way we can breathe life into this? (I'm not much of a Java programmer myself)

@hrak this PR requires some re-work and QA testing.

since this PR was created from Leaseweb repo but none of us (except you) have write permission to the repo, therefore no way to update the PR if needed.

Can we fork the branch , push to apache/cloudstack repo and then create a new PR, so that the apache cloudstack committers can update it ?

@weizhouapache Yes feel free, that is fine. I briefly tried syncing with main but got a bunch of conflicts, and i am not familiar enough with the codebase here to dive into that. Thank you for your efforts!

@blueorangutan
Copy link

[SF] Trillian test result (tid-11311)
Environment: kvm-ol8 (x2), Advanced Networking with Mgmt server ol8
Total time taken: 30470 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7484-t11311-kvm-ol8.zip
Smoke tests completed. 52 look OK, 61 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test Result Time (s) Test File
test_01_events_resource Error 8.27 test_events_resource.py
test_01_events_resource Error 8.27 test_events_resource.py
ContextSuite context=TestAddVmToSubDomain>:setup Error 17.16 test_accounts.py
test_DeleteDomain Error 21.57 test_accounts.py
test_forceDeleteDomain Failure 21.53 test_accounts.py
test_01_user_remove_VM_running Error 7.49 test_accounts.py
test_DeployVmAntiAffinityGroup_in_project Error 4.46 test_affinity_groups_projects.py
test_DeployVmAffinityGroup Error 4.45 test_affinity_groups.py
test_DeployVmAntiAffinityGroup Error 4.40 test_affinity_groups.py
ContextSuite context=TestAnnotations>:setup Error 0.00 test_annotations.py
test_query_async_job_result Error 15.96 test_async_job.py
ContextSuite context=TestMultipleVolumeAttach>:setup Error 0.00 test_attach_multiple_volumes.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 Error 58.91 test_internal_lb.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 Error 58.92 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 110.45 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Error 110.46 test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfaces Error 51.78 test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfaces Error 51.79 test_internal_lb.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Error 107.21 test_internal_lb.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Error 107.22 test_internal_lb.py
test_delete_account Error 23.69 test_network.py
ContextSuite context=TestPortForwarding>:setup Error 55.83 test_network.py
ContextSuite context=TestPublicIP>:setup Error 11.45 test_network.py
test_reboot_router Error 8.47 test_network.py
test_releaseIP Error 7.48 test_network.py
ContextSuite context=TestRouterRules>:setup Error 14.94 test_network.py
test_01_deployVMInSharedNetwork Failure 6.40 test_network.py
test_02_verifyRouterIpAfterNetworkRestart Failure 5.21 test_network.py
test_03_destroySharedNetwork Failure 1.10 test_network.py
ContextSuite context=TestSharedNetwork>:teardown Error 2.23 test_network.py
ContextSuite context=TestConsoleEndpoint>:setup Error 0.00 test_console_endpoint.py
ContextSuite context=TestDeployVirtioSCSIVM>:setup Error 0.00 test_deploy_virtio_scsi_vm.py
test_02_deploy_vm_with_extraconfig_kvm Error 5.54 test_deploy_vm_extra_config_data.py
test_03_update_vm_with_extraconfig_kvm Error 6.52 test_deploy_vm_extra_config_data.py
test_deploy_vm_from_iso Error 21.41 test_deploy_vm_iso.py
ContextSuite context=TestLoadBalance>:setup Error 0.00 test_loadbalance.py
test_00_deploy_vm_root_resize Error 5.49 test_deploy_vm_root_resize.py
test_deploy_more_vms_than_limit_allows Error 8.58 test_deploy_vms_in_parallel.py
test_deployvm_firstfit Error 5.50 test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userconcentrated Error 5.47 test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userdispersing Error 6.53 test_deploy_vms_with_varied_deploymentplanners.py
test_list_vms_metrics_admin Error 3610.36 test_metrics_api.py
test_list_vms_metrics_history Error 5.59 test_metrics_api.py
test_list_vms_metrics_user Error 6.73 test_metrics_api.py
test_list_volumes_metrics_history Error 5.54 test_metrics_api.py
test_deployvm_userdata Error 4.48 test_deploy_vm_with_userdata.py
test_deployvm_userdata_post Error 5.50 test_deploy_vm_with_userdata.py
ContextSuite context=TestRemoteDiagnostics>:setup Error 0.00 test_diagnostics.py
test_03_deploy_vm_domain_service_offering Error 20.22 test_domain_service_offerings.py
test_01_native_to_native_network_migration Error 19.29 test_migration.py
test_02_native_to_native_vpc_migration Error 53.33 test_migration.py
test_01_nic Error 58.39 test_nic.py
test_updating_nics_on_two_shared_networks Error 5.69 test_gateway_on_shared_networks.py
ContextSuite context=TestGatewayOnSharedNetwork>:teardown Error 7.85 test_gateway_on_shared_networks.py
ContextSuite context=TestHostControlState>:setup Error 34.61 test_host_control_state.py
test_01_invalid_upgrade_kubernetes_cluster Failure 8.39 test_kubernetes_clusters.py
test_02_upgrade_kubernetes_cluster Failure 8.38 test_kubernetes_clusters.py
test_03_deploy_and_scale_kubernetes_cluster Failure 8.38 test_kubernetes_clusters.py
test_04_autoscale_kubernetes_cluster Failure 7.43 test_kubernetes_clusters.py
test_05_basic_lifecycle_kubernetes_cluster Failure 8.43 test_kubernetes_clusters.py
test_06_delete_kubernetes_cluster Failure 8.47 test_kubernetes_clusters.py
test_07_deploy_kubernetes_ha_cluster Failure 9.45 test_kubernetes_clusters.py
test_08_upgrade_kubernetes_ha_cluster Failure 7.54 test_kubernetes_clusters.py
test_09_delete_kubernetes_ha_cluster Failure 8.47 test_kubernetes_clusters.py
test_10_vpc_tier_kubernetes_cluster Failure 54.61 test_kubernetes_clusters.py
test_11_test_unmanaged_cluster_lifecycle Error 2.37 test_kubernetes_clusters.py
ContextSuite context=TestKubernetesCluster>:teardown Error 83.77 test_kubernetes_clusters.py
ContextSuite context=TestListIdsParams>:setup Error 0.00 test_list_ids_parameter.py
test_nic_secondaryip_add_remove Error 23.66 test_multipleips_per_nic.py
test_network_acl Error 62.58 test_network_acl.py
test_01_verify_ipv6_network Error 7.23 test_network_ipv6.py
test_01_verify_ipv6_network Error 7.23 test_network_ipv6.py
test_03_network_operations_on_created_vm_of_otheruser Error 7.79 test_network_permissions.py
test_03_network_operations_on_created_vm_of_otheruser Error 7.79 test_network_permissions.py
test_04_deploy_vm_for_other_user_and_test_vm_operations Failure 4.56 test_network_permissions.py
ContextSuite context=TestNetworkPermissions>:teardown Error 1.53 test_network_permissions.py
test_01_non_strict_host_anti_affinity Error 8.75 test_nonstrict_affinity_group.py
test_02_non_strict_host_affinity Error 7.79 test_nonstrict_affinity_group.py
ContextSuite context=TestIsolatedNetworksPasswdServer>:setup Error 0.00 test_password_server.py
test_01_isolated_persistent_network Error 3.95 test_persistent_network.py
ContextSuite context=TestL2PersistentNetworks>:teardown Error 50.96 test_persistent_network.py
test_01_create_delete_portforwarding_fornonvpc Error 7.39 test_portforwardingrules.py
test_01_add_primary_storage_disabled_host Error 0.31 test_primary_storage.py
test_01_primary_storage_nfs Error 0.19 test_primary_storage.py
ContextSuite context=TestStorageTags>:setup Error 0.32 test_primary_storage.py
test_02_vpc_privategw_static_routes Failure 84.29 test_privategw_acl.py
test_02_vpc_privategw_static_routes Error 84.30 test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanup Failure 98.76 test_privategw_acl.py
test_03_vpc_privategw_restart_vpc_cleanup Error 98.77 test_privategw_acl.py
test_04_rvpc_privategw_static_routes Failure 196.55 test_privategw_acl.py
test_04_rvpc_privategw_static_routes Error 196.56 test_privategw_acl.py
test_09_project_suspend Error 6.58 test_projects.py
test_10_project_activation Error 6.46 test_projects.py
test_deploy_vm_with_registered_userdata Error 9.26 test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_override_policy_allow Error 8.38 test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_override_policy_append Error 9.61 test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_params Error 10.42 test_register_userdata.py
ContextSuite context=TestResetVmOnReboot>:setup Error 0.00 test_reset_vm_on_reboot.py
test_01_so_removal_resource_update Error 6.67 test_resource_accounting.py
ContextSuite context=TestRouterDHCPHosts>:setup Error 0.00 test_router_dhcphosts.py
ContextSuite context=TestRouterDHCPOpts>:setup Error 0.00 test_router_dhcphosts.py
ContextSuite context=TestRouterDns>:setup Error 0.00 test_router_dns.py
ContextSuite context=TestRouterDnsService>:setup Error 0.00 test_router_dnsservice.py
test_02_routervm_iptables_policies Error 6.49 test_routers_iptables_default_policy.py
test_01_single_VPC_iptables_policies Error 57.53 test_routers_iptables_default_policy.py
test_01_single_VPC_iptables_policies Error 57.54 test_routers_iptables_default_policy.py
test_01_isolate_network_FW_PF_default_routes_egress_true Error 5.58 test_routers_network_ops.py
test_02_isolate_network_FW_PF_default_routes_egress_false Error 5.63 test_routers_network_ops.py
ContextSuite context=TestRouterServices>:setup Error 0.00 test_routers.py
ContextSuite context=TestCpuCapServiceOfferings>:setup Error 0.00 test_service_offerings.py
ContextSuite context=TestServiceOfferings>:setup Error 10.60 test_service_offerings.py
ContextSuite context=TestSnapshotRootDisk>:setup Error 0.00 test_snapshots.py
test_02_deploy_vm_from_direct_download_template Error 12.65 test_templates.py
ContextSuite context=TestTemplates>:setup Error 47.41 test_templates.py
ContextSuite context=TestLBRuleUsage>:setup Error 17.57 test_usage.py
ContextSuite context=TestNatRuleUsage>:setup Error 27.81 test_usage.py
ContextSuite context=TestPublicIPUsage>:setup Error 43.40 test_usage.py
ContextSuite context=TestSnapshotUsage>:setup Error 53.76 test_usage.py
ContextSuite context=TestVmUsage>:setup Error 95.50 test_usage.py
ContextSuite context=TestVolumeUsage>:setup Error 105.79 test_usage.py
ContextSuite context=TestVpnUsage>:setup Error 121.46 test_usage.py
test_01_scale_up_verify Failure 576.93 test_vm_autoscaling.py
test_02_update_vmprofile_and_vmgroup Failure 245.78 test_vm_autoscaling.py
test_03_scale_down_verify Failure 304.67 test_vm_autoscaling.py
test_04_stop_remove_vm_in_vmgroup Failure 16.07 test_vm_autoscaling.py
test_06_autoscaling_vmgroup_on_project_network Failure 588.38 test_vm_autoscaling.py
test_06_autoscaling_vmgroup_on_project_network Error 588.39 test_vm_autoscaling.py
test_07_autoscaling_vmgroup_on_vpc_network Failure 626.83 test_vm_autoscaling.py
test_07_autoscaling_vmgroup_on_vpc_network Error 626.84 test_vm_autoscaling.py
ContextSuite context=TestVmAutoScaling>:teardown Error 641.06 test_vm_autoscaling.py
test_01_deploy_vm_on_specific_host Error 0.10 test_vm_deployment_planner.py
test_02_deploy_vm_on_specific_cluster Error 4.46 test_vm_deployment_planner.py
test_03_deploy_vm_on_specific_pod Error 4.42 test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_cluster Error 0.13 test_vm_deployment_planner.py
test_05_deploy_vm_on_cluster_override_pod Error 7.54 test_vm_deployment_planner.py
ContextSuite context=TestDeployVM>:setup Error 0.00 test_vm_life_cycle.py
test_01_migrate_VM_and_root_volume Error 5.49 test_vm_life_cycle.py
test_02_migrate_VM_with_two_data_disks Error 9.56 test_vm_life_cycle.py
test_01_secure_vm_migration Error 75.42 test_vm_life_cycle.py
test_02_unsecure_vm_migration Error 219.58 test_vm_life_cycle.py
test_03_secured_to_nonsecured_vm_migration Error 154.92 test_vm_life_cycle.py
test_04_nonsecured_to_secured_vm_migration Error 148.44 test_vm_life_cycle.py
ContextSuite context=TestVMLifeCycle>:setup Error 13.66 test_vm_life_cycle.py
ContextSuite context=TestVMSchedule>:setup Error 0.00 test_vm_schedule.py
ContextSuite context=TestVmSnapshot>:setup Error 10.52 test_vm_snapshots.py
ContextSuite context=TestCreateVolume>:setup Error 0.00 test_volumes.py
test_01_root_volume_encryption Error 5.49 test_volumes.py
test_02_data_volume_encryption Error 10.57 test_volumes.py
test_03_root_and_data_volume_encryption Error 5.47 test_volumes.py
ContextSuite context=TestVolumes>:setup Error 52.94 test_volumes.py
test_01_verify_ipv6_vpc Error 61.05 test_vpc_ipv6.py
test_01_verify_ipv6_vpc Error 61.06 test_vpc_ipv6.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL Failure 136.10 test_vpc_redundant.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL Error 136.12 test_vpc_redundant.py
test_02_redundant_VPC_default_routes Failure 128.43 test_vpc_redundant.py
test_02_redundant_VPC_default_routes Error 128.43 test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Failure 138.93 test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Error 138.94 test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics Failure 133.58 test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics Error 133.59 test_vpc_redundant.py
test_05_rvpc_multi_tiers Failure 127.91 test_vpc_redundant.py
test_05_rvpc_multi_tiers Error 127.92 test_vpc_redundant.py
test_01_VPC_nics_after_destroy Failure 68.03 test_vpc_router_nics.py
test_02_VPC_default_routes Failure 66.03 test_vpc_router_nics.py
test_01_redundant_vpc_site2site_vpn Failure 214.11 test_vpc_vpn.py
test_01_redundant_vpc_site2site_vpn Error 214.13 test_vpc_vpn.py
test_01_vpc_site2site_vpn_multiple_options Failure 94.90 test_vpc_vpn.py
test_01_vpc_site2site_vpn_multiple_options Error 94.90 test_vpc_vpn.py
test_01_vpc_remote_access_vpn Error 52.09 test_vpc_vpn.py
test_01_vpc_remote_access_vpn Error 52.10 test_vpc_vpn.py
test_01_vpc_site2site_vpn Failure 94.77 test_vpc_vpn.py
test_01_vpc_site2site_vpn Error 94.78 test_vpc_vpn.py

@JoaoJandre JoaoJandre modified the milestones: 4.20.0.0, 4.21.0.0 Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TCP load balancer ability to set custom connect/client/server timeout
10 participants