external-dns/source
Markus c0a9eed521
feat(source): optional exclusion of unschedulable nodes (#5045)
* feat(source/node): Make exclusion of unschedulable Nodes configurable

This fixes a behavioral regression introduced in #4761, where
nodes that were previously added to DNS are removed when they are considered
unschedulable, for example due to automated maintenance tasks.

This change will introduce a new flag called `exclude-unschedulable`, which
defaults to `true` in order to keep in line with the current behavior.
However, it would also be reasonable to restore the initial behavior before

* Allow testing for expected log entries in testNodeSourceEndpoints

This commit adds the required logic to be able to test for
the existence (and absence) of certain log messages
in testNodeSourceEndpoints. As an example, this is implemented
for the tests around excludeUnschedulable.

A side effect of using LogsToBuffer is that tests can't run in
parallel due to the log buffer being shared across all
parallel test cases. As such, these specific tests are now executed
one after another.

* Ensure logging is only hooked for tests that require it

* Document new exclude-unschedulable flag for nodes source
2025-04-07 07:34:40 -07:00
..
ambassador_host_test.go feat: add annotation and label filters to Ambassador Host Source (#2633) 2024-08-28 18:02:57 +01:00
ambassador_host.go feat: add annotation and label filters to Ambassador Host Source (#2633) 2024-08-28 18:02:57 +01:00
cloudfoundry_test.go fix route/cloudfoundry test 2019-05-10 12:28:32 -04:00
cloudfoundry.go dependencies: Upgrade all k8s client-go dependent sources to v1.18.X 2020-07-03 11:29:37 +07:00
compatibility.go chore(ci): update linter to v2.0.2 2025-04-02 08:53:54 +02:00
connector_test.go gofumpt 2022-09-20 20:48:57 -07:00
connector.go dependencies: Upgrade all k8s client-go dependent sources to v1.18.X 2020-07-03 11:29:37 +07:00
contour_httpproxy_test.go chore(formatting): fix infected files with correct formatting (#5099) 2025-02-18 01:40:12 -08:00
contour_httpproxy.go fix(httpProxy): drop status==valid filter 2023-10-14 14:29:15 +02:00
crd_test.go fix: linter on unused parameter 2024-05-16 08:44:06 +02:00
crd.go chore(ci): update linter to v2.0.2 2025-04-02 08:53:54 +02:00
dedupsource_test.go Address PR comments 2025-02-09 15:34:55 +00:00
dedupsource.go Address PR comments 2025-02-09 15:34:55 +00:00
empty_test.go dependencies: Upgrade all k8s client-go dependent sources to v1.18.X 2020-07-03 11:29:37 +07:00
empty.go dependencies: Upgrade all k8s client-go dependent sources to v1.18.X 2020-07-03 11:29:37 +07:00
f5_transportserver_test.go fix: add mikejoh's commit changes (a70d5d0, #4996) for when TSServer is not ready 2025-01-21 11:25:42 -08:00
f5_transportserver.go fix: add mikejoh's commit changes (a70d5d0, #4996) for when TSServer is not ready 2025-01-21 11:25:42 -08:00
f5_virtualserver_test.go fix(f5-virtualserver): skip endpoint creation when VirtualServer is not ready (#4996) 2025-01-13 07:56:33 -08:00
f5_virtualserver.go fix(f5-virtualserver): skip endpoint creation when VirtualServer is not ready (#4996) 2025-01-13 07:56:33 -08:00
fake_test.go dependencies: Upgrade all k8s client-go dependent sources to v1.18.X 2020-07-03 11:29:37 +07:00
fake.go review: remove seed and init() func 2023-06-12 12:10:49 +02:00
gateway_grpcroute_test.go source/gateway-api: revert v1.Gateway to v1beta1.Gateway 2024-07-14 09:06:35 -07:00
gateway_grpcroute.go feat: update GRPCRoute client to stable 2024-06-20 13:30:18 +02:00
gateway_hostname.go gateway: enforce listener matching 2022-02-24 21:33:53 -08:00
gateway_httproute_test.go feat(source): fitler by gateway name (#5160) 2025-03-12 01:51:47 -07:00
gateway_httproute.go source/gateway-api: revert v1.HTTPRoute to v1beta1.HTTPRoute 2024-07-14 09:06:35 -07:00
gateway_tcproute_test.go source/gateway-api: revert v1.Gateway to v1beta1.Gateway 2024-07-14 09:06:35 -07:00
gateway_tcproute.go add initial support for gw apis 1.0.0 GA 2023-11-06 09:32:31 -05:00
gateway_test.go feat(aws): always create AAAA alias records in route53 (#5111) 2025-03-03 00:21:00 -08:00
gateway_tlsroute_test.go source/gateway-api: revert v1.Gateway to v1beta1.Gateway 2024-07-14 09:06:35 -07:00
gateway_tlsroute.go add initial support for gw apis 1.0.0 GA 2023-11-06 09:32:31 -05:00
gateway_udproute_test.go source/gateway-api: revert v1.Gateway to v1beta1.Gateway 2024-07-14 09:06:35 -07:00
gateway_udproute.go add initial support for gw apis 1.0.0 GA 2023-11-06 09:32:31 -05:00
gateway.go feat(source): fitler by gateway name (#5160) 2025-03-12 01:51:47 -07:00
gloo_proxy_test.go Implement target annotation for more sources 2023-09-27 23:16:14 -07:00
gloo_proxy.go Refactor getTTLFromAnnotations() to not return error (#3939) 2023-10-02 03:56:45 -07:00
ingress_test.go feat(aws): always create AAAA alias records in route53 (#5111) 2025-03-03 00:21:00 -08:00
ingress.go feat(aws): always create AAAA alias records in route53 (#5111) 2025-03-03 00:21:00 -08:00
istio_gateway_test.go fix(istio): support for ExternalIPs in Istio resources 2023-12-06 08:52:35 +01:00
istio_gateway.go fix(istio): support for ExternalIPs in Istio resources 2023-12-06 08:52:35 +01:00
istio_virtualservice_test.go fix: use informer for istio gateways 2024-06-03 11:44:38 +02:00
istio_virtualservice.go fix: use informer for istio gateways 2024-06-03 11:44:38 +02:00
kong_tcpingress_test.go Make --ignore-hostname-annotation flag more consistent 2023-10-02 23:51:43 -07:00
kong_tcpingress.go feat(aws): always create AAAA alias records in route53 (#5111) 2025-03-03 00:21:00 -08:00
multisource_test.go copy labels 2023-06-30 07:52:25 +02:00
multisource.go Refactor setting the "resource" label into endpointsForHostname 2023-08-29 11:36:27 -07:00
nat64source_test.go Introduced NAT64 prefix rewriting 2024-08-19 08:00:18 +02:00
nat64source.go chore(ci): fix failing test, upgrade to go 1.23.5 and linter to v1.63 2025-01-17 21:05:08 +01:00
node_test.go feat(source): optional exclusion of unschedulable nodes (#5045) 2025-04-07 07:34:40 -07:00
node.go feat(source): optional exclusion of unschedulable nodes (#5045) 2025-04-07 07:34:40 -07:00
openshift_route_test.go Make unit tests more strict about record type 2023-03-30 17:47:59 -07:00
openshift_route.go Refactor getTTLFromAnnotations() to not return error (#3939) 2023-10-02 03:56:45 -07:00
pod_test.go Allow to register all pods and their associated PTR record 2025-01-14 07:23:38 +00:00
pod.go chore(ci): update linter to v2.0.2 2025-04-02 08:53:54 +02:00
service_test.go Enable reconcile on endpoint events 2025-02-02 23:42:50 +02:00
service.go chore(ci): update linter to v2.0.2 2025-04-02 08:53:54 +02:00
shared_test.go IPv6 internal node IPs are usable externally 2023-05-07 12:00:28 -07:00
skipper_routegroup_test.go feat(aws): always create AAAA alias records in route53 (#5111) 2025-03-03 00:21:00 -08:00
skipper_routegroup.go chore(ci): update linter to v2.0.2 2025-04-02 08:53:54 +02:00
source_test.go cover source.go getProviderSpecificAnnotations() with unit tests 2025-02-18 21:28:59 -08:00
source.go chore(ci): update linter to v2.0.2 2025-04-02 08:53:54 +02:00
store_test.go feat: Add F5 TransportServer source 2024-11-28 22:51:18 -08:00
store.go feat(source): optional exclusion of unschedulable nodes (#5045) 2025-04-07 07:34:40 -07:00
targetfiltersource_test.go Simplify interface implementation test for targetFilterSource 2023-06-29 22:38:17 +02:00
targetfiltersource.go Fix: File is not goimports-ed with -local 2023-07-01 14:11:49 +02:00
traefik_proxy_test.go Add test cases for Traefik API group flags 2023-11-29 12:14:59 -06:00
traefik_proxy.go feat(aws): always create AAAA alias records in route53 (#5111) 2025-03-03 00:21:00 -08:00
unstructured_converter.go drop more concour 2021-08-12 14:12:44 +02:00