Skip to content

Commit 088bbbb

Browse files
review feedback
Reword and expand both the reasoning and the process documented.
1 parent b1c005b commit 088bbbb

File tree

1 file changed

+49
-24
lines changed

1 file changed

+49
-24
lines changed

sceptre/scipool/README.md

Lines changed: 49 additions & 24 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,57 @@ 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+
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.
6176
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.
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.
6784
1. Create a pull request for the packer repo to modify the AMI.
6885
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.
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

Comments
 (0)