Open kuebler opened 2 years ago
hi! yes, agree, we should also get a task from ods-pipeline for this. Since I also was thinking on this I offer myself to play with it or together or whatever you prefer :)
Currently there is an activity ongoing on ods-jenkins-shared-library to make the AWS quickstarter more lean from a quickstarter point of view and that gave us a good understanding also on moving to ods-pipeline I believe :)
Great!
IMHO, localstack community edition doesn't offer too many options (AWS services) to work with. Are you talking about PRO/Enterprise version?
IMHO we could just follow current approach in ods-quickstarters, what do you think @tbugfinder @kuebler ?
e2e tests for AWS are quite a while on our whish list already and I like the idea a lot
ok, I thought they were already in with current quickstarter smoke/deployment tests, sorry
ok ... after a quick discussion with mr. @tbugfinder I am little bit confused now:
OK, then I would suggest to implement a test that doesn't run with the default test suite. Have a look at https://github.com/opendevstack/ods-pipeline/blob/master/test/tasks/ods-deploy-helm_external_test.go. This implements a test that you can run locally against a cluster of your choice. You could mirror this by having a test that you can execute on demand that runs against an AWS account of your choice.
Great! Then we would have both E2E use cases covered (ods developer E2E to be done, and app developer tests plus smoke tests in place). What needs to be tested in the ods dev E2E tests? I guess we would need to test with a mock IaaS?
Based on the description made by @kuebler in the github issue, here an agreed TODOs after meeting (@tbugfinder @nichtraunzer @michaelsauter @kuebler me):
Task image: to create a task’s image with the already required tools (e.g.: terraform CLI,…) similar to the existing terraform Jenkins agent (see ods-pipeline example of an existing image for go here).
Task script: to map the process already in use by the AWS QS for example (see current Jenkinsfile approach here, and an ods-pipeline example for the go task script here)
Testing: in phases we should implement the following
As localstack was mentioned - there's also python based moto https://github.com/spulec/moto .
@tbugfinder looks fantastic and seems to support way more AWS services OOTB than the localstack OSS variant!
I was wondering recently if we need a Tekton task to support provisioning e.g. AWS services via IaC based on terraform, similar to https://github.com/opendevstack/ods-quickstarters/blob/master/common/jenkins-agents/terraform/docker/Dockerfile.ubi8? IMO, automated e2e testing might be an interesting challenge, probably https://localstack.cloud/ could help? Would be really grateful for any feedback on this idea!