CAM2-206 Campus.il Makes the instance types used by asgard configurable

Description

Adds `HOTG_ADDITIONAL_INSTANCE_TYPES`, which can be used to expand the list of instance types allowed when creating clusters on Asgard.

Also adds the `supervisor` role as a meta requirement, as this is required to run the `hotg` role.

*Merge deadline*: None

*Testing instructions*:

This is the deployment process we used for the updated Campus admin server, so this change can be verified by checking the [olive admin instance type list](http://admin.edx-flatu.org/eu-west-1/instanceType/list).

1. Add an ansible variable like:
```
HOTG_ADDITIONAL_INSTANCE_TYPES:
t3.xlarge:
price: 0.052
family: 'Burstable'
group: 't3'
size: 'Extra Large'
vCpu: '4'
ecu: '6'
mem: '16.00'
```
1. Deploy asgard using the [vpc_admin.yml](https://github.com/edx/configuration/blob/master/playbooks/vpc_admin.yml) playbook.
1. Check the Asgard EC2 > Instance Types list to ensure the additional types are added.

*Author notes and concerns*:

1. Simply installing Asgard on a fresh instance added some new instance types (e.g. `c5.xlarge`), but the `t3.xlarge` type was not added. So this change ensures that it is always added, since we rely on it for olive's `edxapp` cluster.

*Reviewers*

  • [ ] @swalladge

  • [ ] edX reviewer[s] TBD

Configuration Pull Request

Make sure that the following steps are done before merging:

  • [ ] A DevOps team member has approved the PR if it is code shared across multiple services and you don't own all of the services.

  • [ ] Are you adding any new default values that need to be overridden when this change goes live? If so:

  • [ ] Update the appropriate internal repo (be sure to update for all our environments)

  • [ ] If you are updating a secure value rather than an internal one, file a DEVOPS ticket with details.

  • [ ] Add an entry to the CHANGELOG.

  • [ ] If you are making a complicated change, have you performed the proper testing specified on the [Ops Ansible Testing Checklist](https://openedx.atlassian.net/wiki/display/EdxOps/Ops+Ansible+Testing+Checklist)? Adding a new variable does not require the full list (although testing on a sandbox is a great idea to ensure it links with your downstream code changes).

  • [ ] Think about how this change will affect Open edX operators. Have you updated the wiki page for the next Open edX release?

Status

Assignee

Unassigned

Reporter

Open Source Pull Request Bot

Labels

Contributor Name

Jillian Vogel

Repo

edx/configuration

Customer

Epic Link

None

OSCM Assignee

None

Priority

Unset
Configure