This is an automated email from the ASF dual-hosted git repository.

zhangjintao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git


The following commit(s) were added to refs/heads/master by this push:
     new a69a55af Revert "feat: sync CRD and ingress resource to APISIX 
mechanism. (#1022)" (#1099)
a69a55af is described below

commit a69a55aff459ff6aa842c4ab7914b022883a8d46
Author: Jintao Zhang <[email protected]>
AuthorDate: Thu Jun 23 09:40:32 2022 +0800

    Revert "feat: sync CRD and ingress resource to APISIX mechanism. (#1022)" 
(#1099)
    
    This reverts commit 6394cdd11e96f205756bb8c19eaa047bdc114774.
---
 cmd/ingress/ingress.go                          |   1 -
 conf/config-default.yaml                        |   2 +-
 pkg/config/config.go                            |  42 +++--
 pkg/config/config_test.go                       |  41 ++---
 pkg/ingress/apisix_cluster_config.go            |  26 ---
 pkg/ingress/apisix_consumer.go                  |  26 ---
 pkg/ingress/apisix_pluginconfig.go              |  22 ---
 pkg/ingress/apisix_route.go                     |  22 ---
 pkg/ingress/apisix_tls.go                       |  26 ---
 pkg/ingress/apisix_upstream.go                  |  18 --
 pkg/ingress/controller.go                       |  60 +------
 pkg/ingress/ingress.go                          |  22 ---
 samples/deploy/configmap/apisix-ingress-cm.yaml |   2 +-
 test/e2e/scaffold/ingress.go                    |  11 +-
 test/e2e/scaffold/k8s.go                        |  22 +--
 test/e2e/scaffold/scaffold.go                   |   4 -
 test/e2e/suite-ingress/resourcesync.go          | 227 ------------------------
 17 files changed, 46 insertions(+), 528 deletions(-)

diff --git a/cmd/ingress/ingress.go b/cmd/ingress/ingress.go
index 33005e32..324ff7b1 100644
--- a/cmd/ingress/ingress.go
+++ b/cmd/ingress/ingress.go
@@ -171,7 +171,6 @@ For example, no available LB exists in the bare metal 
environment.`)
        cmd.PersistentFlags().StringVar(&cfg.APISIX.DefaultClusterBaseURL, 
"default-apisix-cluster-base-url", "", "the base URL of admin api / manager api 
for the default APISIX cluster")
        cmd.PersistentFlags().StringVar(&cfg.APISIX.DefaultClusterAdminKey, 
"default-apisix-cluster-admin-key", "", "admin key used for the authorization 
of admin api / manager api for the default APISIX cluster")
        cmd.PersistentFlags().StringVar(&cfg.APISIX.DefaultClusterName, 
"default-apisix-cluster-name", "default", "name of the default apisix cluster")
-       
cmd.PersistentFlags().DurationVar(&cfg.ApisixResourceSyncInterval.Duration, 
"apisix-resource-sync-interval", 300*time.Second, "interval between syncs in 
seconds. Default value is 300s.")
 
        if err := cmd.PersistentFlags().MarkDeprecated("app-namespace", "use 
namespace-selector instead"); err != nil {
                dief("failed to mark `app-namespace` as deprecated: %s", err)
diff --git a/conf/config-default.yaml b/conf/config-default.yaml
index 55327366..5e05390a 100644
--- a/conf/config-default.yaml
+++ b/conf/config-default.yaml
@@ -44,7 +44,7 @@ ingress_status_address: []   # when there is no available 
information on the Ser
                              # For example, no available LB exists in the bare 
metal environment.
 enable_profiling: true # enable profiling via web interfaces
                        # host:port/debug/pprof, default is true.
-apisix-resource-sync-interval: "300s" # Default interval for synchronizing 
Kubernetes resources to APISIX
+
 # Kubernetes related configurations.
 kubernetes:
   kubeconfig: ""                       # the Kubernetes configuration file 
path, default is
diff --git a/pkg/config/config.go b/pkg/config/config.go
index d5f6f350..af6d3665 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -72,18 +72,17 @@ const (
 // Config contains all config items which are necessary for
 // apisix-ingress-controller's running.
 type Config struct {
-       CertFilePath               string             `json:"cert_file" 
yaml:"cert_file"`
-       KeyFilePath                string             `json:"key_file" 
yaml:"key_file"`
-       LogLevel                   string             `json:"log_level" 
yaml:"log_level"`
-       LogOutput                  string             `json:"log_output" 
yaml:"log_output"`
-       HTTPListen                 string             `json:"http_listen" 
yaml:"http_listen"`
-       HTTPSListen                string             `json:"https_listen" 
yaml:"https_listen"`
-       IngressPublishService      string             
`json:"ingress_publish_service" yaml:"ingress_publish_service"`
-       IngressStatusAddress       []string           
`json:"ingress_status_address" yaml:"ingress_status_address"`
-       EnableProfiling            bool               `json:"enable_profiling" 
yaml:"enable_profiling"`
-       Kubernetes                 KubernetesConfig   `json:"kubernetes" 
yaml:"kubernetes"`
-       APISIX                     APISIXConfig       `json:"apisix" 
yaml:"apisix"`
-       ApisixResourceSyncInterval types.TimeDuration 
`json:"apisix-resource-sync-interval" yaml:"apisix-resource-sync-interval"`
+       CertFilePath          string           `json:"cert_file" 
yaml:"cert_file"`
+       KeyFilePath           string           `json:"key_file" yaml:"key_file"`
+       LogLevel              string           `json:"log_level" 
yaml:"log_level"`
+       LogOutput             string           `json:"log_output" 
yaml:"log_output"`
+       HTTPListen            string           `json:"http_listen" 
yaml:"http_listen"`
+       HTTPSListen           string           `json:"https_listen" 
yaml:"https_listen"`
+       IngressPublishService string           `json:"ingress_publish_service" 
yaml:"ingress_publish_service"`
+       IngressStatusAddress  []string         `json:"ingress_status_address" 
yaml:"ingress_status_address"`
+       EnableProfiling       bool             `json:"enable_profiling" 
yaml:"enable_profiling"`
+       Kubernetes            KubernetesConfig `json:"kubernetes" 
yaml:"kubernetes"`
+       APISIX                APISIXConfig     `json:"apisix" yaml:"apisix"`
 }
 
 // KubernetesConfig contains all Kubernetes related config items.
@@ -119,16 +118,15 @@ type APISIXConfig struct {
 // default value.
 func NewDefaultConfig() *Config {
        return &Config{
-               LogLevel:                   "warn",
-               LogOutput:                  "stderr",
-               HTTPListen:                 ":8080",
-               HTTPSListen:                ":8443",
-               IngressPublishService:      "",
-               IngressStatusAddress:       []string{},
-               CertFilePath:               "/etc/webhook/certs/cert.pem",
-               KeyFilePath:                "/etc/webhook/certs/key.pem",
-               EnableProfiling:            true,
-               ApisixResourceSyncInterval: types.TimeDuration{Duration: 300 * 
time.Second},
+               LogLevel:              "warn",
+               LogOutput:             "stderr",
+               HTTPListen:            ":8080",
+               HTTPSListen:           ":8443",
+               IngressPublishService: "",
+               IngressStatusAddress:  []string{},
+               CertFilePath:          "/etc/webhook/certs/cert.pem",
+               KeyFilePath:           "/etc/webhook/certs/key.pem",
+               EnableProfiling:       true,
                Kubernetes: KubernetesConfig{
                        Kubeconfig:                 "", // Use in-cluster 
configurations.
                        ResyncInterval:             
types.TimeDuration{Duration: 6 * time.Hour},
diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go
index cdca004a..aa0a3077 100644
--- a/pkg/config/config_test.go
+++ b/pkg/config/config_test.go
@@ -28,16 +28,15 @@ import (
 
 func TestNewConfigFromFile(t *testing.T) {
        cfg := &Config{
-               LogLevel:                   "warn",
-               LogOutput:                  "stdout",
-               HTTPListen:                 ":9090",
-               HTTPSListen:                ":9443",
-               IngressPublishService:      "",
-               IngressStatusAddress:       []string{},
-               CertFilePath:               "/etc/webhook/certs/cert.pem",
-               KeyFilePath:                "/etc/webhook/certs/key.pem",
-               EnableProfiling:            true,
-               ApisixResourceSyncInterval: types.TimeDuration{Duration: 200 * 
time.Second},
+               LogLevel:              "warn",
+               LogOutput:             "stdout",
+               HTTPListen:            ":9090",
+               HTTPSListen:           ":9443",
+               IngressPublishService: "",
+               IngressStatusAddress:  []string{},
+               CertFilePath:          "/etc/webhook/certs/cert.pem",
+               KeyFilePath:           "/etc/webhook/certs/key.pem",
+               EnableProfiling:       true,
                Kubernetes: KubernetesConfig{
                        ResyncInterval:             
types.TimeDuration{Duration: time.Hour},
                        Kubeconfig:                 "/path/to/foo/baz",
@@ -87,7 +86,6 @@ https_listen: :9443
 ingress_publish_service: ""
 ingress_status_address: []
 enable_profiling: true
-apisix-resource-sync-interval: 200s
 kubernetes:
   kubeconfig: /path/to/foo/baz
   resync_interval: 1h0m0s
@@ -115,16 +113,15 @@ apisix:
 
 func TestConfigWithEnvVar(t *testing.T) {
        cfg := &Config{
-               LogLevel:                   "warn",
-               LogOutput:                  "stdout",
-               HTTPListen:                 ":9090",
-               HTTPSListen:                ":9443",
-               IngressPublishService:      "",
-               IngressStatusAddress:       []string{},
-               CertFilePath:               "/etc/webhook/certs/cert.pem",
-               KeyFilePath:                "/etc/webhook/certs/key.pem",
-               EnableProfiling:            true,
-               ApisixResourceSyncInterval: types.TimeDuration{Duration: 200 * 
time.Second},
+               LogLevel:              "warn",
+               LogOutput:             "stdout",
+               HTTPListen:            ":9090",
+               HTTPSListen:           ":9443",
+               IngressPublishService: "",
+               IngressStatusAddress:  []string{},
+               CertFilePath:          "/etc/webhook/certs/cert.pem",
+               KeyFilePath:           "/etc/webhook/certs/key.pem",
+               EnableProfiling:       true,
                Kubernetes: KubernetesConfig{
                        ResyncInterval:             
types.TimeDuration{Duration: time.Hour},
                        Kubeconfig:                 "",
@@ -163,7 +160,6 @@ func TestConfigWithEnvVar(t *testing.T) {
        "ingress_publish_service": "",
        "ingress_status_address": [],
     "enable_profiling": true,
-       "apisix-resource-sync-interval": "200s",
     "kubernetes": {
         "kubeconfig": "{{.KUBECONFIG}}",
         "resync_interval": "1h0m0s",
@@ -199,7 +195,6 @@ https_listen: :9443
 ingress_publish_service: ""
 ingress_status_address: []
 enable_profiling: true
-apisix-resource-sync-interval: 200s
 kubernetes:
   resync_interval: 1h0m0s
   kubeconfig: "{{.KUBECONFIG}}"
diff --git a/pkg/ingress/apisix_cluster_config.go 
b/pkg/ingress/apisix_cluster_config.go
index fa346381..ecc33d0e 100644
--- a/pkg/ingress/apisix_cluster_config.go
+++ b/pkg/ingress/apisix_cluster_config.go
@@ -403,29 +403,3 @@ func (c *apisixClusterConfigController) onDelete(obj 
interface{}) {
 
        c.controller.MetricsCollector.IncrEvents("clusterConfig", "delete")
 }
-
-func (c *apisixClusterConfigController) ResourceSync() {
-       objs := c.controller.apisixClusterConfigInformer.GetIndexer().List()
-       for _, obj := range objs {
-               key, err := cache.MetaNamespaceKeyFunc(obj)
-               if err != nil {
-                       log.Errorw("ApisixClusterConfig sync failed, found 
ApisixClusterConfig resource with bad meta namespace key", zap.String("error", 
err.Error()))
-                       continue
-               }
-               if !c.controller.isWatchingNamespace(key) {
-                       continue
-               }
-               acc, err := kube.NewApisixClusterConfig(obj)
-               if err != nil {
-                       log.Errorw("found ApisixClusterConfig resource with bad 
type", zap.String("error", err.Error()))
-                       return
-               }
-               c.workqueue.Add(&types.Event{
-                       Type: types.EventAdd,
-                       Object: kube.ApisixClusterConfigEvent{
-                               Key:          key,
-                               GroupVersion: acc.GroupVersion(),
-                       },
-               })
-       }
-}
diff --git a/pkg/ingress/apisix_consumer.go b/pkg/ingress/apisix_consumer.go
index 581239dd..8a456a70 100644
--- a/pkg/ingress/apisix_consumer.go
+++ b/pkg/ingress/apisix_consumer.go
@@ -318,29 +318,3 @@ func (c *apisixConsumerController) onDelete(obj 
interface{}) {
 
        c.controller.MetricsCollector.IncrEvents("consumer", "delete")
 }
-
-func (c *apisixConsumerController) ResourceSync() {
-       objs := c.controller.apisixConsumerInformer.GetIndexer().List()
-       for _, obj := range objs {
-               key, err := cache.MetaNamespaceKeyFunc(obj)
-               if err != nil {
-                       log.Errorw("ApisixConsumer sync failed, found 
ApisixConsumer resource with bad meta namespace key", zap.String("error", 
err.Error()))
-                       continue
-               }
-               if !c.controller.isWatchingNamespace(key) {
-                       continue
-               }
-               ac, err := kube.NewApisixConsumer(obj)
-               if err != nil {
-                       log.Errorw("found ApisixConsumer resource with bad 
type", zap.String("error", err.Error()))
-                       return
-               }
-               c.workqueue.Add(&types.Event{
-                       Type: types.EventAdd,
-                       Object: kube.ApisixConsumerEvent{
-                               Key:          key,
-                               GroupVersion: ac.GroupVersion(),
-                       },
-               })
-       }
-}
diff --git a/pkg/ingress/apisix_pluginconfig.go 
b/pkg/ingress/apisix_pluginconfig.go
index fa7e64a7..3faf885b 100644
--- a/pkg/ingress/apisix_pluginconfig.go
+++ b/pkg/ingress/apisix_pluginconfig.go
@@ -367,25 +367,3 @@ func (c *apisixPluginConfigController) onDelete(obj 
interface{}) {
 
        c.controller.MetricsCollector.IncrEvents("PluginConfig", "delete")
 }
-
-func (c *apisixPluginConfigController) ResourceSync() {
-       objs := c.controller.apisixPluginConfigInformer.GetIndexer().List()
-       for _, obj := range objs {
-               key, err := cache.MetaNamespaceKeyFunc(obj)
-               if err != nil {
-                       log.Errorw("ApisixPluginConfig sync failed, found 
ApisixPluginConfig resource with bad meta namespace key", zap.String("error", 
err.Error()))
-                       continue
-               }
-               if !c.controller.isWatchingNamespace(key) {
-                       continue
-               }
-               apc := kube.MustNewApisixPluginConfig(obj)
-               c.workqueue.Add(&types.Event{
-                       Type: types.EventAdd,
-                       Object: kube.ApisixPluginConfigEvent{
-                               Key:          key,
-                               GroupVersion: apc.GroupVersion(),
-                       },
-               })
-       }
-}
diff --git a/pkg/ingress/apisix_route.go b/pkg/ingress/apisix_route.go
index a2f95374..c2ecee33 100644
--- a/pkg/ingress/apisix_route.go
+++ b/pkg/ingress/apisix_route.go
@@ -449,25 +449,3 @@ func (c *apisixRouteController) onDelete(obj interface{}) {
 
        c.controller.MetricsCollector.IncrEvents("route", "delete")
 }
-
-func (c *apisixRouteController) ResourceSync() {
-       objs := c.controller.apisixRouteInformer.GetIndexer().List()
-       for _, obj := range objs {
-               key, err := cache.MetaNamespaceKeyFunc(obj)
-               if err != nil {
-                       log.Errorw("ApisixRoute sync failed, found ApisixRoute 
resource with bad meta namespace key", zap.String("error", err.Error()))
-                       continue
-               }
-               if !c.controller.isWatchingNamespace(key) {
-                       continue
-               }
-               ar := kube.MustNewApisixRoute(obj)
-               c.workqueue.Add(&types.Event{
-                       Type: types.EventAdd,
-                       Object: kube.ApisixRouteEvent{
-                               Key:          key,
-                               GroupVersion: ar.GroupVersion(),
-                       },
-               })
-       }
-}
diff --git a/pkg/ingress/apisix_tls.go b/pkg/ingress/apisix_tls.go
index be484edc..66bc8442 100644
--- a/pkg/ingress/apisix_tls.go
+++ b/pkg/ingress/apisix_tls.go
@@ -359,29 +359,3 @@ func (c *apisixTlsController) onDelete(obj interface{}) {
 
        c.controller.MetricsCollector.IncrEvents("TLS", "delete")
 }
-
-func (c *apisixTlsController) ResourceSync() {
-       objs := c.controller.apisixTlsInformer.GetIndexer().List()
-       for _, obj := range objs {
-               key, err := cache.MetaNamespaceKeyFunc(obj)
-               if err != nil {
-                       log.Errorw("ApisixTls sync failed, found ApisixTls 
object with bad namespace/name ignore it", zap.String("error", err.Error()))
-                       continue
-               }
-               if !c.controller.isWatchingNamespace(key) {
-                       continue
-               }
-               tls, err := kube.NewApisixTls(obj)
-               if err != nil {
-                       log.Errorw("ApisixTls sync failed, found ApisixTls 
resource with bad type", zap.Error(err))
-                       continue
-               }
-               c.workqueue.Add(&types.Event{
-                       Type: types.EventAdd,
-                       Object: kube.ApisixTlsEvent{
-                               Key:          key,
-                               GroupVersion: tls.GroupVersion(),
-                       },
-               })
-       }
-}
diff --git a/pkg/ingress/apisix_upstream.go b/pkg/ingress/apisix_upstream.go
index a82f5df8..ca882970 100644
--- a/pkg/ingress/apisix_upstream.go
+++ b/pkg/ingress/apisix_upstream.go
@@ -301,21 +301,3 @@ func (c *apisixUpstreamController) onDelete(obj 
interface{}) {
 
        c.controller.MetricsCollector.IncrEvents("upstream", "delete")
 }
-
-func (c *apisixUpstreamController) ResourceSync() {
-       clusterConfigs := 
c.controller.apisixUpstreamInformer.GetIndexer().List()
-       for _, clusterConfig := range clusterConfigs {
-               key, err := cache.MetaNamespaceKeyFunc(clusterConfig)
-               if err != nil {
-                       log.Errorw("ApisixUpstream sync failed, found 
ApisixUpstream resource with bad meta namespace key", zap.String("error", 
err.Error()))
-                       continue
-               }
-               if !c.controller.isWatchingNamespace(key) {
-                       continue
-               }
-               c.workqueue.Add(&types.Event{
-                       Type:   types.EventAdd,
-                       Object: key,
-               })
-       }
-}
diff --git a/pkg/ingress/controller.go b/pkg/ingress/controller.go
index f6451a8e..80c36e34 100644
--- a/pkg/ingress/controller.go
+++ b/pkg/ingress/controller.go
@@ -64,8 +64,6 @@ const (
        _resourceSyncAborted = "ResourceSyncAborted"
        // _messageResourceFailed is used to report error
        _messageResourceFailed = "%s synced failed, with error: %s"
-       // minimum interval for ingress sync to APISIX
-       _mininumApisixResourceSyncInterval = 60 * time.Second
 )
 
 // Controller is the ingress apisix controller object.
@@ -401,6 +399,7 @@ func (c *Controller) Run(stop chan struct{}) error {
                ReleaseOnCancel: true,
                Name:            "ingress-apisix",
        }
+
        elector, err := leaderelection.NewLeaderElector(cfg)
        if err != nil {
                log.Errorf("failed to create leader elector: %s", err.Error())
@@ -570,9 +569,6 @@ func (c *Controller) run(ctx context.Context) {
                c.apisixPluginConfigController.run(ctx)
        })
 
-       c.goAttach(func() {
-               c.resourceSyncLoop(ctx, 
c.cfg.ApisixResourceSyncInterval.Duration)
-       })
        c.MetricsCollector.ResetLeader(true)
 
        log.Infow("controller now is running as leader",
@@ -731,57 +727,3 @@ func (c *Controller) checkClusterHealth(ctx 
context.Context, cancelFunc context.
                c.MetricsCollector.IncrCheckClusterHealth(c.name)
        }
 }
-
-func (c *Controller) syncAllResources() {
-       wg := sync.WaitGroup{}
-       goAttach := func(handler func()) {
-               wg.Add(1)
-               go func() {
-                       defer wg.Done()
-                       handler()
-               }()
-       }
-       goAttach(func() {
-               c.apisixConsumerController.ResourceSync()
-       })
-       goAttach(func() {
-               c.apisixRouteController.ResourceSync()
-       })
-       goAttach(func() {
-               c.apisixClusterConfigController.ResourceSync()
-       })
-       goAttach(func() {
-               c.apisixPluginConfigController.ResourceSync()
-       })
-       goAttach(func() {
-               c.apisixUpstreamController.ResourceSync()
-       })
-       goAttach(func() {
-               c.apisixTlsController.ResourceSync()
-       })
-       goAttach(func() {
-               c.ingressController.ResourceSync()
-       })
-       wg.Wait()
-}
-
-func (c *Controller) resourceSyncLoop(ctx context.Context, interval 
time.Duration) {
-       // The interval shall not be less than 60 seconds.
-       if interval < _mininumApisixResourceSyncInterval {
-               log.Warnw("The apisix-resource-sync-interval shall not be less 
than 60 seconds.",
-                       zap.String("apisix-resource-sync-interval", 
interval.String()),
-               )
-               interval = _mininumApisixResourceSyncInterval
-       }
-       ticker := time.NewTicker(interval)
-       defer ticker.Stop()
-       for {
-               select {
-               case <-ticker.C:
-                       c.syncAllResources()
-                       continue
-               case <-ctx.Done():
-                       return
-               }
-       }
-}
diff --git a/pkg/ingress/ingress.go b/pkg/ingress/ingress.go
index 30053f04..8e5c0d1e 100644
--- a/pkg/ingress/ingress.go
+++ b/pkg/ingress/ingress.go
@@ -403,25 +403,3 @@ func (c *ingressController) isIngressEffective(ing 
kube.Ingress) bool {
        }
        return false
 }
-
-func (c *ingressController) ResourceSync() {
-       objs := c.controller.ingressInformer.GetIndexer().List()
-       for _, obj := range objs {
-               key, err := cache.MetaNamespaceKeyFunc(obj)
-               if err != nil {
-                       log.Errorw("found ApisixConsumer resource with bad meta 
namespace key", zap.String("error", err.Error()))
-                       continue
-               }
-               if !c.controller.isWatchingNamespace(key) {
-                       continue
-               }
-               ing := kube.MustNewIngress(obj)
-               c.workqueue.Add(&types.Event{
-                       Type: types.EventAdd,
-                       Object: kube.IngressEvent{
-                               Key:          key,
-                               GroupVersion: ing.GroupVersion(),
-                       },
-               })
-       }
-}
diff --git a/samples/deploy/configmap/apisix-ingress-cm.yaml 
b/samples/deploy/configmap/apisix-ingress-cm.yaml
index edcc32b0..5c98ff8f 100644
--- a/samples/deploy/configmap/apisix-ingress-cm.yaml
+++ b/samples/deploy/configmap/apisix-ingress-cm.yaml
@@ -35,7 +35,7 @@ data:
    http_listen: ":8080"   # the HTTP Server listen address, default is ":8080"
    enable_profiling: true # enable profiling via web interfaces
                           # host:port/debug/pprof, default is true.
-   apisix-resource-sync-interval: 300s # Default interval for synchronizing 
Kubernetes resources to APISIX
+
    # Kubernetes related configurations.
    kubernetes:
      kubeconfig: ""         # the Kubernetes configuration file path, default 
is
diff --git a/test/e2e/scaffold/ingress.go b/test/e2e/scaffold/ingress.go
index 13cd350b..cef850df 100644
--- a/test/e2e/scaffold/ingress.go
+++ b/test/e2e/scaffold/ingress.go
@@ -277,8 +277,6 @@ spec:
             - debug
             - --log-output
             - stdout
-            - --apisix-resource-sync-interval
-            - %s
             - --http-listen
             - :8080
             - --https-listen
@@ -419,10 +417,10 @@ func (s *Scaffold) newIngressAPISIXController() error {
        var ingressAPISIXDeployment string
        label := fmt.Sprintf("apisix.ingress.watch=%s", s.namespace)
        if s.opts.EnableWebhooks {
-               ingressAPISIXDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), 
s.opts.IngressAPISIXReplicas, s.namespace, s.opts.ApisixResourceSyncInterval,
+               ingressAPISIXDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), 
s.opts.IngressAPISIXReplicas, s.namespace,
                        s.FormatNamespaceLabel(label), 
s.opts.APISIXRouteVersion, s.opts.APISIXPublishAddress, 
s.opts.EnableGatewayAPI, _volumeMounts, _webhookCertSecret)
        } else {
-               ingressAPISIXDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), 
s.opts.IngressAPISIXReplicas, s.namespace, s.opts.ApisixResourceSyncInterval,
+               ingressAPISIXDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), 
s.opts.IngressAPISIXReplicas, s.namespace,
                        s.FormatNamespaceLabel(label), 
s.opts.APISIXRouteVersion, s.opts.APISIXPublishAddress, 
s.opts.EnableGatewayAPI, "", _webhookCertSecret)
        }
 
@@ -529,10 +527,9 @@ func (s *Scaffold) ScaleIngressController(desired int) 
error {
        var ingressDeployment string
        label := fmt.Sprintf("apisix.ingress.watch=%s", s.namespace)
        if s.opts.EnableWebhooks {
-
-               ingressDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), desired, 
s.namespace, s.opts.ApisixResourceSyncInterval, label, 
s.opts.APISIXRouteVersion, s.opts.APISIXPublishAddress, 
s.opts.EnableGatewayAPI, _volumeMounts, _webhookCertSecret)
+               ingressDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), desired, 
s.namespace, label, s.opts.APISIXRouteVersion, s.opts.APISIXPublishAddress, 
s.opts.EnableGatewayAPI, _volumeMounts, _webhookCertSecret)
        } else {
-               ingressDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), desired, 
s.namespace, s.opts.ApisixResourceSyncInterval, label, 
s.opts.APISIXRouteVersion, s.opts.APISIXPublishAddress, 
s.opts.EnableGatewayAPI, "", _webhookCertSecret)
+               ingressDeployment = 
fmt.Sprintf(s.FormatRegistry(_ingressAPISIXDeploymentTemplate), desired, 
s.namespace, label, s.opts.APISIXRouteVersion, s.opts.APISIXPublishAddress, 
s.opts.EnableGatewayAPI, "", _webhookCertSecret)
        }
        if err := k8s.KubectlApplyFromStringE(s.t, s.kubectlOptions, 
ingressDeployment); err != nil {
                return err
diff --git a/test/e2e/scaffold/k8s.go b/test/e2e/scaffold/k8s.go
index e9c6cbb1..b788c92f 100644
--- a/test/e2e/scaffold/k8s.go
+++ b/test/e2e/scaffold/k8s.go
@@ -252,7 +252,7 @@ func (s *Scaffold) 
EnsureNumApisixPluginConfigCreated(desired int) error {
        return s.ensureNumApisixCRDsCreated(u.String(), desired)
 }
 
-// CreateApisixRouteByApisixAdmin create or update a route
+// CreateApisixRouteByApisixAdmin create a route
 func (s *Scaffold) CreateApisixRouteByApisixAdmin(routeID string, body []byte) 
error {
        u := url.URL{
                Scheme: "http",
@@ -262,16 +262,6 @@ func (s *Scaffold) CreateApisixRouteByApisixAdmin(routeID 
string, body []byte) e
        return s.ensureAdminOperationIsSuccessful(u.String(), "PUT", body)
 }
 
-// CreateApisixRouteByApisixAdmin create or update a consumer
-func (s *Scaffold) CreateApisixConsumerByApisixAdmin(body []byte) error {
-       u := url.URL{
-               Scheme: "http",
-               Host:   s.apisixAdminTunnel.Endpoint(),
-               Path:   "/apisix/admin/consumers",
-       }
-       return s.ensureAdminOperationIsSuccessful(u.String(), "PUT", body)
-}
-
 // DeleteApisixRouteByApisixAdmin deletes a route by its route name in APISIX 
cluster.
 func (s *Scaffold) DeleteApisixRouteByApisixAdmin(routeID string) error {
        u := url.URL{
@@ -282,16 +272,6 @@ func (s *Scaffold) DeleteApisixRouteByApisixAdmin(routeID 
string) error {
        return s.ensureAdminOperationIsSuccessful(u.String(), "DELETE", nil)
 }
 
-// DeleteApisixConsumerByApisixAdmin deletes a consumer by its consumer name 
in APISIX cluster.
-func (s *Scaffold) DeleteApisixConsumerByApisixAdmin(consumerName string) 
error {
-       u := url.URL{
-               Scheme: "http",
-               Host:   s.apisixAdminTunnel.Endpoint(),
-               Path:   "/apisix/admin/consumers/" + consumerName,
-       }
-       return s.ensureAdminOperationIsSuccessful(u.String(), "DELETE", nil)
-}
-
 func (s *Scaffold) ensureAdminOperationIsSuccessful(url, method string, body 
[]byte) error {
        condFunc := func() (bool, error) {
                req, err := http.NewRequest(method, url, bytes.NewBuffer(body))
diff --git a/test/e2e/scaffold/scaffold.go b/test/e2e/scaffold/scaffold.go
index ee29fcc5..01d4f50c 100644
--- a/test/e2e/scaffold/scaffold.go
+++ b/test/e2e/scaffold/scaffold.go
@@ -61,7 +61,6 @@ type Options struct {
        EnableWebhooks             bool
        APISIXPublishAddress       string
        disableNamespaceSelector   bool
-       ApisixResourceSyncInterval string
        EnableGatewayAPI           bool
 }
 
@@ -128,9 +127,6 @@ func NewScaffold(o *Options) *Scaffold {
        if o.APISIXAdminAPIKey == "" {
                o.APISIXAdminAPIKey = "edd1c9f034335f136f87ad84b625c8f1"
        }
-       if o.ApisixResourceSyncInterval == "" {
-               o.ApisixResourceSyncInterval = "300s"
-       }
        defer ginkgo.GinkgoRecover()
 
        s := &Scaffold{
diff --git a/test/e2e/suite-ingress/resourcesync.go 
b/test/e2e/suite-ingress/resourcesync.go
deleted file mode 100644
index 559c36fe..00000000
--- a/test/e2e/suite-ingress/resourcesync.go
+++ /dev/null
@@ -1,227 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License.  You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-package ingress
-
-import (
-       "encoding/json"
-       "fmt"
-       "net/http"
-       "time"
-
-       ginkgo "github.com/onsi/ginkgo/v2"
-       "github.com/stretchr/testify/assert"
-
-       "github.com/apache/apisix-ingress-controller/pkg/id"
-       "github.com/apache/apisix-ingress-controller/test/e2e/scaffold"
-)
-
-var _ = ginkgo.Describe("suite-ingress: apisix resource sync", func() {
-       opts := &scaffold.Options{
-               Name:                       "default",
-               Kubeconfig:                 scaffold.GetKubeconfig(),
-               APISIXConfigPath:           "testdata/apisix-gw-config.yaml",
-               IngressAPISIXReplicas:      1,
-               HTTPBinServicePort:         80,
-               APISIXRouteVersion:         "apisix.apache.org/v2beta3",
-               ApisixResourceSyncInterval: "60s",
-       }
-       s := scaffold.NewScaffold(opts)
-       ginkgo.JustBeforeEach(func() {
-               backendSvc, backendPorts := s.DefaultHTTPBackend()
-               // Create ApisixRoute resource
-               ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
-kind: ApisixRoute
-metadata:
- name: httpbin-route
-spec:
- http:
- - name: rule1
-   match:
-     hosts:
-     - httpbin.org
-     paths:
-       - /ip
-   backends:
-   - serviceName: %s
-     servicePort: %d
-   authentication:
-     enable: true
-     type: keyAuth
-`, backendSvc, backendPorts[0])
-               assert.Nil(ginkgo.GinkgoT(), s.CreateResourceFromString(ar))
-               err := s.EnsureNumApisixUpstreamsCreated(1)
-               assert.Nil(ginkgo.GinkgoT(), err, "Checking number of 
upstreams")
-               err = s.EnsureNumApisixRoutesCreated(1)
-               assert.Nil(ginkgo.GinkgoT(), err, "Checking number of routes")
-
-               // Create Ingress resource
-               ing := fmt.Sprintf(`
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
-  annotations:
-    kubernetes.io/ingress.class: apisix
-  name: ingress-route
-spec:
-  rules:
-  - host: local.httpbin.org
-    http:
-      paths:
-      - path: /headers
-        pathType: Exact
-        backend:
-          service:
-            name: %s
-            port:
-              number: %d
-`, backendSvc, backendPorts[0])
-               assert.Nil(ginkgo.GinkgoT(), s.CreateResourceFromString(ing))
-
-               // Create ApisixConsumer resource
-               err = s.ApisixConsumerKeyAuthCreated("foo", "foo-key")
-               assert.Nil(ginkgo.GinkgoT(), err)
-       })
-
-       ginkgo.It("for modified resource sync consistency", func() {
-               // crd resource sync interval
-               readyTime := time.Now().Add(60 * time.Second)
-
-               routes, _ := s.ListApisixRoutes()
-               assert.Len(ginkgo.GinkgoT(), routes, 2)
-
-               consumers, _ := s.ListApisixConsumers()
-               assert.Len(ginkgo.GinkgoT(), consumers, 1)
-
-               for _, route := range routes {
-                       _ = 
s.CreateApisixRouteByApisixAdmin(id.GenID(route.Name), []byte(`
-{
-       "methods": ["GET"],
-       "uri": "/anything",
-       "plugins": {
-               "key-auth": {}
-       },
-       "upstream": {
-               "type": "roundrobin",
-               "nodes": {
-                       "httpbin.org": 1
-               }
-       }
-}`))
-               }
-
-               for _, consumer := range consumers {
-                       _ = 
s.CreateApisixConsumerByApisixAdmin([]byte(fmt.Sprintf(`
-{
-       "username": "%s",
-       "plugins": {
-               "key-auth": {
-                       "key": "auth-one"
-               }
-       }
-}`, consumer.Username)))
-               }
-
-               _ = s.NewAPISIXClient().
-                       GET("/ip").
-                       WithHeader("Host", "httpbin.org").
-                       Expect().
-                       Status(http.StatusNotFound)
-
-               _ = s.NewAPISIXClient().
-                       GET("/headers").
-                       WithHeader("Host", "local.httpbin.org").
-                       Expect().
-                       Status(http.StatusNotFound)
-
-               waitTime := time.Until(readyTime).Seconds()
-               time.Sleep(time.Duration(waitTime) * time.Second)
-
-               _ = s.NewAPISIXClient().
-                       GET("/ip").
-                       WithHeader("Host", "httpbin.org").
-                       WithHeader("apikey", "foo-key").
-                       Expect().
-                       Status(http.StatusOK)
-
-               _ = s.NewAPISIXClient().
-                       GET("/headers").
-                       WithHeader("Host", "local.httpbin.org").
-                       Expect().
-                       Status(http.StatusOK)
-
-               consumers, _ = s.ListApisixConsumers()
-               assert.Len(ginkgo.GinkgoT(), consumers, 1)
-               data, _ := json.Marshal(consumers[0])
-               assert.Contains(ginkgo.GinkgoT(), string(data), "foo-key")
-       })
-
-       ginkgo.It("for deleted resource sync consistency", func() {
-               // crd resource sync interval
-               readyTime := time.Now().Add(60 * time.Second)
-
-               routes, _ := s.ListApisixRoutes()
-               assert.Len(ginkgo.GinkgoT(), routes, 2)
-
-               consumers, _ := s.ListApisixConsumers()
-               assert.Len(ginkgo.GinkgoT(), consumers, 1)
-
-               for _, route := range routes {
-                       _ = 
s.DeleteApisixRouteByApisixAdmin(id.GenID(route.Name))
-               }
-
-               for _, consumer := range consumers {
-                       s.DeleteApisixConsumerByApisixAdmin(consumer.Username)
-               }
-
-               _ = s.NewAPISIXClient().
-                       GET("/ip").
-                       WithHeader("Host", "httpbin.org").
-                       Expect().
-                       Status(http.StatusNotFound)
-
-               _ = s.NewAPISIXClient().
-                       GET("/headers").
-                       WithHeader("Host", "local.httpbin.org").
-                       Expect().
-                       Status(http.StatusNotFound)
-
-               routes, _ = s.ListApisixRoutes()
-               assert.Len(ginkgo.GinkgoT(), routes, 0)
-               consumers, _ = s.ListApisixConsumers()
-               assert.Len(ginkgo.GinkgoT(), consumers, 0)
-
-               waitTime := time.Until(readyTime).Seconds()
-               time.Sleep(time.Duration(waitTime) * time.Second)
-
-               _ = s.NewAPISIXClient().
-                       GET("/ip").
-                       WithHeader("Host", "httpbin.org").
-                       WithHeader("apikey", "foo-key").
-                       Expect().
-                       Status(http.StatusOK)
-
-               _ = s.NewAPISIXClient().
-                       GET("/headers").
-                       WithHeader("Host", "local.httpbin.org").
-                       Expect().
-                       Status(http.StatusOK)
-
-               consumers, _ = s.ListApisixConsumers()
-               assert.Len(ginkgo.GinkgoT(), consumers, 1)
-               data, _ := json.Marshal(consumers[0])
-               assert.Contains(ginkgo.GinkgoT(), string(data), "foo-key")
-       })
-})

Reply via email to