Development and testing environment: getting started - uccross/skyhookdm-ceph GitHub Wiki

Skyhook development and testing only requires a Linux environment. Below are instructions for using either a Linux machine (Ubuntu18 preferably), a VM, or Docker container. Instructions for each are below. Compiling requires about 30GB of disk space.

Ubuntu 18.04 LTS is recommended, previous Ubuntu versions (14.04 in particular) may no longer work due to Skyhook's additional library dependencies. Other Linux versions have not been tested, but a recent release from major distribution of those supported by Ceph is likely to work fine.

Linux desktop instructions

  • To use your own Linux machine, please go directly to the Build wiki page.

VM Instructions (Virtual Box or VMWare)

This is not necessarily recommended due to resources required and other configuration concerns, preferably use Docker as below.

  1. On your machine's bios, enable Intel/AMD virtual execution extensions (Intel calls these VT-x and VT-d).
  2. Install VirtualBox or VMWare
  3. Create a new Ubuntu 18.04 LTS image, use settings as at least 2-4 CPUs and 4-8GB RAM.
  4. Start it. You can be any user you like, the user just needs sudo.
    • mkdir -p /usr/local/repos/skyhook
    • cd /usr/local/repos/skyhook
  5. Goto the Build wiki page and continue from there, then you can execute the test queries on Run test queries page.

Docker instructions

  1. Install docker on your host machine. A Linux or Mac host machine is recommended. For Windows, please see our Notes for installing Docker on Windows Home.
  2. On your host machine, create a dir path for your the skyhook-ceph source code. Note this path requires about 30 GB of storage space to build skyhook-ceph. The source files will be stored there on your host machine but visible for compile within the container by using the -v docker command below. The container will need write access to this dir on your local machine, this is not normally a problem with docker on a local linux machine but if having trouble saving files to the host machine on Mac or Windows it may need some configuration.
    • mkdir -p /home/jp/repos/skyhook
  3. Start the container, note absolute paths are required
    • docker run -ti -v /path/on/my/local/machine:/maps/to/some/path/inside/container ubuntu:18.04
    • docker run -ti -v /home/jp/repos/skyhook:/usr/local/repos/skyhook ubuntu:18.04
      • Note your chosen path in the container will be created automatically if it does not exist.
  4. Now the container should be running and you should be at a root prompt e.g., root@container_id
    • cd /usr/local/repos/skyhook
  5. You can now detach from the running container ctrl-p ctrl-q, and run docker ps -a and should see your container is up and running, note the container_id
    • Reattach to the running container docker attach container_id
    • Do not type exit in the container unless you really want to kill it, else just leave it running.
  6. Now you can follow directions on the Build wiki page, then you can execute the test queries on Run test queries page.
  7. Some useful docker commands
    • show all running containers docker container ls
    • exit from inside a running container and terminate it exit
    • detach from running container crtl-p ctrl-q
    • show all containers and their current status docker ps -a
    • attach to running container docker attach <container_id>
    • stop a running container docker stop <container id>
    • show all images stored locally docker images -a

*Thanks to Mark Seibel for help with testing these.