@@ -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,52 @@ 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+ Anyone with write access to the upstream repos can automate creating AMIs and
54+ uploading CFN templates to S3 by pushing ` test/* ` branches directly to the
55+ uptsream repo. For example, pushing a branch named ` test/foo ` directly to
56+ ` Sage-Bionetworks-IT/packer-rstudio ` will create an AMI named
57+ ` packer-rstudio-test/foo ` in ` imagecentral ` , and pushing a branch named
58+ ` test/bar ` directly to ` Sage-Bionetworks/service-catalog-library ` will upload
59+ the templates to ` service-catalog-library/test/bar/ ` in the bootstrap bucket in
60+ ` admincentral ` .
61+
62+ Automating the process of creating a test product in Service Catalog uses the
63+ standard PR development process to add a new resource in this scepter project
64+ with ` test ` in the name, such as in [ this PR] ( https://github.com/Sage-Bionetworks-IT/organizations-infra/pull/1109 ) .
65+
66+ The full process with automation is:
67+
68+ 1 . Commit changes to the target packer repo to modify the AMI on a branch that
69+ starts with ` test/ ` , and push it directly to the upstream repo to create a
70+ test AMI.
71+ - Initial manual testing of the AMI can be performed by using it to boot an
72+ EC2 instance.
61731 . 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.
74+ ` test/ ` to update the relevant template with the new AMI, and push directly
75+ to the origin repo to uplead the templates to S3.
63761 . 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+ product to ` scipool-dev ` with ` test ` in the name for the test template.
78+ 1 . Provision the test product from http://sc-dev.sageit.org to manually validate
79+ AMI integration with the product template.
67801 . Create a pull request for the packer repo to modify the AMI.
68811 . 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.
82+ 1 . Create a pull request for ` organizations-infra ` to update the target product
83+ with the new template version and remove the test product.
84+
85+ The list of active packer repos that are used by service catalog products:
86+
87+ 1 . ` Sage-Bionetworks-IT/packer-amazonlinux-docker `
88+ 1 . ` Sage-Bionetworks-IT/packer-base-ubuntu-jammy `
89+ 1 . ` Sage-Bionetworks-IT/packer-docker-server `
90+ 1 . ` Sage-Bionetworks-IT/packer-winserver-2022 `
7191
7292## Issues
7393* https://sagebionetworks.jira.com/projects/IT
0 commit comments