Skip to content

Commit db8891b

Browse files
kabicinKirby Chin
authored andcommitted
Fix TCP typo
1 parent 04a7e20 commit db8891b

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

controllers/webspherelibertyapplication_controller.go

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -939,3 +939,79 @@ func (r *ReconcileWebSphereLiberty) deletePVC(reqLogger logr.Logger, pvcName str
939939
}
940940
}
941941
}
942+
943+
// If a custome hostname was previously set, but is now not set, any previous
944+
// route needs to be deleted, as the host in a route cannot be unset
945+
// and the default generated hostname is difficult to manually recreate
946+
func shouldDeleteRoute(ba common.BaseComponent) bool {
947+
rh := ba.GetStatus().GetReferences()[common.StatusReferenceRouteHost]
948+
if rh != "" {
949+
// The host was previously set.
950+
// If the host is now empty, delete the old route
951+
rt := ba.GetRoute()
952+
if rt == nil || (rt.GetHost() == "" && common.Config[common.OpConfigDefaultHostname] == "") {
953+
return true
954+
}
955+
}
956+
return false
957+
}
958+
959+
func (r *ReconcileWebSphereLiberty) getEndpoints(serviceName string, namespace string) (*corev1.Endpoints, error) {
960+
endpoints := &corev1.Endpoints{}
961+
if err := r.GetClient().Get(context.TODO(), types.NamespacedName{Name: serviceName, Namespace: namespace}, endpoints); err != nil {
962+
return nil, err
963+
} else {
964+
return endpoints, nil
965+
}
966+
}
967+
968+
func (r *ReconcileWebSphereLiberty) getDNSEgressRule(reqLogger logr.Logger, endpointsName string, endpointsNamespace string) networkingv1.NetworkPolicyEgressRule {
969+
dnsRule := networkingv1.NetworkPolicyEgressRule{}
970+
if dnsEndpoints, err := r.getEndpoints(endpointsName, endpointsNamespace); err == nil {
971+
if endpointPort := lutils.GetEndpointPortByName(&dnsEndpoints.Subsets[0].Ports, "dns"); endpointPort != nil {
972+
dnsRule.Ports = append(dnsRule.Ports, lutils.CreateNetworkPolicyPortFromEndpointPort(endpointPort))
973+
}
974+
if endpointPort := lutils.GetEndpointPortByName(&dnsEndpoints.Subsets[0].Ports, "dns-tcp"); endpointPort != nil {
975+
dnsRule.Ports = append(dnsRule.Ports, lutils.CreateNetworkPolicyPortFromEndpointPort(endpointPort))
976+
}
977+
peer := networkingv1.NetworkPolicyPeer{}
978+
peer.NamespaceSelector = &metav1.LabelSelector{
979+
MatchLabels: map[string]string{
980+
"kubernetes.io/metadata.name": endpointsNamespace,
981+
},
982+
}
983+
dnsRule.To = append(dnsRule.To, peer)
984+
reqLogger.Info("Found endpoints for " + endpointsName + " service in the " + endpointsNamespace + " namespace")
985+
} else if endpointsNamespace == "kube-system" { // For non-OCP, assume CoreDNS as the default
986+
peer := networkingv1.NetworkPolicyPeer{}
987+
peer.NamespaceSelector = &metav1.LabelSelector{
988+
MatchLabels: map[string]string{
989+
"kubernetes.io/metadata.name": endpointsNamespace,
990+
},
991+
}
992+
dnsRule.To = append(dnsRule.To, peer)
993+
994+
portUDP := networkingv1.NetworkPolicyPort{}
995+
udp := corev1.ProtocolUDP
996+
portUDP.Protocol = &udp
997+
var portNumberUDP intstr.IntOrString = intstr.FromInt((int)(53))
998+
portUDP.Port = &portNumberUDP
999+
dnsRule.Ports = append(dnsRule.Ports, portUDP)
1000+
1001+
portTCP := networkingv1.NetworkPolicyPort{}
1002+
tcp := corev1.ProtocolTCP
1003+
portTCP.Protocol = &tcp
1004+
var portNumberTCP intstr.IntOrString = intstr.FromInt((int)(53))
1005+
portTCP.Port = &portNumberTCP
1006+
dnsRule.Ports = append(dnsRule.Ports, portTCP)
1007+
reqLogger.Info("Failed to retrieve endpoints for " + endpointsName + " service in the " + endpointsNamespace + " namespace. Defaulting to using " + endpointsName + " on port 53 for DNS access.")
1008+
} else {
1009+
peer := networkingv1.NetworkPolicyPeer{}
1010+
peer.NamespaceSelector = &metav1.LabelSelector{
1011+
MatchLabels: map[string]string{},
1012+
}
1013+
dnsRule.To = append(dnsRule.To, peer)
1014+
reqLogger.Info("Failed to retrieve endpoints for " + endpointsName + " service in the " + endpointsNamespace + " namespace. Using more permissive rule.")
1015+
}
1016+
return dnsRule
1017+
}

0 commit comments

Comments
 (0)