Skip to content

Commit 564f41f

Browse files
committed
Fix TCP typo
1 parent d893cd5 commit 564f41f

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

0 commit comments

Comments
 (0)