Jetstream Atmosphere EZ tools
Instances launched using the Atmosphere web user interface are by default installed with the EZ command line tools, designed to streamline some common tasks and functions.
There are a number of different ez commands, including:
- ez → a help menu listing available tools
- ezj → run jupyter-notebook with python detection (Recommend m1.medium or larger)
- ezjh → run jupyterhub (currently requires CyVerse CAS credentials) (Recommend m1.medium or larger)
- ezd → install docker (Only supported on Ubuntu 14+ and CentOS 7)
- ezs → install singularity (Only supported on Ubuntu 14+ and CentOS 6+)
- unban → list blocked IP addresses or remove blocks for IP addresses trying to access the instance
- myip → set environment variables $JETSTREAM_PUBLIC_IP and $CYVERSE_PUBLIC_IP to the public IP Address and display the same to the screen
ez: a help menu listing available tools
Options to pass to 'ez':
update -> perform a full update of the ez facility
ez update
<TOP>
ezj: Launching Jupyter Notebook within an instance (detailed description)
Options to pass to 'ezj':
-q : do not attempt to install, just launch jupyter!
-R : install the R kernel (-r also works)
-2 : force python 2 kernel (not compatible with -3 option)
-3 : force python 3 kernel (not compatible with -2 option)
-u : force update of anaconda (default is no update)
-p : takes a directory as an option; install in a different location other than default (/home)
NOTE: if you set this, you must pass it again for future calls
*** You do not need to run ezj more than once. You can start/restart a notebook with the commands: "ezj -q" or "jupyter-notebook" .
ezj -u -R ezj -p /opt -u
<TOP>
ezjh: run jupyterhub with CyVerse CAS integration
Options to pass to 'ezjh':
none
NOTE: Only run if you have CyVerse access and are familiar with CAS
The installation may take up to 10 minutes to complete
*** You do not need to run ezjh more than once. You can start/restart a hub with the command: jupyterhub .
<TOP>
ezd: install docker
Options to pass to 'ezd':
-p : enable portainer on port 9000
[js-host] MY-USER ~-->ezd * Updating ez docker and installing docker (this may take a few minutes, coffee break!) remote: Counting objects: 25, done. remote: Total 25 (delta 0), reused 0 (delta 0), pack-reused 25 Unpacking objects: 100% (25/25), done. * docker was updated successfully You shouldn't need to use ezd again on this system, unless you want to update docker itself NOTE: If you'd like to run docker as your system user and you can't (i.e. get a permission denied), you can use the following command: sudo usermod -a -G docker myusername replace 'myusername' with your login. You may need to logout and login again. To test docker, type: docker run hello-world [js-host] MY-USER ~-->docker run hello-world docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.so ck/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'. [js-host] MY-USER ~-->sudo docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/ [js-host] MY-USER ~-->sudo docker run -it ubuntu bash Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu 22dc81ace0ea: Extracting [==================================================>] 42.96MB/42.96MB 1a8b3c87dba3: Download complete 22dc81ace0ea: Pull complete 1a8b3c87dba3: Pull complete 91390a1c435a: Pull complete 07844b14977e: Pull complete b78396653dae: Pull complete Digest: sha256:e348fbbea0e0a0e73ab0370de151e7800684445c509d46195aef73e090a49bd6 Status: Downloaded newer image for ubuntu:latest oot@f35a04ce5c1c: /root@f35a04ce5c1c:/# oot@f35a04ce5c1c: /root@f35a04ce5c1c:/# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr root@f35a04ce5c1c: /root@f35a04ce5c1c:/# exit exit [js-host] MY-USER ~-->
<TOP>
ezs: install singularity
Options to pass to 'ezs':
none
[js-host] MY-USER ~-->ezs * Updating ez singularity and installing singularity (this may take a few minutes, coffee break!) remote: Counting objects: 11, done. remote: Total 11 (delta 0), reused 0 (delta 0), pack-reused 11 Unpacking objects: 100% (11/11), done. * singularity was updated successfully You shouldn't need to use ezs again on this system, unless you want to update singularity itself To test singularity, type: singularity -v run library://sylabsed/examples/lolcow Hint: it should output a cowfucious saying: [js-host] MY-USER ~-->singularity -v run library://sylabsed/examples/lolcow INFO: Downloading library image VERBOSE: HOME=/home/MY-USER VERBOSE: Set messagelevel to: 4 VERBOSE: Starter initialization .... ____________________________________ / They have been at a great feast of \ | languages, and stolen the scraps. | | | | -- William Shakespeare, "Love's | \ Labour's Lost" / ------------------------------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
<TOP>
unban: list blocked IP addresses or remove blocks for IP addresses trying to access the instance
usage: unban [-l] [-i ip-address] [-a]
-l : print all currently banned ips
-i : unban a single ip address
-a : unban all ip addresses
Note: use only one of -l, -i, or -a at a time
<TOP>
myip: set environment variables $JETSTREAM_PUBLIC_IP and $CYVERSE_PUBLIC_IP to the public IP Address and display the same to the screen
[js-156-82] MY-USER ~-->myip 149.165.156.82 [js-156-82] MY-USER ~--> echo $JETSTREAM_PUBLIC_IP 149.165.156.82