hashicorp / terraform-provider-kubernetes

Terraform Kubernetes provider
https://www.terraform.io/docs/providers/kubernetes/
Mozilla Public License 2.0
1.58k stars 967 forks source link

min_ready_seconds parameter support for statefulset #2493

Closed aayushsss1 closed 1 month ago

aayushsss1 commented 4 months ago

Description

Minimum ready seconds

.spec.minReadySeconds is an optional field that specifies the minimum number of seconds for which a newly created Pod should be running and ready without any of its containers crashing, for it to be considered available. This is used to check progression of a rollout when using a Rolling Update strategy. This field defaults to 0 (the Pod will be considered available as soon as it is ready). To learn more about when a Pod is considered ready, see Container Probes.

Acceptance tests

Output from acceptance testing:

~ make testacc TESTARGS='-run=TestAccKubernetesStatefulSetV1_basic' 
==> Checking that code complies with gofmt requirements...
go vet ./...
TF_ACC=1 go test "/Users/aayushsubramaniam/Documents/terraform-provider-kubernetes/kubernetes" -v -vet=off -run=TestAccKubernetesStatefulSetV1_basic -parallel 8 -timeout 3h
# github.com/hashicorp/terraform-provider-kubernetes/kubernetes.test
ld: warning: -bind_at_load is deprecated on macOS
=== RUN   TestAccKubernetesStatefulSetV1_basic
=== PAUSE TestAccKubernetesStatefulSetV1_basic
=== RUN   TestAccKubernetesStatefulSetV1_basic_idempotency
=== PAUSE TestAccKubernetesStatefulSetV1_basic_idempotency
=== CONT  TestAccKubernetesStatefulSetV1_basic
=== CONT  TestAccKubernetesStatefulSetV1_basic_idempotency
--- PASS: TestAccKubernetesStatefulSetV1_basic (55.39s)
--- PASS: TestAccKubernetesStatefulSetV1_basic_idempotency (56.71s)
PASS
ok      github.com/hashicorp/terraform-provider-kubernetes/kubernetes   59.305s
make testacc TESTARGS='-run=TestAccKubernetesStatefulSetV1_Update'
==> Checking that code complies with gofmt requirements...
go vet ./...
TF_ACC=1 go test "/Users/aayushsubramaniam/Documents/terraform-provider-kubernetes/kubernetes" -v -vet=off -run=TestAccKubernetesStatefulSetV1_Update -parallel 8 -timeout 3h
# github.com/hashicorp/terraform-provider-kubernetes/kubernetes.test
ld: warning: -bind_at_load is deprecated on macOS
=== RUN   TestAccKubernetesStatefulSetV1_Update
=== PAUSE TestAccKubernetesStatefulSetV1_Update
=== CONT  TestAccKubernetesStatefulSetV1_Update
--- PASS: TestAccKubernetesStatefulSetV1_Update (185.05s)
PASS
ok      github.com/hashicorp/terraform-provider-kubernetes/kubernetes   185.926s

Release Note

Release note for CHANGELOG:

resource/resource_kubernetes_stateful_set_v1: Add support for `min_ready_seconds`

References

Parameter stable since v1.25 - https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#minimum-ready-seconds

This issue closes https://github.com/hashicorp/terraform-provider-kubernetes/issues/2469

Community Note

aayushsss1 commented 1 month ago

Hey @BBBmau I'd love to! Do let me know if any issues require immediate attention :)