@@ -556,14 +556,6 @@ func (nsi *namespacedInformer) addPolicyHandler(handlers cache.ResourceEventHand
556
556
nsi .cacheSyncs = append (nsi .cacheSyncs , informer .HasSynced )
557
557
}
558
558
559
- func (nsi * namespacedInformer ) addTransportServerHandler (handlers cache.ResourceEventHandlerFuncs ) {
560
- informer := nsi .confSharedInformerFactory .K8s ().V1 ().TransportServers ().Informer ()
561
- informer .AddEventHandler (handlers )
562
- nsi .transportServerLister = informer .GetStore ()
563
-
564
- nsi .cacheSyncs = append (nsi .cacheSyncs , informer .HasSynced )
565
- }
566
-
567
559
func (lbc * LoadBalancerController ) addNamespaceHandler (handlers cache.ResourceEventHandlerFuncs , nsLabel string ) {
568
560
optionsModifier := func (options * meta_v1.ListOptions ) {
569
561
options .LabelSelector = nsLabel
@@ -1238,35 +1230,6 @@ func (lbc *LoadBalancerController) syncPolicy(task task) {
1238
1230
// Note: updating the status of a policy based on a reload is not needed.
1239
1231
}
1240
1232
1241
- func (lbc * LoadBalancerController ) syncTransportServer (task task ) {
1242
- key := task .Key
1243
- var obj interface {}
1244
- var tsExists bool
1245
- var err error
1246
-
1247
- ns , _ , _ := cache .SplitMetaNamespaceKey (key )
1248
- obj , tsExists , err = lbc .getNamespacedInformer (ns ).transportServerLister .GetByKey (key )
1249
- if err != nil {
1250
- lbc .syncQueue .Requeue (task , err )
1251
- return
1252
- }
1253
-
1254
- var changes []ResourceChange
1255
- var problems []ConfigurationProblem
1256
-
1257
- if ! tsExists {
1258
- glog .V (2 ).Infof ("Deleting TransportServer: %v\n " , key )
1259
- changes , problems = lbc .configuration .DeleteTransportServer (key )
1260
- } else {
1261
- glog .V (2 ).Infof ("Adding or Updating TransportServer: %v\n " , key )
1262
- ts := obj .(* conf_v1.TransportServer )
1263
- changes , problems = lbc .configuration .AddOrUpdateTransportServer (ts )
1264
- }
1265
-
1266
- lbc .processChanges (changes )
1267
- lbc .processProblems (problems )
1268
- }
1269
-
1270
1233
func (lbc * LoadBalancerController ) syncVirtualServer (task task ) {
1271
1234
key := task .Key
1272
1235
var obj interface {}
@@ -1437,45 +1400,6 @@ func (lbc *LoadBalancerController) processChanges(changes []ResourceChange) {
1437
1400
}
1438
1401
}
1439
1402
1440
- func (lbc * LoadBalancerController ) updateTransportServerStatusAndEventsOnDelete (tsConfig * TransportServerConfiguration , changeError string , deleteErr error ) {
1441
- eventType := api_v1 .EventTypeWarning
1442
- eventTitle := "Rejected"
1443
- eventWarningMessage := ""
1444
- var state string
1445
-
1446
- // TransportServer either became invalid or lost its host or listener
1447
- if changeError != "" {
1448
- state = conf_v1 .StateInvalid
1449
- eventWarningMessage = fmt .Sprintf ("with error: %s" , changeError )
1450
- } else if len (tsConfig .Warnings ) > 0 {
1451
- state = conf_v1 .StateWarning
1452
- eventWarningMessage = fmt .Sprintf ("with warning(s): %s" , formatWarningMessages (tsConfig .Warnings ))
1453
- }
1454
-
1455
- // we don't need to report anything if eventWarningMessage is empty
1456
- // in that case, the resource was deleted because its class became incorrect
1457
- // (some other Ingress Controller will handle it)
1458
-
1459
- if eventWarningMessage != "" {
1460
- if deleteErr != nil {
1461
- eventType = api_v1 .EventTypeWarning
1462
- eventTitle = "RejectedWithError"
1463
- eventWarningMessage = fmt .Sprintf ("%s; but was not applied: %v" , eventWarningMessage , deleteErr )
1464
- state = conf_v1 .StateInvalid
1465
- }
1466
-
1467
- msg := fmt .Sprintf ("TransportServer %s was rejected %s" , getResourceKey (& tsConfig .TransportServer .ObjectMeta ), eventWarningMessage )
1468
- lbc .recorder .Eventf (tsConfig .TransportServer , eventType , eventTitle , msg )
1469
-
1470
- if lbc .reportCustomResourceStatusEnabled () {
1471
- err := lbc .statusUpdater .UpdateTransportServerStatus (tsConfig .TransportServer , state , eventTitle , msg )
1472
- if err != nil {
1473
- glog .Errorf ("Error when updating the status for TransportServer %v/%v: %v" , tsConfig .TransportServer .Namespace , tsConfig .TransportServer .Name , err )
1474
- }
1475
- }
1476
- }
1477
- }
1478
-
1479
1403
// UpdateVirtualServerStatusAndEventsOnDelete updates the virtual server status and events
1480
1404
func (lbc * LoadBalancerController ) UpdateVirtualServerStatusAndEventsOnDelete (vsConfig * VirtualServerConfiguration , changeError string , deleteErr error ) {
1481
1405
eventType := api_v1 .EventTypeWarning
@@ -1688,44 +1612,6 @@ func (lbc *LoadBalancerController) updateRegularIngressStatusAndEvents(ingConfig
1688
1612
}
1689
1613
}
1690
1614
1691
- func (lbc * LoadBalancerController ) updateTransportServerStatusAndEvents (tsConfig * TransportServerConfiguration , warnings configs.Warnings , operationErr error ) {
1692
- eventTitle := "AddedOrUpdated"
1693
- eventType := api_v1 .EventTypeNormal
1694
- eventWarningMessage := ""
1695
- state := conf_v1 .StateValid
1696
-
1697
- if len (tsConfig .Warnings ) > 0 {
1698
- eventType = api_v1 .EventTypeWarning
1699
- eventTitle = "AddedOrUpdatedWithWarning"
1700
- eventWarningMessage = fmt .Sprintf ("with warning(s): %s" , formatWarningMessages (tsConfig .Warnings ))
1701
- state = conf_v1 .StateWarning
1702
- }
1703
-
1704
- if messages , ok := warnings [tsConfig .TransportServer ]; ok {
1705
- eventType = api_v1 .EventTypeWarning
1706
- eventTitle = "AddedOrUpdatedWithWarning"
1707
- eventWarningMessage = fmt .Sprintf ("with warning(s): %s" , formatWarningMessages (messages ))
1708
- state = conf_v1 .StateWarning
1709
- }
1710
-
1711
- if operationErr != nil {
1712
- eventType = api_v1 .EventTypeWarning
1713
- eventTitle = "AddedOrUpdatedWithError"
1714
- eventWarningMessage = fmt .Sprintf ("%s; but was not applied: %v" , eventWarningMessage , operationErr )
1715
- state = conf_v1 .StateInvalid
1716
- }
1717
-
1718
- msg := fmt .Sprintf ("Configuration for %v was added or updated %s" , getResourceKey (& tsConfig .TransportServer .ObjectMeta ), eventWarningMessage )
1719
- lbc .recorder .Eventf (tsConfig .TransportServer , eventType , eventTitle , msg )
1720
-
1721
- if lbc .reportCustomResourceStatusEnabled () {
1722
- err := lbc .statusUpdater .UpdateTransportServerStatus (tsConfig .TransportServer , state , eventTitle , msg )
1723
- if err != nil {
1724
- glog .Errorf ("Error when updating the status for TransportServer %v/%v: %v" , tsConfig .TransportServer .Namespace , tsConfig .TransportServer .Name , err )
1725
- }
1726
- }
1727
- }
1728
-
1729
1615
func (lbc * LoadBalancerController ) updateVirtualServerStatusAndEvents (vsConfig * VirtualServerConfiguration , warnings configs.Warnings , operationErr error ) {
1730
1616
eventType := api_v1 .EventTypeNormal
1731
1617
eventTitle := "AddedOrUpdated"
@@ -1870,15 +1756,6 @@ func (lbc *LoadBalancerController) updateVirtualServerMetrics() {
1870
1756
lbc .metricsCollector .SetVirtualServerRoutes (vsrCount )
1871
1757
}
1872
1758
1873
- func (lbc * LoadBalancerController ) updateTransportServerMetrics () {
1874
- if ! lbc .areCustomResourcesEnabled {
1875
- return
1876
- }
1877
-
1878
- metrics := lbc .configuration .GetTransportServerMetrics ()
1879
- lbc .metricsCollector .SetTransportServers (metrics .TotalTLSPassthrough , metrics .TotalTCP , metrics .TotalUDP )
1880
- }
1881
-
1882
1759
func (lbc * LoadBalancerController ) syncService (task task ) {
1883
1760
key := task .Key
1884
1761
@@ -2214,45 +2091,6 @@ func (lbc *LoadBalancerController) updateVirtualServerRoutesStatusFromEvents() e
2214
2091
return nil
2215
2092
}
2216
2093
2217
- func (lbc * LoadBalancerController ) updateTransportServersStatusFromEvents () error {
2218
- var allErrs []error
2219
- for _ , nsi := range lbc .namespacedInformers {
2220
- for _ , obj := range nsi .transportServerLister .List () {
2221
- ts := obj .(* conf_v1.TransportServer )
2222
-
2223
- events , err := lbc .client .CoreV1 ().Events (ts .Namespace ).List (context .TODO (),
2224
- meta_v1.ListOptions {FieldSelector : fmt .Sprintf ("involvedObject.name=%v,involvedObject.uid=%v" , ts .Name , ts .UID )})
2225
- if err != nil {
2226
- allErrs = append (allErrs , fmt .Errorf ("error trying to get events for TransportServer %v/%v: %w" , ts .Namespace , ts .Name , err ))
2227
- break
2228
- }
2229
-
2230
- if len (events .Items ) == 0 {
2231
- continue
2232
- }
2233
-
2234
- var timestamp time.Time
2235
- var latestEvent api_v1.Event
2236
- for _ , event := range events .Items {
2237
- if event .CreationTimestamp .After (timestamp ) {
2238
- latestEvent = event
2239
- }
2240
- }
2241
-
2242
- err = lbc .statusUpdater .UpdateTransportServerStatus (ts , getStatusFromEventTitle (latestEvent .Reason ), latestEvent .Reason , latestEvent .Message )
2243
- if err != nil {
2244
- allErrs = append (allErrs , err )
2245
- }
2246
- }
2247
- }
2248
-
2249
- if len (allErrs ) > 0 {
2250
- return fmt .Errorf ("not all TransportServers statuses were updated: %v" , allErrs )
2251
- }
2252
-
2253
- return nil
2254
- }
2255
-
2256
2094
func getIPAddressesFromEndpoints (endpoints []podEndpoint ) []string {
2257
2095
var endps []string
2258
2096
for _ , ep := range endpoints {
@@ -3028,63 +2866,6 @@ func (lbc *LoadBalancerController) getTransportServerBackupEndpointsAndKey(trans
3028
2866
return bendps , backupEndpointsKey
3029
2867
}
3030
2868
3031
- func (lbc * LoadBalancerController ) createTransportServerEx (transportServer * conf_v1.TransportServer , listenerPort int ) * configs.TransportServerEx {
3032
- endpoints := make (map [string ][]string )
3033
- externalNameSvcs := make (map [string ]bool )
3034
- podsByIP := make (map [string ]string )
3035
- disableIPV6 := lbc .configuration .isIPV6Disabled
3036
-
3037
- for _ , u := range transportServer .Spec .Upstreams {
3038
- podEndps , external , err := lbc .getEndpointsForUpstream (transportServer .Namespace , u .Service , uint16 (u .Port ))
3039
- if err == nil && external && lbc .isNginxPlus {
3040
- externalNameSvcs [configs .GenerateExternalNameSvcKey (transportServer .Namespace , u .Service )] = true
3041
- }
3042
- if err != nil {
3043
- glog .Warningf ("Error getting Endpoints for Upstream %v: %v" , u .Name , err )
3044
- }
3045
-
3046
- // subselector is not supported yet in TransportServer upstreams. That's why we pass "nil" here
3047
- endpointsKey := configs .GenerateEndpointsKey (transportServer .Namespace , u .Service , nil , uint16 (u .Port ))
3048
-
3049
- endps := getIPAddressesFromEndpoints (podEndps )
3050
- endpoints [endpointsKey ] = endps
3051
-
3052
- if lbc .isNginxPlus && lbc .isPrometheusEnabled {
3053
- for _ , endpoint := range podEndps {
3054
- podsByIP [endpoint .Address ] = endpoint .PodName
3055
- }
3056
- }
3057
-
3058
- if u .Backup != "" && u .BackupPort != nil {
3059
- bendps , backupEndpointsKey := lbc .getTransportServerBackupEndpointsAndKey (transportServer , u , externalNameSvcs )
3060
- endpoints [backupEndpointsKey ] = bendps
3061
- }
3062
- }
3063
-
3064
- scrtRefs := make (map [string ]* secrets.SecretReference )
3065
-
3066
- if transportServer .Spec .TLS != nil && transportServer .Spec .TLS .Secret != "" {
3067
- scrtKey := transportServer .Namespace + "/" + transportServer .Spec .TLS .Secret
3068
-
3069
- scrtRef := lbc .secretStore .GetSecret (scrtKey )
3070
- if scrtRef .Error != nil {
3071
- glog .Warningf ("Error trying to get the secret %v for TransportServer %v: %v" , scrtKey , transportServer .Name , scrtRef .Error )
3072
- }
3073
-
3074
- scrtRefs [scrtKey ] = scrtRef
3075
- }
3076
-
3077
- return & configs.TransportServerEx {
3078
- ListenerPort : listenerPort ,
3079
- TransportServer : transportServer ,
3080
- Endpoints : endpoints ,
3081
- PodsByIP : podsByIP ,
3082
- ExternalNameSvcs : externalNameSvcs ,
3083
- DisableIPV6 : disableIPV6 ,
3084
- SecretRefs : scrtRefs ,
3085
- }
3086
- }
3087
-
3088
2869
func (lbc * LoadBalancerController ) getEndpointsForUpstream (namespace string , upstreamService string , upstreamPort uint16 ) (endps []podEndpoint , isExternal bool , err error ) {
3089
2870
svc , err := lbc .getServiceForUpstream (namespace , upstreamService , upstreamPort )
3090
2871
if err != nil {
0 commit comments