-
Notifications
You must be signed in to change notification settings - Fork 2
Sunshine Architecture & Configuration
Beau Cronin edited this page Jul 8, 2016
·
2 revisions
The process by which sunshine configures an EC2 instance to execute a CESM model run is, unfortunately, a bit complex.
In brief, sunshine starts an EC2 instance and uses cloud-init
to configure it. This process installs docker, builds a docker image, and runs a docker container whose command process executes a CESM modeling run that writes its output to S3.
The key control scripts (in addition to the standard CESM model-running infrastructure) are as follows:
-
launch: This script is executed by the user to start a new run. It starts a new EC2 instance with appropriate user-data for cloud-init (including the CESM config variables), and also creates an entry in the
CESM_Instances
DynamoDB table - user-data.sh: This script is run on the newly-launched EC2 instance. It installs and starts docker, places the CESM config variables in a known location, clones and builds the sunshine docker image, and creates an upstart config that runs the sunshine docker container. It is generated by the
launch
script. - boot.sh: This is the entry point for the sunshine docker container. It creates, configures, build, and runs a CESM case that matches the instance type and config variables specified by the user.