The purpose of this page is to lay out precisely what infrastructure we will need to provide to each member of the audience at the tutorial.
How many VMs will we need to create?
Personal VM: one instance per audience member
- How will we assign these VMs to people?
- VM credentials were distributed on slips of paper
Pros:
- Isolated instance of NDS Labs ensures no collisions will occur during the tutorial
- One person's machine going haywire should not disrupt the other members of the audience
Con:
Depending on how much we need to pre-install, this may be much more work on our endHackathon overlap may cause contention for resources
Single VM: shared instance with multiple user logins
Pro:
Less work for us to spin up these VMs"Create Account" button allows users to provision themselves.
Con:
Shared docker daemon between users may interfere with tutorialOne person's mistake could ruin the entire tutorial
No VMs, user installs Docker Toolbox on their local machine and runs everything there
They can do it, but we can't support it. If they know what they're doing.
Pro:
User can walk away with the tutorial and play around with it at homeThis fuels excitement for its release, and allows people to begin preparing their software for assimilation into NDS Labs.
Con:
Making the user install software themselves is tedious and error-prone
How long will we retain these VMs?
1 week?Hackathon overlap may cause resource contention- As long as possible?
- Retention period was unspecified, but we made it clear that machines in use would not go away unexpectedly
Which version of CoreOS should they use, if not Docker Toolbox
835 is stable, maybe with updated docker- 899 is stable after fixing the hostfile
- Make sure to disable update-engine on base image
- Need to add 127.0.0.1 localhost to /etc/hosts for etcd2
How will they login?
- SSH Keys: generated keys via authorized_keys (in real account – e.g., ndslabstutorialuser1)
- Each account gets a random password and a generated key
Dummy credentials?- User account "tutorial" on each VM
- How will we distribute keys or credentials to people?
- VM credentials were distributed on slips of paper
What software will we need to install for them?
CoreOS 899 + Docker 1.10
Should we pre-populate any Docker images on these machines?
- Precache or local docker hub
developer-shellContains Git, editors, docker, utils, etcHow to build API Server? (golang)How to build GUI Server? (NPM http-server)
- system-shell
- Scripts to start up the system
- Kubernetes:1.2.0
- Clowder Stack images
- clowder:terra
- toolserver:terra
- jupyter:scipy-notebook
- rocker/ropensci:latest
- toolserver:terra
- elasticsearch:1.3
- mongo:latest
- rabbitmq:management
- Extractors:
- plantcv:0.9.2
- image-preview:0.9.2
- video-preview:0.9.2
- Other extractors?
- clowder:terra
- DataVerse Stack images
- dataverse
- tworavens
- solr
- postgres
- rserve
- ELK Stack images
- elasticsearch 2.1
- kibana
- logstash
- logspout
Flat List
Infrastructure
ndslabs/developer-shell:latest
ndslabs/system-shell:latest
ndslabs/apiserver:latest
ndslabs/ndslabs-gui:latest
Clowder
ndslabs/clowder:terra
mongo:latest
elasticsearch:1.3
ndslabs/toolserver:terra
rabbitmq:management
ndslabs/plantcv:0.9.2
ndslabs/image-preview:0.9.1
ndslabs/video-preview:0.9.1
Dataverse
ndslabs/dataverse:latest
postgres:9.3
ndslabs/dataverse-solr:latest
ndslabs/dataverse-rserve:latest
ndslabs/tworavens:latest
ndslabs/dataverse-icat:latest
ELK
kibana:latest
elasticsearch 2.1
logstash:latest
ndslabs/logspout:latest
IRODS
ndslabs/cloudbrowser:latest
ndslabs/irods-icat:4.1.3
ndslabs/cloudbrowser-ui:latest
TERRA Tool Server
jupyter/scipy-notebook:latest
rocker/ropensci:latest
Tutorial Images (Optional)
ndslabs/cowsay-php:latest
ndslabs/cloud9:latest
ndslabs/owncloud:latest
mysql:latest