import network acl rules using csv
Description
This PR fixes https://github.com/apache/cloudstack/issues/8858
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)
- [x] Enhancement (improves an existing feature and functionality)
- [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
- [ ] Build/CI
- [ ] Test (unit or integration test code)
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
- [ ] Major
- [x] Minor
Bug Severity
- [ ] BLOCKER
- [ ] Critical
- [ ] Major
- [ ] Minor
- [ ] Trivial
Screenshots (if appropriate):
https://github.com/user-attachments/assets/26f3b100-873e-4ab2-80df-6615f7334ad8
How Has This Been Tested?
Test file: AclRules-test-acls-e27d1e32-09b6-4cb9-acde-2a748d857678.csv
How did you try to break this feature and the system with this change?
Codecov Report
:x: Patch coverage is 0% with 130 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 17.55%. Comparing base (d160731) to head (a44eacd).
:warning: Report is 33 commits behind head on 4.22.
Additional details and impacted files
@@ Coverage Diff @@
## 4.22 #12013 +/- ##
============================================
- Coverage 17.56% 17.55% -0.02%
- Complexity 15545 15547 +2
============================================
Files 5909 5912 +3
Lines 529056 529367 +311
Branches 64617 64670 +53
============================================
- Hits 92947 92938 -9
- Misses 425654 425971 +317
- Partials 10455 10458 +3
| Flag | Coverage Δ | |
|---|---|---|
| uitests | 3.57% <ø> (-0.02%) |
:arrow_down: |
| unittests | 18.62% <0.00%> (-0.01%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
@blueorangutan package
@sudo87 a [SL] 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.
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15706
@blueorangutan test keepEnv
@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests
@blueorangutan package
@sudo87 a [SL] 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.
[SF] Trillian test result (tid-14811) Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8 Total time taken: 54425 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12013-t14811-kvm-ol8.zip Smoke tests completed. 147 look OK, 2 have errors, 0 did not run Only failed and skipped tests results shown below:
| Test | Result | Time (s) | Test File |
|---|---|---|---|
| test_01_ssl_offloading_isolated_network | Failure |
323.17 | test_ssl_offloading.py |
| test_01_redundant_vpc_site2site_vpn | Failure |
419.80 | test_vpc_vpn.py |
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15736
[SF] Trillian test result (tid-14868) Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8 Total time taken: 52382 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12013-t14868-kvm-ol8.zip Smoke tests completed. 149 look OK, 0 have errors, 0 did not run Only failed and skipped tests results shown below:
| Test | Result | Time (s) | Test File |
|---|
this is very confusing to a user. the reason is probably because a rule already existed and it is counterintuitive to not allow it. We might add a flag allowing overwriting it. tested and works as expected otherwise.
@blueorangutan package
@sudo87 a [SL] 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.
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15973
@blueorangutan test
@sudo87 a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests
Thank you @sureshanaparti for your review comments.
[SF] Trillian test result (tid-14957) Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8 Total time taken: 54625 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12013-t14957-kvm-ol8.zip Smoke tests completed. 144 look OK, 5 have errors, 0 did not run Only failed and skipped tests results shown below:
| Test | Result | Time (s) | Test File |
|---|---|---|---|
| test_updating_nics_on_two_shared_networks | Error |
2.74 | test_gateway_on_shared_networks.py |
| ContextSuite context=TestGatewayOnSharedNetwork>:teardown | Error |
4.97 | test_gateway_on_shared_networks.py |
| test_uservm_host_control_state | Failure |
17.04 | test_host_control_state.py |
| ContextSuite context=TestHostControlState>:teardown | Error |
32.71 | test_host_control_state.py |
| test_01_primary_storage_nfs | Error |
0.21 | test_primary_storage.py |
| ContextSuite context=TestStorageTags>:setup | Error |
0.34 | test_primary_storage.py |
| test_01_primary_storage_scope_change | Error |
0.13 | test_primary_storage_scope.py |
| test_02_unsecure_vm_migration | Error |
786.42 | test_vm_life_cycle.py |
[SF] Trillian test result (tid-14966) Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8 Total time taken: 58833 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12013-t14966-kvm-ol8.zip Smoke tests completed. 137 look OK, 12 have errors, 0 did not run Only failed and skipped tests results shown below:
| Test | Result | Time (s) | Test File |
|---|---|---|---|
| test_DeployVmAntiAffinityGroup_in_project | Error |
72.87 | test_affinity_groups_projects.py |
| test_DeployVmAntiAffinityGroup | Error |
25.89 | test_affinity_groups.py |
| test_01_condensed_drs_algorithm | Error |
18.68 | test_cluster_drs.py |
| test_02_balanced_drs_algorithm | Error |
19.63 | test_cluster_drs.py |
| ContextSuite context=TestClusterDRS>:teardown | Error |
20.68 | test_cluster_drs.py |
| test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Failure |
49.42 | test_internal_lb.py |
| test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Failure |
50.40 | test_internal_lb.py |
| test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Failure |
49.53 | test_internal_lb.py |
| test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Failure |
98.40 | test_internal_lb.py |
| test_03_create_vpc_domain_vpc_offering | Error |
54.95 | test_domain_vpc_offerings.py |
| test_uservm_host_control_state | Failure |
16.83 | test_host_control_state.py |
| ContextSuite context=TestHostControlState>:teardown | Error |
35.32 | test_host_control_state.py |
| test_03_deploy_and_scale_kubernetes_cluster | Failure |
35.85 | test_kubernetes_clusters.py |
| test_08_upgrade_kubernetes_ha_cluster | Failure |
110.22 | test_kubernetes_clusters.py |
| test_12_test_deploy_cluster_different_offerings_per_node_type | Failure |
96.08 | test_kubernetes_clusters.py |
| test_01_non_strict_host_anti_affinity | Failure |
74.04 | test_nonstrict_affinity_group.py |
| test_02_non_strict_host_affinity | Error |
36.27 | test_nonstrict_affinity_group.py |
| test_02_L2_persistent_network | Failure |
1.80 | test_persistent_network.py |
| test_03_deploy_and_destroy_VM_and_verify_network_resources_persist | Failure |
22.30 | test_persistent_network.py |
| test_02_vpc_privategw_static_routes | Failure |
97.27 | test_privategw_acl.py |
| test_03_vpc_privategw_restart_vpc_cleanup | Failure |
93.13 | test_privategw_acl.py |
| test_04_rvpc_privategw_static_routes | Failure |
101.16 | test_privategw_acl.py |
| test_03_create_vpc_with_specified_source_nat_ip_address | Error |
52.04 | test_set_sourcenat.py |
| test_04_change_source_nat_ip_address_for_vpc | Error |
102.81 | test_set_sourcenat.py |
| test_01_vpn_usage | Error |
1.07 | test_usage.py |