mirror of https://github.com/linkerd/linkerd2.git
49 lines
980 B
Go
49 lines
980 B
Go
package k8s
|
|
|
|
import (
|
|
"context"
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/linkerd/linkerd2/pkg/k8s"
|
|
log "github.com/sirupsen/logrus"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/client-go/tools/cache"
|
|
)
|
|
|
|
const ResyncTime = 10 * time.Minute
|
|
|
|
func waitForCacheSync(syncChecks []cache.InformerSynced) {
|
|
ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
|
|
defer cancel()
|
|
|
|
log.Infof("waiting for caches to sync")
|
|
if !cache.WaitForCacheSync(ctx.Done(), syncChecks...) {
|
|
//nolint:gocritic
|
|
log.Fatal("failed to sync caches")
|
|
}
|
|
log.Infof("caches synced")
|
|
}
|
|
|
|
func isValidRSParent(rs metav1.Object) bool {
|
|
if len(rs.GetOwnerReferences()) != 1 {
|
|
return false
|
|
}
|
|
|
|
validParentKinds := []string{
|
|
k8s.Job,
|
|
k8s.StatefulSet,
|
|
k8s.DaemonSet,
|
|
k8s.Deployment,
|
|
}
|
|
|
|
rsOwner := rs.GetOwnerReferences()[0]
|
|
rsOwnerKind := strings.ToLower(rsOwner.Kind)
|
|
for _, kind := range validParentKinds {
|
|
if rsOwnerKind == kind {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|