Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IT-3523] Update Service Catalog AMI testing docs #1306

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 30 additions & 1 deletion sceptre/scipool/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,44 @@ Requirements:
* Run `pre-commit install` to install the git hook.

## Testing

### Pre-Commit
As a pre-deployment step we syntatically validate our sceptre and
cloudformation yaml files with [pre-commit](https://pre-commit.com).

Please install pre-commit, once installed the file validations will
automatically run on every commit. Alternatively you can manually
automatically run on every commit. Alternatively you can manually
execute the validations by running `pre-commit run --all-files`.
Please install pre-commit, once installed the file validations will
automatically run on every commit.

### Functional Testing
The process to test the functionality of an AMI and it's integration with our
brucehoff marked this conversation as resolved.
Show resolved Hide resolved
Service Catalog products is to first create a test AMI, upload a modified
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below you say to create the new product via a PR, not by uploading to S3. Can you please be consistent?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to describe both the underlying process and the automation around it. I've reworded this to hopefully explain that a bit more

product template to S3, and create a new Service Catalog product in the
scipool dev account to verify manually from https://sc-dev.sageit.org/

The deploy pipelines for both our packer repos and our service catalog library
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you link to the "packer repo's"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added a list to the end of the section

will create artifacts for branches that begin with `test/` in the sandbox
account, allowing anyone with write access to the packer repos to create test
AMIs, and anyone with write access to service-catalog-library to upload test
templates for service catalog to S3.

brucehoff marked this conversation as resolved.
Show resolved Hide resolved
1. Commit changes to the packer repo to update or modify the AMI on a branch
that starts with `test/`, and push directly to the origin repo.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"to the origin repo'" -> "to the origin branch".

Can you please link the words "the packer repo" to the packer repo' URL?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The branch name will start with test/ such as test/foo, and that branch is pushed directly to the origin, e.g. Sage-Bionetworks-IT/packer-ami-template. I've reworded this to 'upstream repo' with an explicit example.

1. Manually create an EC2 instance in the `itsandbox` account from the test AMI
for any initial system validation, then terminate it.
1. Commit changes to `service-catalog-library` on a branch that starts with
`test/` to update the desired template, and push directly to the origin repo.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to the origin branch

1. Create a pull request for `organizations-infra` to add a new Service Catalog
ConsoleCatzirl marked this conversation as resolved.
Show resolved Hide resolved
product to `scipool-dev` with 'test' in the name for the test template.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you mention where the "product" templates are located in the repo'? How does the product reference the template in the previous step?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The wording is a little tricky because there's a template in service-catalog-library, and another in organizations-infra. I've added a link to an example PR that hopefully shows the relationship between the two templates.

1. Provision the test product from http://sc-dev.sageit.org to validate AMI
integration with the product template
1. Create a pull request for the packer repo to modify the AMI.
1. Create a pull request for `service-catalog-library` to reference the new AMI.
1. Create a pull request for `organizations-infra` to remove the test product and
update the target product with the new template version.

## Issues
* https://sagebionetworks.jira.com/projects/IT

Expand Down
Loading