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

NSX-T ALB Virtual Service Transparent mode and Pool Firewall Group membership (VCD 10.4.1+) #1024

Merged
merged 15 commits into from
Mar 27, 2023

Conversation

Didainius
Copy link
Collaborator

@Didainius Didainius commented Mar 21, 2023

This PR continues on ALB feature catchup (started in #996), where vcd_nsxt_alb_settings added support for Transparent mode.

This PR adds two new things (both require VCD 10.4.1+):

  • vcd_nsxt_alb_virtual_service support for Transparent mode (via field is_transparent_mode_enabled)
  • vcd_nsxt_alb_pool Group membership via member_group_id field (members of ALB Pool can come from IP Set instead of being manually enabled)

Note There is quite a list of prerequisites to enable Transparent mode for ALB Virtual Services now. They are well outlined in this blog post (section Transparent Load Balancing) however, I don't think it is worth putting it all in our docs as it may soon get outdated due to this being fresh technology. I also observed that errors are meaningful when creation fails due to missed requirements.

UI views

vcd_nsxt_alb_virtual_service

image

vcd_nsxt_alb_pool
image

Testing

  • Test leftover cleanup support for all ALB resources added. They must always be removed in reverse order as each of them depend on the parent. The cleanup should look similar to this (I am open to discussion if we need to make the indentation somehow different although it does reflect dependencies correctly):
....
Start leftovers removal
[vcd_nsxt_alb_controller] TestAccVcdNsxtAlbVirtualService (DELETE)
        [vcd_nsxt_alb_cloud] TestAccVcdNsxtAlbVirtualService-alb-cloud (DELETE)
                [vcd_nsxt_alb_service_engine_group] TestAccVcdNsxtAlbVirtualService-se-group (DELETE)
                        [vcd_nsxt_alb_settings] Testnsxt-gw-datacloud (DELETE)
                                [vcd_nsxt_alb_edgegateway_service_engine_group] TestAccVcdNsxtAlbVirtualService-se-group (DELETE)
                                        [vcd_nsxt_alb_pool] TestAccVcdNsxtAlbVirtualService-pool (DELETE)
                                                [vcd_nsxt_alb_virtual_service] TestAccVcdNsxtAlbVirtualService (DELETE)
[vcd_org] System (keep)
[vcd_org] datacloud (keep)
....

Tested on 10.3.0, 10.3.3, 10.4.0, 10.4.1

…irewall Group membership

Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
@Didainius Didainius changed the title NSX-T ALB Virtual Service Transparent mode and Pool Firewall Group membership NSX-T ALB Virtual Service Transparent mode and Pool Firewall Group membership (VCD 10.4.1+) Mar 21, 2023
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
@Didainius Didainius marked this pull request as ready for review March 22, 2023 06:41
Copy link
Collaborator

@adambarreiro adambarreiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the improvements, just a few doubts

vcd/datasource_vcd_nsxt_alb_virtual_service.go Outdated Show resolved Hide resolved
vcd/remove_leftovers_test.go Outdated Show resolved Hide resolved
vcd/remove_leftovers_test.go Show resolved Hide resolved
vcd/resource_vcd_nsxt_alb_virtual_service.go Show resolved Hide resolved
scripts/skip-upgrade-tests.txt Outdated Show resolved Hide resolved
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
vcd/datasource_vcd_nsxt_alb_pool.go Outdated Show resolved Hide resolved
vcd/resource_vcd_nsxt_alb_pool.go Outdated Show resolved Hide resolved
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
Signed-off-by: Dainius Serplis <[email protected]>
@Didainius Didainius merged commit 11638b3 into vmware:main Mar 27, 2023
@Didainius Didainius deleted the alb-2 branch March 27, 2023 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants