mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-23 00:56:20 +00:00
cmd/k8s-operator: remove Services feature flag detection
Now that the feature is in beta, no one should encounter this error. Updates #cleanup Change-Id: I69ed3f460b7f28c44da43ce2f552042f980a0420 Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
This commit is contained in:
@@ -157,12 +157,6 @@ func (r *KubeAPIServerTSServiceReconciler) maybeProvision(ctx context.Context, s
|
|||||||
// 1. Check there isn't a Tailscale Service with the same hostname
|
// 1. Check there isn't a Tailscale Service with the same hostname
|
||||||
// already created and not owned by this ProxyGroup.
|
// already created and not owned by this ProxyGroup.
|
||||||
existingTSSvc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
existingTSSvc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
||||||
if isErrorFeatureFlagNotEnabled(err) {
|
|
||||||
logger.Warn(msgFeatureFlagNotEnabled)
|
|
||||||
r.recorder.Event(pg, corev1.EventTypeWarning, warningTailscaleServiceFeatureFlagNotEnabled, msgFeatureFlagNotEnabled)
|
|
||||||
tsoperator.SetProxyGroupCondition(pg, tsapi.KubeAPIServerProxyValid, metav1.ConditionFalse, reasonKubeAPIServerProxyInvalid, msgFeatureFlagNotEnabled, pg.Generation, r.clock, logger)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
if err != nil && !isErrorTailscaleServiceNotFound(err) {
|
if err != nil && !isErrorTailscaleServiceNotFound(err) {
|
||||||
return fmt.Errorf("error getting Tailscale Service %q: %w", serviceName, err)
|
return fmt.Errorf("error getting Tailscale Service %q: %w", serviceName, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,11 +154,6 @@ func (r *HAIngressReconciler) maybeProvision(ctx context.Context, hostname strin
|
|||||||
// needs to be explicitly enabled for a tailnet to be able to use them.
|
// needs to be explicitly enabled for a tailnet to be able to use them.
|
||||||
serviceName := tailcfg.ServiceName("svc:" + hostname)
|
serviceName := tailcfg.ServiceName("svc:" + hostname)
|
||||||
existingTSSvc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
existingTSSvc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
||||||
if isErrorFeatureFlagNotEnabled(err) {
|
|
||||||
logger.Warn(msgFeatureFlagNotEnabled)
|
|
||||||
r.recorder.Event(ing, corev1.EventTypeWarning, warningTailscaleServiceFeatureFlagNotEnabled, msgFeatureFlagNotEnabled)
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
if err != nil && !isErrorTailscaleServiceNotFound(err) {
|
if err != nil && !isErrorTailscaleServiceNotFound(err) {
|
||||||
return false, fmt.Errorf("error getting Tailscale Service %q: %w", hostname, err)
|
return false, fmt.Errorf("error getting Tailscale Service %q: %w", hostname, err)
|
||||||
}
|
}
|
||||||
@@ -453,11 +448,6 @@ func (r *HAIngressReconciler) maybeCleanupProxyGroup(ctx context.Context, proxyG
|
|||||||
if !found {
|
if !found {
|
||||||
logger.Infof("Tailscale Service %q is not owned by any Ingress, cleaning up", tsSvcName)
|
logger.Infof("Tailscale Service %q is not owned by any Ingress, cleaning up", tsSvcName)
|
||||||
tsService, err := r.tsClient.GetVIPService(ctx, tsSvcName)
|
tsService, err := r.tsClient.GetVIPService(ctx, tsSvcName)
|
||||||
if isErrorFeatureFlagNotEnabled(err) {
|
|
||||||
msg := fmt.Sprintf("Unable to proceed with cleanup: %s.", msgFeatureFlagNotEnabled)
|
|
||||||
logger.Warn(msg)
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
if isErrorTailscaleServiceNotFound(err) {
|
if isErrorTailscaleServiceNotFound(err) {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
@@ -515,12 +505,6 @@ func (r *HAIngressReconciler) maybeCleanup(ctx context.Context, hostname string,
|
|||||||
serviceName := tailcfg.ServiceName("svc:" + hostname)
|
serviceName := tailcfg.ServiceName("svc:" + hostname)
|
||||||
svc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
svc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if isErrorFeatureFlagNotEnabled(err) {
|
|
||||||
msg := fmt.Sprintf("Unable to proceed with cleanup: %s.", msgFeatureFlagNotEnabled)
|
|
||||||
logger.Warn(msg)
|
|
||||||
r.recorder.Event(ing, corev1.EventTypeWarning, warningTailscaleServiceFeatureFlagNotEnabled, msg)
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
if isErrorTailscaleServiceNotFound(err) {
|
if isErrorTailscaleServiceNotFound(err) {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
@@ -1122,14 +1106,6 @@ func hasCerts(ctx context.Context, cl client.Client, lc localClient, ns string,
|
|||||||
return len(cert) > 0 && len(key) > 0, nil
|
return len(cert) > 0 && len(key) > 0, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func isErrorFeatureFlagNotEnabled(err error) bool {
|
|
||||||
// messageFFNotEnabled is the error message returned by
|
|
||||||
// Tailscale control plane when a Tailscale Service API call is made for a
|
|
||||||
// tailnet that does not have the Tailscale Services feature flag enabled.
|
|
||||||
const messageFFNotEnabled = "feature unavailable for tailnet"
|
|
||||||
return err != nil && strings.Contains(err.Error(), messageFFNotEnabled)
|
|
||||||
}
|
|
||||||
|
|
||||||
func isErrorTailscaleServiceNotFound(err error) bool {
|
func isErrorTailscaleServiceNotFound(err error) bool {
|
||||||
var errResp tailscale.ErrResponse
|
var errResp tailscale.ErrResponse
|
||||||
ok := errors.As(err, &errResp)
|
ok := errors.As(err, &errResp)
|
||||||
|
|||||||
@@ -207,11 +207,6 @@ func (r *HAServiceReconciler) maybeProvision(ctx context.Context, hostname strin
|
|||||||
// already created and not owned by this Service.
|
// already created and not owned by this Service.
|
||||||
serviceName := tailcfg.ServiceName("svc:" + hostname)
|
serviceName := tailcfg.ServiceName("svc:" + hostname)
|
||||||
existingTSSvc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
existingTSSvc, err := r.tsClient.GetVIPService(ctx, serviceName)
|
||||||
if isErrorFeatureFlagNotEnabled(err) {
|
|
||||||
logger.Warn(msgFeatureFlagNotEnabled)
|
|
||||||
r.recorder.Event(svc, corev1.EventTypeWarning, warningTailscaleServiceFeatureFlagNotEnabled, msgFeatureFlagNotEnabled)
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
if err != nil && !isErrorTailscaleServiceNotFound(err) {
|
if err != nil && !isErrorTailscaleServiceNotFound(err) {
|
||||||
return false, fmt.Errorf("error getting Tailscale Service %q: %w", hostname, err)
|
return false, fmt.Errorf("error getting Tailscale Service %q: %w", hostname, err)
|
||||||
}
|
}
|
||||||
@@ -530,11 +525,6 @@ func (r *HAServiceReconciler) tailnetCertDomain(ctx context.Context) (string, er
|
|||||||
// It returns true if an existing Tailscale Service was updated to remove owner reference, as well as any error that occurred.
|
// It returns true if an existing Tailscale Service was updated to remove owner reference, as well as any error that occurred.
|
||||||
func cleanupTailscaleService(ctx context.Context, tsClient tsClient, name tailcfg.ServiceName, operatorID string, logger *zap.SugaredLogger) (updated bool, err error) {
|
func cleanupTailscaleService(ctx context.Context, tsClient tsClient, name tailcfg.ServiceName, operatorID string, logger *zap.SugaredLogger) (updated bool, err error) {
|
||||||
svc, err := tsClient.GetVIPService(ctx, name)
|
svc, err := tsClient.GetVIPService(ctx, name)
|
||||||
if isErrorFeatureFlagNotEnabled(err) {
|
|
||||||
msg := fmt.Sprintf("Unable to proceed with cleanup: %s.", msgFeatureFlagNotEnabled)
|
|
||||||
logger.Warn(msg)
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errResp := &tailscale.ErrResponse{}
|
errResp := &tailscale.ErrResponse{}
|
||||||
ok := errors.As(err, errResp)
|
ok := errors.As(err, errResp)
|
||||||
|
|||||||
Reference in New Issue
Block a user