Dockerized copernicus for testing
346
This is a work in progress. The eventual goal is to have a simple AWS cloudformation with a single small server, and an auto-scaling group of larger workers.
The next steps are to craft user-data to bring up the single node scenario, then a cloudformation to script the single node-scenario, and then a multi-node setup with EFS as a backing store and scaling policies to reduce the worker pool to 0 on idle.
The cpcc command could be extended to add a new cloud subcommand which can drive the following operations:
new-cluster - create a new clusterstatus - show cluster status (number/size of server/workers)scale - scale workers to desired numberdownload - download all data from clustershutdown - scale workers to 0 and shut master downrevive - start up masterterminate - terminate entire cluster, destroying all resourcesMilestone one is almost complete.
new-cluster, set-cluster, status, terminate using botoscale, shutdown, revivedownload??The create-cluster.py script (which has dummy variables) will create a cluster in AWS (us-east-1 for now) consisting of a single node which runs the server and a worker. The script will output its IP address which you can use to login via cpcc.
You will need to have your AWS credentials in the file used by boto (python AWS library): http://boto.readthedocs.org/en/latest/boto_config_tut.html
This essentially fulfills the first milestone.
Bring up a CoreOS host, and add the cpc-server.service and cpc-worker.service to /etc/systemd/system and run sudo systemctl daemon-reload. Then start them with sudo systemctl start cpc-server cpc-worker.
Content type
Image
Digest
sha256:57bacdcfa…
Size
110.3 MB
Last updated
almost 11 years ago
docker pull soellman/copernicus