bottlerocket-os / bottlerocket-ecs-updater

A service to automatically manage Bottlerocket updates in an Amazon ECS cluster.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

End to End Integ Test

webern opened this issue · comments

Create an end-to-end integ test that, with minimal human intervention. General requirements:

  • Use a pre-existing ECS cluster.
  • Detect pre-existing instances in the cluster and abort with error informing the user that the cluster should be empty.
  • Create multiple nodes taking a Bottlerocket AMI (version < latest), or getting it from SSM.
  • Create a workload service and run it on the nodes.
  • Assert health of the workload throughout test?
  • Containerize and deploy the local changeset version of bottlerocket-update-operator to an ECR repo.
  • Run the updater in a Fargate task.
  • Assert the nodes do update.
  • Cleanup.

In PR-68 and PR-69 we added Cloudformation stacks to create an ECS cluster and added script that allows us to create an ECS cluster, start updater on it and clean-up the resources. For now we are relying on manual validation of logs and Bottlerocket OS version. An issue #76 is created to track automated integration tests.