You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pe...@apache.org on 2024/01/18 16:08:07 UTC
(cloudstack-kubernetes-provider) 01/01: NSX: (temp fix) Skip adding firewall rules for CKS Clusters on VPC tiers
This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a commit to branch nsx-skip-firewall
in repository https://gitbox.apache.org/repos/asf/cloudstack-kubernetes-provider.git
commit f2870a38da15466101b17326490ad781db70cfff
Author: Pearl Dsilva <pe...@gmail.com>
AuthorDate: Thu Jan 18 11:05:38 2024 -0500
NSX: (temp fix) Skip adding firewall rules for CKS Clusters on VPC tiers
---
cloudstack_loadbalancer.go | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/cloudstack_loadbalancer.go b/cloudstack_loadbalancer.go
index b796dfa9..d9977997 100644
--- a/cloudstack_loadbalancer.go
+++ b/cloudstack_loadbalancer.go
@@ -163,7 +163,12 @@ func (cs *CSCloud) EnsureLoadBalancer(ctx context.Context, clusterName string, s
}
}
- if lbRule != nil {
+ network, _, err := cs.client.Network.GetNetworkByID(lb.networkID, nil)
+ if err != nil {
+ return nil, err
+ }
+
+ if lbRule != nil && isFirewallSupported(network.Service) {
klog.V(4).Infof("Creating firewall rules for load balancer rule: %v (%v:%v:%v)", lbRuleName, protocol, lbRule.Publicip, port.Port)
if _, err := lb.updateFirewallRule(lbRule.Publicipid, int(port.Port), protocol, service.Spec.LoadBalancerSourceRanges); err != nil {
return nil, err
@@ -244,6 +249,15 @@ func (cs *CSCloud) UpdateLoadBalancer(ctx context.Context, clusterName string, s
return nil
}
+func isFirewallSupported(services []cloudstack.NetworkServiceInternal) bool {
+ for _, svc := range services {
+ if svc.Name == "Firewall" {
+ return true
+ }
+ }
+ return false
+}
+
// EnsureLoadBalancerDeleted deletes the specified load balancer if it exists, returning
// nil if the load balancer specified either didn't exist or was successfully deleted.
func (cs *CSCloud) EnsureLoadBalancerDeleted(ctx context.Context, clusterName string, service *corev1.Service) error {