v1.2.9 (2020-06-01)
See code changes.
- Add
eksconfig.Config.LogColor
.- Configured via
AWS_K8S_TESTER_EC2_LOG_COLOR
.
- Configured via
- Support color print.
- Add
eksconfig.Config.LogColor
.- Configured via
AWS_K8S_TESTER_EKS_LOG_COLOR
.
- Configured via
- Fail the whole tester if one add-on deployment is not ready within some time period.
- Define
eks/tester.Tester
interface. - Support color print.
v1.2.8 (2020-05-31)
See code changes.
- Rename
RequestsSummaryWrites
toRequestsSummaryWrites*
. - Rename
RequestsSummaryReads
toRequestsSummaryReads*
. - Add JSON output fields to save latency data points on disk.
- Fix remote latency collect with JSON files.
- Reorder to run
eks/cluster-loader
aftereks/hollow-nodes
.
v1.2.7 (2020-05-29)
See code changes.
- Add
eksconfig.AddOnClusterLoaderLocal
andAddOnClusterLoaderRemote
.- Automates https://github.com/kubernetes/perf-tests/tree/master/clusterloader2.
- Enable with
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_ENABLE=true
. - Enable with
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_ENABLE=true
.
- Add
eksconfig.AddOnNodeGroups.LogsTarGzPath
field. - Add
eksconfig.AddOnManagedNodeGroups.LogsTarGzPath
field.
- Improve
eks/ng,mng
FetchLogs
. - Add
eks/cluster-loader
. - Measure
eks/config-maps
LantencyP50
,LantencyP99
,LantencyP99.9
, andLantencyP99.99
inmetrics.RequestsSummary
. - Measure
eks/csrs
LantencyP50
,LantencyP99
,LantencyP99.9
, andLantencyP99.99
inmetrics.RequestsSummary
. - Measure
eks/secrets
LantencyP50
,LantencyP99
,LantencyP99.9
, andLantencyP99.99
inmetrics.RequestsSummary
. - Measure
eks/stresser
LantencyP50
,LantencyP99
,LantencyP99.9
, andLantencyP99.99
inmetrics.RequestsSummary
.
# example outputs
{"level":"info","ts":"2020-05-29T22:19:17.467Z","caller":"cluster-loader/cluster-loader.go:170","msg":"checking cluster loader command output from logs file"}
{"level":"info","ts":"2020-05-29T22:19:17.467Z","caller":"cluster-loader/cluster-loader.go:180","msg":"checked cluster loader command output from logs file","total-lines":121}
"/var/log/cluster-loader-remote.log" output:
I0529 22:19:08.959943 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-2): Pods: 6 out of 6 created, 6 running (6 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 0 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:08.966399 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-0): Pods: 4 out of 4 created, 4 running (4 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 1 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:09.278369 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-1): Pods: 2 out of 2 created, 2 running (2 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 2 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:09.662882 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-6): Pods: 7 out of 7 created, 7 running (7 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 0 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:09.789102 27 wait_for_controlled_pods.go:246] WaitForControlledPodsRunning: running 0, deleted 0, timeout: 0, unknown: 0
I0529 22:19:09.789134 27 wait_for_controlled_pods.go:260] WaitForControlledPodsRunning: 0/0 StatefulSets are running with all pods
I0529 22:19:13.289856 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-3): Pods: 2 out of 2 created, 2 running (2 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 0 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:13.296852 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-5): Pods: 6 out of 6 created, 6 running (6 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 0 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:13.399956 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=big-job-0): Pods: 12 out of 12 created, 12 running (12 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 2 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:13.465363 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-4): Pods: 2 out of 2 created, 2 running (2 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 0 terminating, 0 unknown, 0 runningButNotReady
E0529 22:19:13.815100 27 wait_for_pods.go:85] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=daemonset-0): 7 pods disappeared: daemonset-0-cd2tg, daemonset-0-8pn4w, daemonset-0-dv8hh, daemonset-0-jtp9s, daemonset-0-886h8, daemonset-0-m4v2j, daemonset-0-cc56b
E0529 22:19:13.815133 27 wait_for_pods.go:89] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=daemonset-0): 7 pods appeared: daemonset-0-7h66w, daemonset-0-vptjx, daemonset-0-lmkj5, daemonset-0-n6sm4, daemonset-0-rchmx, daemonset-0-2w28l, daemonset-0-th9kx
I0529 22:19:13.815142 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=daemonset-0): Pods: 9 out of 10 created, 7 running (7 updated), 2 pending scheduled, 0 not scheduled, 0 inactive, 1 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:13.966681 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-0): Pods: 4 out of 4 created, 4 running (4 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 0 terminating, 0 unknown, 0 runningButNotReady
I0529 22:19:14.278630 27 wait_for_pods.go:92] WaitForControlledPodsRunning: namespace(test-vuigax-1), labelSelector(name=small-deployment-1): Pods: 2 out of 2 created, 2 running (2 updated), 0 pending scheduled, 0 not scheduled, 0 inactive, 1 terminating, 0 unknown, 0 runningButNotReady
- Upgrade
github.com/aws/aws-sdk-go
fromv1.31.4
tov1.31.7
.
- Compile with Go 1.14.3.
v1.2.6 (2020-05-25)
See code changes.
- Add
timeutil.TimeFrame
read-only fields for create/delete.ec2config.Config.TimeUTCCreateCompleteRFC3339Micro
is nowpkg/timeutil.TimeFrame
.
- Increase log fetcher QPS from 150 to 250.
- Adjust
pkg/aws/ec2.PollUntilRunning
timeout.
- Add
AddOnStresserLocal.ListLimit
andAddOnStresserRemote.ListLimit
. - Add
eksconfig.Config.TotalNodes
read-only field. - Increase
NGMaxLimit
from 300 to 5000. - Add
timeutil.TimeFrame
read-only fields for create/delete.ec2config.Config.TimeUTCCreateCompleteRFC3339Micro
is nowpkg/timeutil.TimeFrame
.
- Fix
eks/mng
delete. - Fix
eks/ng
delete. - Retries when managed node group security group ID has not been created yet in
eks/mng
. - Add
ListLimit
toeks/stresser
. - Use
client-go
to list nodes and CSRs. - Disable
eks/hollow-nodes
CSI driver."E | csi_plugin.go:271] Failed to initialize CSINodeInfo: error updating CSINode annotation: timed out waiting for the condition; caused by: the server could not find the requested resource"
"F | csi_plugin.go:285] Failed to initialize CSINodeInfo after retrying"
- Add missing
eks/hollow-nodes/remote
RBAC"csinodes"
resource. - Add hollow
kube-proxy
toeks/hollow-nodes
. - Fix
eks/hollow-nodes.CheckNodes
. - Fix typos in
eks/prometheus-grafana
. - Delete
eks/hollow-nodes
deployment first, before deleting created node objects. - Keep whatever available when
eks/ng
andeks/mng
fail a log fetch command. - Improve retries in
eks/ng
andeks/mng
log fetcher. - Increase log fetcher QPS from 150 to 250.
- Adjust
pkg/aws/ec2.PollUntilRunning
timeout.
- Add
pkg/timeutil
. - Improve
pkg/aws/ec2
poll batch operations. - Increase
pkg/k8s-client
DefaultNamespaceDeletionTimeout
from 10- to 15-minute. - Adjust
pkg/aws/ec2.PollUntilRunning
timeout.
- Compile with Go 1.14.3.
v1.2.5 (2020-05-23)
See code changes.
- Open more ingress security group ports for conformance tests.
- Clean up time outputs.
- Compile with Go 1.14.3.
v1.2.4 (2020-05-22)
See code changes.
- Cut
eks/conformance
tail output to max 30-line. - Set
eks/conformance
sonobuoy run --timeout
. - Improve
eks/conformance
log outputs. - Update
sonobuoy
version tov0.18.2
. - Run
AddOnConformance
beforeAddOnHollowNodes*
andAddOnStresser*
.- Do not run conformance tests with hollow nodes.
- Tail
eks/conformance
sonobuoy
output max 300 lines per interval.
- Upgrade
github.com/aws/aws-sdk-go
fromv1.31.3
tov1.31.4
.
- Compile with Go 1.14.3.
v1.2.3 (2020-05-21)
See code changes.
eks/nlb-hello-world
usesAddOnNLBHelloWorld.DeploymentNodeSelector
to overwrite node selector.eks/alb-2048
usesAddOnALB2048.DeploymentNodeSelector2048
to overwrite node selector.
- Add optional
AddOnNLBHelloWorld.DeploymentNodeSelector
.- e.g.
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_DEPLOYMENT_NODE_SELECTOR='{"a":"b","c":"d"}'
.
- e.g.
- Add optional
AddOnALB2048.DeploymentNodeSelector2048
.- e.g.
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_DEPLOYMENT_NODE_SELECTOR_2048='{"a":"b","c":"d"}'
.
- e.g.
- Upgrade
github.com/kubernetes/client-go
fromv0.18.2
tov0.18.3
. - Upgrade
github.com/aws/aws-sdk-go
fromv1.30.29
tov1.31.3
. - Upgrade
github.com/prometheus/client_golang
fromv1.0.0
tov1.6.0
. - Upgrade
go.etcd.io/etcd
from59f5fb25a533
to54ba9589114f
(v3.4.9
).
- Compile with Go 1.14.3.
v1.2.2 (2020-05-17)
See code changes.
- Rename
aws-k8s-tester eks create cluster-loader
toaws-k8s-tester eks create stresser
. - Add
aws-k8s-tester eks create config-maps
. - Add
aws-k8s-tester eks create csrs
. - Add
aws-k8s-tester eks create secrets
.
- Rename
AddOnSecrets
toAddOnSecretsLocal
andAddOnSecretsRemote
.ADD_ON_SECRETS_*
is nowADD_ON_SECRETS_LOCAL_
(orADD_ON_SECRETS_REMOTE_
).
- Rename
AddOnConfigMaps
toAddOnConfigMapsLocal
andAddOnConfigMapsRemote
.ADD_ON_CONFIG_MAPS_*
is nowADD_ON_CONFIG_MAPS_LOCAL_
(orADD_ON_CONFIG_MAPS_REMOTE_
).
- Rename
AddOnCSRs
toAddOnCSRsLocal
andAddOnCSRsRemote
.ADD_ON_CSRS_*
is nowADD_ON_CSRS_LOCAL_
(orADD_ON_CSRS_REMOTE_
).
- Rename
AddOnClusterLoader*
toAddOnStresser*
.- Add
AddOnStresserLocal.RequestsSummaryWrite*
. - Add
AddOnStresserRemote.RequestsSummaryWrite*
. ADD_ON_CLUSTER_LOADER_*
is nowADD_ON_STRESSER_*
.
- Add
- Update
eks/alb-2048
to useaws-alb-ingress-controller
v1.1.7
with newwafv2:*
IAM permissions.- See https://github.com/kubernetes-sigs/aws-alb-ingress-controller/releases/tag/v1.1.7.
- Add
wafv2:*
to node groups. - e.g.
controller.go:217] kubebuilder/controller "msg"="Reconciler error" "error"="failed get WAFv2 webACL for load balancer arn:aws:elasticloadbalancing:us-west-2:607362164682:loadbalancer/app/7fbd7e3d-eks2020051714char-ad37/26de385bd4f0a46a: AccessDeniedException: User: arn:aws:sts::607362164682:assumed-role/eks-2020051714-charisma6fxe-role-ng/i-06acdfc5db3ccf8fd is not authorized to perform: wafv2:GetWebACLForResource on resource: arn:aws:wafv2:us-west-2:607362164682:regional/webacl/*\n\tstatus code: 400, request id: 3c6b7245-b68a-43e5-af74-92e994670229" "controller"="alb-ingress-controller" "request"={"Namespace":"eks-2020051714-charisma6fxe-alb-2048","Name":"alb-2048-ingress"}
- Rename
eks/alb
toeks/alb-2048
. - Rename
eks/nlb
toeks/nlb-hello-world
. - Rename
eks/cluster-loader
toeks/cluster-stresser
. - Rename directory
eks/configmaps
toeks/config-maps
. - Add
eks/config-maps/local
andeks/config-maps/remote
. - Rename directory
eks/cronjobs
toeks/cron-jobs
. - Add
eks/cron-jobs/local
andeks/cron-jobs/remote
. - Add
eks/secrets/local
andeks/secrets/remote
. - Add
NodeType=regular
node labels (to differentiate from hollow nodes,NodeType=hollow-nodes
).
- Upgrade
helm.sh/helm/v3
fromv3.2.0
tov3.2.1
.
- Compile with Go 1.14.3.
v1.2.1 (2020-05-15)
See code changes.
- Upgrade
github.com/aws/aws-sdk-go
fromv1.30.28
tov1.30.29
.
- Compile with Go 1.14.3.
v1.2.0 (2020-05-15)
See code changes.
- Improve README.
- Improve README.
- Remove unnecessary fields from
AddOnIRSA
. - Remove unnecessary fields from
AddOnIRSAFargate
. - Now
AddOnFargate
optionally takes remote ECR image.AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_REPOSITORY_NAME
is optional.AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_REPOSITORY_URI
is optional.AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_REPOSITORY_IMAGE_TAG
is optional.- See https://github.com/aws/aws-k8s-tester/blob/master/Dockerfile and https://github.com/aws/aws-k8s-tester/blob/master/Makefile for container image build instructions.
- Now
AddOnIRSA
requires remote ECR image.AWS_K8S_TESTER_EKS_ADD_ON_IRSA_REPOSITORY_NAME
is now required.AWS_K8S_TESTER_EKS_ADD_ON_IRSA_REPOSITORY_URI
is now required.AWS_K8S_TESTER_EKS_ADD_ON_IRSA_REPOSITORY_IMAGE_TAG
is now required.- See https://github.com/aws/aws-k8s-tester/blob/master/Dockerfile and https://github.com/aws/aws-k8s-tester/blob/master/Makefile for container image build instructions.
- Now
AddOnIRSAFargate
requires remote ECR image.AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_NAME
is now required.AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_URI
is now required.AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_IMAGE_TAG
is now required.- See https://github.com/aws/aws-k8s-tester/blob/master/Dockerfile and https://github.com/aws/aws-k8s-tester/blob/master/Makefile for container image build instructions.
- Fix
eks/hollow-nodes
with RBAC and clean up node labels.- Previously, it did not work because of
"NodeRestriction"
from"kube-apiserver --enable-admission-plugins"
. Now it works with"NodeRestriction"
. - Add
nodes/status
resource group. - Add
pods/status
resource group.
- Previously, it did not work because of
- Fix and improve
eks/irsa
configmap tests. - Fix and improve
eks/irsa-fargate
configmap tests. - Improve
eks/cluster-loader
RequestSummary
output and separate results for reads.
- Upgrade
github.com/aws/aws-sdk-go
fromv1.30.26
tov1.30.28
.
- Compile with Go 1.14.3.