@@ -16,7 +16,7 @@ to build out the service catalog.
1616# sceptre launch-stack prod <stack_name>
1717```
1818
19- The above should setup resources for the AWS account. Once the infrastructure
19+ The above should setup resources for the AWS account. Once the infrastructure
2020for the account has been setup you can access and view the account using the
2121[ AWS console] ( https://AWS-account-ID-or-alias.signin.aws.amazon.com/console ) .
2222
@@ -42,32 +42,57 @@ execute the validations by running `pre-commit run --all-files`.
4242Please install pre-commit, once installed the file validations will
4343automatically run on every commit.
4444
45- ### Functional Testing
46- The process to test the functionality of an AMI and it's integration with our
47- Service Catalog products is to first create a test AMI, upload a modified
48- product template to S3, and create a new Service Catalog product in the
49- scipool dev account to verify manually from https://sc-dev.sageit.org/
50-
51- The deploy pipelines for both our packer repos and our service catalog library
52- will create artifacts for branches that begin with ` test/ ` in the sandbox
53- account, allowing anyone with write access to the packer repos to create test
54- AMIs, and anyone with write access to service-catalog-library to upload test
55- templates for service catalog to S3.
56-
57- 1 . Commit changes to the packer repo to update or modify the AMI on a branch
58- that starts with ` test/ ` , and push directly to the origin repo.
59- 1 . Manually create an EC2 instance in the ` itsandbox ` account from the test AMI
60- for any initial system validation, then terminate it.
45+ ### Pre-Merge Integration Testing
46+
47+ To validate the integration of AMI changes with Service Catalog products several
48+ resources need to be created in AWS including a test AMI, a test CFN template
49+ (uploaded to S3), and a test product in Service Catalog. Finally, the test
50+ product can be provisioned from https://sc-dev.sageit.org/ for user-acceptance
51+ testing of the changes to the AMI and/or CFN template.
52+
53+ This process has been automated by using standard deploy pipelines on test
54+ branches. Automating the process improves test consistency and accuracy and
55+ reduces the impact of human error.
56+
57+ Anyone with write access to the upstream repos can automate creating AMIs and
58+ uploading CFN templates to S3 by pushing ` test/* ` branches directly to the
59+ uptsream repo. For example, pushing a branch named ` test/foo ` directly to
60+ ` Sage-Bionetworks-IT/packer-rstudio ` will create an AMI named
61+ ` packer-rstudio-test/foo ` in ` imagecentral ` , and pushing a branch named
62+ ` test/bar ` directly to ` Sage-Bionetworks/service-catalog-library ` will upload
63+ the templates to ` service-catalog-library/test/bar/ ` in the bootstrap bucket in
64+ ` admincentral ` .
65+
66+ The standard PR development process is used to create a test product in Service
67+ Catalog in this ` scipool ` sceptre project, such as in [ this PR] ( https://github.com/Sage-Bionetworks-IT/organizations-infra/pull/1109 ) .
68+
69+ The full process with automation is:
70+
71+ 1 . Commit changes to the target packer repo to modify the AMI on a branch that
72+ starts with ` test/ ` , and push it directly to the upstream repo to create a
73+ test AMI.
74+ - Initial manual testing of the AMI can be performed by using it to boot an
75+ EC2 instance.
61761 . Commit changes to ` service-catalog-library ` on a branch that starts with
62- ` test/ ` to update the desired template, and push directly to the origin repo.
63- 1 . Create a pull request for ` organizations-infra ` to add a new Service Catalog
64- product to ` scipool-dev ` with 'test' in the name for the test template.
65- 1 . Provision the test product from http://sc-dev.sageit.org to validate AMI
66- integration with the product template
77+ ` test/ ` to update the relevant template with the new AMI, and push directly
78+ to the origin repo to upload the templates to S3.
79+ 1 . Create a pull request for ` organizations-infra ` to modify or add a template
80+ in [ /sceptre/scipool/config/develop/] ( ./config/develop ) to deploy a Service
81+ Catalog test product in the ` scipool-dev ` account.
82+ 1 . Provision the test product from http://sc-dev.sageit.org to manually validate
83+ AMI integration with the product template; and manually terminate when done.
67841 . Create a pull request for the packer repo to modify the AMI.
68851 . Create a pull request for ` service-catalog-library ` to reference the new AMI.
69- 1 . Create a pull request for ` organizations-infra ` to remove the test product and
70- update the target product with the new template version.
86+ 1 . Create a pull request for ` organizations-infra ` to update the product templates
87+ in the production accounts [ scipool-prod] ( ./config/prod ) , [ bmgf-ki] ( ./config/dmgf-ki ) ,
88+ and [ strides] ( ./config/strides ) .
89+
90+ The list of active packer repos that are used by Service Catalog products:
91+
92+ 1 . ` Sage-Bionetworks-IT/packer-amazonlinux-docker `
93+ 1 . ` Sage-Bionetworks-IT/packer-base-ubuntu-jammy `
94+ 1 . ` Sage-Bionetworks-IT/packer-docker-server `
95+ 1 . ` Sage-Bionetworks-IT/packer-winserver-2022 `
7196
7297## Issues
7398* https://sagebionetworks.jira.com/projects/IT
0 commit comments