diff --git a/go.mod b/go.mod index 3c2da640..220f6d5e 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/prometheus/client_golang v1.14.0 github.com/spf13/pflag v1.0.5 github.com/stolostron/go-log-utils v0.1.1 - github.com/stolostron/kubernetes-dependency-watches v0.1.1 + github.com/stolostron/kubernetes-dependency-watches v0.2.0 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 k8s.io/api v0.23.10 k8s.io/apiextensions-apiserver v0.23.5 @@ -56,6 +56,7 @@ require ( github.com/google/uuid v1.3.0 // indirect github.com/googleapis/gnostic v0.5.5 // indirect github.com/imdario/mergo v0.3.12 // indirect + github.com/jellydator/ttlcache/v3 v3.0.1 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kr/pretty v0.3.0 // indirect @@ -77,6 +78,7 @@ require ( golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a // indirect + golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect diff --git a/go.sum b/go.sum index 61aaeba2..c147ea5c 100644 --- a/go.sum +++ b/go.sum @@ -409,6 +409,8 @@ github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jellydator/ttlcache/v3 v3.0.1 h1:cHgCSMS7TdQcoprXnWUptJZzyFsqs18Lt8VVhRuZYVU= +github.com/jellydator/ttlcache/v3 v3.0.1/go.mod h1:WwTaEmcXQ3MTjOm4bsZoDFiCu/hMvNWLO1w67RXz6h4= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= @@ -615,8 +617,8 @@ github.com/stolostron/go-log-utils v0.1.1 h1:T48GyfuGpn2+6817FQVec1CyxGf0ibuVhoB github.com/stolostron/go-log-utils v0.1.1/go.mod h1:2Uc5mbuLvSFpoXFFEKRTEFOlR7nqGVMu9mbU+FIttTI= github.com/stolostron/governance-policy-propagator v0.0.0-20230131150856-3029aa277b1b h1:Y9y+dYt3GP1NwtXBohqZOSC4tz2S+FQWVPoScW+nDEQ= github.com/stolostron/governance-policy-propagator v0.0.0-20230131150856-3029aa277b1b/go.mod h1:QCSHa9QaY+zzk31nrnj0ceMO7qTJNQGjudbmt9xKW04= -github.com/stolostron/kubernetes-dependency-watches v0.1.1 h1:qY/vbHGntKhztrLPqedVHwWWiMoH29K7WE+5sy+F/bA= -github.com/stolostron/kubernetes-dependency-watches v0.1.1/go.mod h1:jGnjY4g8N1PaBqt35EjqNRjymjG0DWqki/2JOLMN1Pg= +github.com/stolostron/kubernetes-dependency-watches v0.2.0 h1:5MWK4xv5OOglyov7qoiKQ/M1Q5MTrEKSWuh/ed3zauQ= +github.com/stolostron/kubernetes-dependency-watches v0.2.0/go.mod h1:zFj8nBxKVn9QtmQIMlM0QSIqRSCKoMUtoY8G6Q+LJAc= github.com/stolostron/multicloud-operators-subscription v1.2.4-0-20211122-7277a37.0.20220727170504-931d9002a21f h1:sTiAulZPOPftn3XIEQhkSiWbOA5BGqOFWMwGQeXydVQ= github.com/stolostron/multicloud-operators-subscription v1.2.4-0-20211122-7277a37.0.20220727170504-931d9002a21f/go.mod h1:R83lMSoaMfs3T1Z3ApRjfioA9AgPMzam+CS6XbO5FjU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -822,6 +824,7 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/test/e2e/case17_gatekeeper_sync_test.go b/test/e2e/case17_gatekeeper_sync_test.go index 3522aec4..cf644916 100644 --- a/test/e2e/case17_gatekeeper_sync_test.go +++ b/test/e2e/case17_gatekeeper_sync_test.go @@ -88,6 +88,12 @@ var _ = Describe("Test Gatekeeper ConstraintTemplate and constraint sync", Order }) AfterAll(func() { + By("Deleting the namespace " + configMapNamespace) + err := clientManaged.CoreV1().Namespaces().Delete(context.TODO(), configMapNamespace, metav1.DeleteOptions{}) + if !k8serrors.IsNotFound(err) { + Expect(err).To(BeNil()) + } + for _, pName := range []string{policyName, policyName2} { By("Deleting policy " + pName + " on the hub in ns:" + clusterNamespaceOnHub) err := clientHubDynamic.Resource(gvrPolicy).Namespace(clusterNamespaceOnHub).Delete( @@ -112,12 +118,6 @@ var _ = Describe("Test Gatekeeper ConstraintTemplate and constraint sync", Order opt := metav1.ListOptions{} propagatorutils.ListWithTimeout(clientManagedDynamic, gvrPolicy, opt, 0, true, defaultTimeoutSeconds) - By("Deleting the namespace " + configMapNamespace) - err := clientManaged.CoreV1().Namespaces().Delete(context.TODO(), configMapNamespace, metav1.DeleteOptions{}) - if !k8serrors.IsNotFound(err) { - Expect(err).To(BeNil()) - } - By("Fixing the Gatekeeper webhook if required") Eventually( func(g Gomega) { @@ -148,6 +148,18 @@ var _ = Describe("Test Gatekeeper ConstraintTemplate and constraint sync", Order defaultTimeoutSeconds, 1, ).Should(Succeed()) + + By("Waiting for the namespace " + configMapNamespace + " to be deleted") + Eventually( + func(g Gomega) { + _, err := clientManaged.CoreV1().Namespaces().Get( + context.TODO(), configMapNamespace, metav1.GetOptions{}, + ) + g.Expect(k8serrors.IsNotFound(err)).To(BeTrue()) + }, + defaultTimeoutSeconds*2, + 1, + ).Should(Succeed()) }) It("should create the policy on the managed cluster", func() {