Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

terraform k8s separation #5755

Merged
merged 2 commits into from
Dec 7, 2022
Merged

Conversation

rustielin
Copy link
Contributor

@rustielin rustielin commented Dec 2, 2022

Description

Add a variable manage_via_tf which allows operators to choose whether to use Terraform to manage their aptos-node (application) deployment, or simply deploy it once (re-deploying on infra changes), but otherwise relying on other toolling such as another k8s client to update the application.

The way it works is:

  • all changes to values blocks are ignored via lifecycle ignore. This prevents re-deploy (or at least a helm re-evaluation) on small changes like irrelevant helm values.
  • all changes set blocks are conditionally ignored depending on whether manage_via_tf is set or not. The type of values set using set blocks are those such as imageTag and era, which we would expect a re-deployment of the application if we want TF to manage the k8s deployment

Test Plan

Apply while toggling manage_via_tf, and observing the TF plan output

@rustielin rustielin added the CICD:run-e2e-tests when this label is present github actions will run all land-blocking e2e tests from the PR label Dec 2, 2022
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@rustielin rustielin marked this pull request as ready for review December 7, 2022 01:25
@rustielin rustielin requested a review from a team as a code owner December 7, 2022 01:25
@rustielin rustielin force-pushed the rustielin/terraform-k8s-separation branch from 258cc30 to 80251e5 Compare December 7, 2022 17:47
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Copy link
Contributor

@perryjrandall perryjrandall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome 🚀🚀🚀

@github-actions
Copy link
Contributor

github-actions bot commented Dec 7, 2022

✅ Forge suite land_blocking success on 80251e5370af619a842beb7a637debb763bd0caf

performance benchmark with full nodes : 6630 TPS, 5993 ms latency, 9000 ms p99 latency,no expired txns
Test Ok

@github-actions
Copy link
Contributor

github-actions bot commented Dec 7, 2022

✅ Forge suite compat success on testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> 80251e5370af619a842beb7a637debb763bd0caf

Compatibility test results for testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> 80251e5370af619a842beb7a637debb763bd0caf (PR)
1. Check liveness of validators at old version: testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b
compatibility::simple-validator-upgrade::liveness-check : 6824 TPS, 5954 ms latency, 12500 ms p99 latency,no expired txns
2. Upgrading first Validator to new version: 80251e5370af619a842beb7a637debb763bd0caf
compatibility::simple-validator-upgrade::single-validator-upgrade : 4504 TPS, 9340 ms latency, 12100 ms p99 latency,no expired txns
3. Upgrading rest of first batch to new version: 80251e5370af619a842beb7a637debb763bd0caf
compatibility::simple-validator-upgrade::half-validator-upgrade : 4718 TPS, 8874 ms latency, 11400 ms p99 latency,no expired txns
4. upgrading second batch to new version: 80251e5370af619a842beb7a637debb763bd0caf
compatibility::simple-validator-upgrade::rest-validator-upgrade : 6401 TPS, 5848 ms latency, 11900 ms p99 latency,no expired txns
5. check swarm health
Compatibility test for testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> 80251e5370af619a842beb7a637debb763bd0caf passed
Test Ok

@rustielin rustielin merged commit 8f450c9 into main Dec 7, 2022
@rustielin rustielin deleted the rustielin/terraform-k8s-separation branch December 7, 2022 20:40
areshand pushed a commit to areshand/aptos-core-1 that referenced this pull request Dec 18, 2022
* [tf/aws] option to separate k8s workloads from TF state

* [tf/gcp] option to separate k8s workloads from TF state
@Markuze Markuze mentioned this pull request Dec 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CICD:run-e2e-tests when this label is present github actions will run all land-blocking e2e tests from the PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants