diff --git a/internal/ingress/controller/store/store.go b/internal/ingress/controller/store/store.go index cf9bc8582a..59f4767201 100644 --- a/internal/ingress/controller/store/store.go +++ b/internal/ingress/controller/store/store.go @@ -355,7 +355,9 @@ func New(checkOCSP bool, glog.Infof("secret %v was removed and it is used in ingress annotations. Parsing...", key) for _, name := range set.List() { ing, _ := store.GetIngress(name) - store.extractAnnotations(ing) + if ing != nil { + store.extractAnnotations(ing) + } } updateCh <- Event{ @@ -399,7 +401,7 @@ func New(checkOCSP bool, glog.V(2).Infof("adding configmap %v to backend", mapKey) store.setConfig(m) updateCh <- Event{ - Type: CreateEvent, + Type: ConfigurationEvent, Obj: obj, } } @@ -409,7 +411,7 @@ func New(checkOCSP bool, m := cur.(*apiv1.ConfigMap) mapKey := fmt.Sprintf("%s/%s", m.Namespace, m.Name) if mapKey == configmap { - glog.V(2).Infof("updating configmap backend (%v)", mapKey) + recorder.Eventf(m, apiv1.EventTypeNormal, "UPDATE", fmt.Sprintf("ConfigMap %v", mapKey)) store.setConfig(m) updateCh <- Event{ Type: ConfigurationEvent, @@ -417,7 +419,7 @@ func New(checkOCSP bool, } } // updates to configuration configmaps can trigger an update - if mapKey == configmap || mapKey == tcp || mapKey == udp { + if mapKey == tcp || mapKey == udp { recorder.Eventf(m, apiv1.EventTypeNormal, "UPDATE", fmt.Sprintf("ConfigMap %v", mapKey)) updateCh <- Event{ Type: ConfigurationEvent, diff --git a/test/e2e/framework/framework.go b/test/e2e/framework/framework.go index 4d1fa295d9..d65af63a57 100644 --- a/test/e2e/framework/framework.go +++ b/test/e2e/framework/framework.go @@ -27,12 +27,14 @@ import ( restclient "k8s.io/client-go/rest" "github.com/golang/glog" + . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) const ( - podName = "test-ingress-controller" + podName = "test-ingress-controller" + controllerPodName = "nginx-ingress-controller" ) const ( @@ -225,12 +227,15 @@ func (f *Framework) matchNginxConditions(name string, matcher func(cfg string) b } var pod *v1.Pod + Loop: for _, p := range l.Items { - if strings.HasPrefix(p.GetName(), "nginx-ingress-controller") && - len(p.Status.ContainerStatuses) > 0 && - p.Status.ContainerStatuses[0].State.Running != nil { - pod = &p - break + if strings.HasPrefix(p.GetName(), "nginx-ingress-controller") { + for _, cs := range p.Status.ContainerStatuses { + if cs.State.Running != nil && cs.Name == "nginx-ingress-controller" { + pod = &p + break Loop + } + } } } diff --git a/test/e2e/settings/proxy_protocol.go b/test/e2e/settings/proxy_protocol.go index cde00fe209..1cfb5c0cd8 100644 --- a/test/e2e/settings/proxy_protocol.go +++ b/test/e2e/settings/proxy_protocol.go @@ -21,6 +21,7 @@ import ( "io/ioutil" "net" "strings" + "time" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -35,20 +36,21 @@ import ( var _ = framework.IngressNginxDescribe("Proxy Protocol", func() { f := framework.NewDefaultFramework("proxy-protocol") + setting := "use-proxy-protocol" + BeforeEach(func() { err := f.NewEchoDeployment() Expect(err).NotTo(HaveOccurred()) }) AfterEach(func() { + updateConfigmap(setting, "false", f.KubeClientSet) }) It("should respect port passed by the PROXY Protocol", func() { host := "proxy-protocol" - setting := "use-proxy-protocol" updateConfigmap(setting, "true", f.KubeClientSet) - defer updateConfigmap(setting, "false", f.KubeClientSet) ing, err := f.EnsureIngress(&v1beta1.Ingress{ ObjectMeta: metav1.ObjectMeta{ @@ -120,11 +122,8 @@ func updateConfigmap(k, v string, c kubernetes.Interface) { config.Data = map[string]string{} } - if config.Data[k] == v { - return - } - config.Data[k] = v _, err = c.CoreV1().ConfigMaps("ingress-nginx").Update(config) Expect(err).NotTo(HaveOccurred()) + time.Sleep(1 * time.Second) } diff --git a/test/e2e/settings/server_tokens.go b/test/e2e/settings/server_tokens.go index e0b9077f28..41b3c68aae 100644 --- a/test/e2e/settings/server_tokens.go +++ b/test/e2e/settings/server_tokens.go @@ -30,6 +30,7 @@ import ( var _ = framework.IngressNginxDescribe("Server Tokens", func() { f := framework.NewDefaultFramework("server-tokens") + serverTokens := "server-tokens" BeforeEach(func() { err := f.NewEchoDeployment() @@ -37,12 +38,11 @@ var _ = framework.IngressNginxDescribe("Server Tokens", func() { }) AfterEach(func() { + updateConfigmap(serverTokens, "false", f.KubeClientSet) }) It("should not exists Server header in the response", func() { - serverTokens := "server-tokens" updateConfigmap(serverTokens, "false", f.KubeClientSet) - defer updateConfigmap(serverTokens, "false", f.KubeClientSet) ing, err := f.EnsureIngress(&v1beta1.Ingress{ ObjectMeta: metav1.ObjectMeta{ @@ -84,9 +84,7 @@ var _ = framework.IngressNginxDescribe("Server Tokens", func() { }) It("should exists Server header in the response when is enabled", func() { - serverTokens := "server-tokens" updateConfigmap(serverTokens, "true", f.KubeClientSet) - defer updateConfigmap(serverTokens, "false", f.KubeClientSet) ing, err := f.EnsureIngress(&v1beta1.Ingress{ ObjectMeta: metav1.ObjectMeta{