Skip to content

Commit 013f5cd

Browse files
review feedback
1 parent b1c005b commit 013f5cd

File tree

1 file changed

+43
-23
lines changed

1 file changed

+43
-23
lines changed

sceptre/scipool/README.md

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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
2020
for 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`.
4242
Please install pre-commit, once installed the file validations will
4343
automatically 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.
6173
1. 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.
6376
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+
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.
6780
1. Create a pull request for the packer repo to modify the AMI.
6881
1. 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

Comments
 (0)