func()

in eks/eks.go [678:1068]


func (ts *Tester) createTesters() (err error) {
	fmt.Fprint(ts.logWriter, ts.color("\n\n[yellow]*********************************\n"))
	fmt.Fprintf(ts.logWriter, ts.color("[light_green]createTesters [default](%q)\n"), ts.cfg.ConfigPath)

	ts.clusterTester = cluster.New(cluster.Config{
		Logger:     ts.lg,
		LogWriter:  ts.logWriter,
		Stopc:      ts.stopCreationCh,
		EKSConfig:  ts.cfg,
		S3API:      ts.s3API,
		S3APIV2:    ts.s3APIV2,
		IAMAPIV2:   ts.iamAPIV2,
		KMSAPIV2:   ts.kmsAPIV2,
		CFNAPI:     ts.cfnAPI,
		EC2APIV2:   ts.ec2APIV2,
		EKSAPI:     ts.eksAPIForCluster,
		EKSAPIV2:   ts.eksAPIForClusterV2,
		ELBV2APIV2: ts.elbv2APIV2,
	})

	ts.cniTester = cni_vpc.New(cni_vpc.Config{
		Logger:    ts.lg,
		LogWriter: ts.logWriter,
		Stopc:     ts.stopCreationCh,
		EKSConfig: ts.cfg,
		K8SClient: ts.k8sClient,
		ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnCNIVPCRepositoryRegion())),
	})

	ts.ngTester = ng.New(ng.Config{
		Logger:    ts.lg,
		LogWriter: ts.logWriter,
		Stopc:     ts.stopCreationCh,
		EKSConfig: ts.cfg,
		K8SClient: ts.k8sClient,

		IAMAPIV2: ts.iamAPIV2,
		SSMAPIV2: ts.ssmAPIV2,
		EC2APIV2: ts.ec2APIV2,
		ASGAPIV2: ts.asgAPIV2,
	})
	ts.mngTester = mng.New(mng.Config{
		Logger:    ts.lg,
		LogWriter: ts.logWriter,
		Stopc:     ts.stopCreationCh,
		EKSConfig: ts.cfg,
		K8SClient: ts.k8sClient,

		IAMAPIV2: ts.iamAPIV2,
		EC2APIV2: ts.ec2APIV2,
		ASGAPIV2: ts.asgAPIV2,
		EKSAPI:   ts.eksAPIForMNG,
		EKSAPIV2: ts.eksAPIForMNGV2,

		CFNAPI: ts.cfnAPI,
	})
	ts.gpuTester = gpu.New(gpu.Config{
		Logger:    ts.lg,
		LogWriter: ts.logWriter,
		Stopc:     ts.stopCreationCh,
		EKSConfig: ts.cfg,
		K8SClient: ts.k8sClient,
	})

	// Groups of installable addons. Addons are installed in groups, where each group installs all components in parallel
	ts.addons = [][]eks_tester.Addon{{
		&clusterautoscaler.ClusterAutoscaler{
			Config:    ts.cfg,
			K8sClient: ts.k8sClient,
		},
		&overprovisioning.Overprovisioning{
			Config:    ts.cfg,
			K8sClient: ts.k8sClient,
		},
		&metrics_server.MetricsServer{
			Config:    ts.cfg,
			K8sClient: ts.k8sClient,
		},
		&clusterloader2.ClusterLoader{
			Config:    ts.cfg,
			K8sClient: ts.k8sClient,
		},
	}}

	ts.testers = []eks_tester.Tester{
		cw_agent.New(cw_agent.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
		fluentd.New(fluentd.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnFluentdRepositoryBusyboxRegion())),
		}),
		metrics_server.New(metrics_server.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
		conformance.New(conformance.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
		}),
		app_mesh.New(app_mesh.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CFNAPI:    ts.cfnAPI,
		}),
		csi_ebs.New(csi_ebs.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
		kubernetes_dashboard.New(kubernetes_dashboard.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
		prometheus_grafana.New(prometheus_grafana.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ELB2API:   ts.elbv2API,
		}),
		php_apache.New(php_apache.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnPHPApacheRepositoryRegion())),
		}),
		nlb_hello_world.New(nlb_hello_world.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ELB2API:   ts.elbv2API,
		}),
		nlb_guestbook.New(nlb_guestbook.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ELB2API:   ts.elbv2API,
		}),
		alb_2048.New(alb_2048.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			CFNAPI:    ts.cfnAPI,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ELB2API:   ts.elbv2API,
		}),
		jobs_pi.New(jobs_pi.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
		jobs_echo.New(jobs_echo.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnJobsEchoRepositoryBusyboxRegion())),
		}),
		cron_jobs.New(cron_jobs.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnCronJobsRepositoryBusyboxRegion())),
		}),
		csrs_local.New(csrs_local.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
		}),
		csrs_remote.New(csrs_remote.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnCSRsRemoteRepositoryRegion())),
		}),
		config_maps_local.New(config_maps_local.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
		}),
		config_maps_remote.New(config_maps_remote.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
			ECRAPI:    ts.ecrAPISameRegion,
		}),
		secrets_local.New(secrets_local.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
		}),
		secrets_remote.New(secrets_remote.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnSecretsRemoteRepositoryRegion())),
		}),
		fargate.New(fargate.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			IAMAPI:    ts.iamAPI,
			CFNAPI:    ts.cfnAPI,
			EKSAPI:    ts.eksAPIForCluster,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnFargateRepositoryRegion())),
		}),
		irsa.New(irsa.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CFNAPI:    ts.cfnAPI,
			IAMAPI:    ts.iamAPI,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnIRSARepositoryRegion())),
		}),
		irsa_fargate.New(irsa_fargate.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			IAMAPI:    ts.iamAPI,
			CFNAPI:    ts.cfnAPI,
			EKSAPI:    ts.eksAPIForCluster,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnIRSAFargateRepositoryRegion())),
		}),
		wordpress.New(wordpress.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ELB2API:   ts.elbv2API,
		}),
		jupyter_hub.New(jupyter_hub.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ELB2API:   ts.elbv2API,
		}),
		kubeflow.New(kubeflow.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
		cuda_vector_add.New(cuda_vector_add.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
		cluster_loader_local.New(cluster_loader_local.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
		}),
		cluster_loader_remote.New(cluster_loader_remote.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnClusterLoaderRemoteRepositoryRegion())),
		}),
		stresser_local.New(stresser_local.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
		}),
		stresser_remote.New(stresser_remote.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			S3API:     ts.s3API,
			CWAPI:     ts.cwAPI,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnStresserRemoteRepositoryRegion())),
		}),
		stresser_remote_v2.New(stresser_remote_v2.Config{
			Logger:    ts.lg,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			ECRAPI:    ecr.New(ts.awsSession, aws.NewConfig().WithRegion(ts.cfg.GetAddOnStresserRemoteV2RepositoryRegion())),
		}),
		cluster_version_upgrade.New(cluster_version_upgrade.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
			EKSAPI:    ts.eksAPIForCluster,
		}),
		ami_soft_lockup_issue_454.New(ami_soft_lockup_issue_454.Config{
			Logger:    ts.lg,
			LogWriter: ts.logWriter,
			Stopc:     ts.stopCreationCh,
			EKSConfig: ts.cfg,
			K8SClient: ts.k8sClient,
		}),
	}
	if serr := ts.cfg.Sync(); serr != nil {
		fmt.Fprintf(ts.logWriter, ts.color("[light_magenta]cfg.Sync failed [default]%v\n"), serr)
	}

	return nil
}