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 end
  • Hackathon 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 tutorial
  • One 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 home
  • This 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-shell
    • Contains Git, editors, docker, utils, etc
      • How 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
    • elasticsearch:1.3
    • mongo:latest
    • rabbitmq:management
    • Extractors:
      • plantcv:0.9.2
      • image-preview:0.9.2
      • video-preview:0.9.2
      • Other extractors?
  • 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 

 

  • No labels