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.
- On your machine's bios, enable Intel/AMD virtual execution extensions (Intel calls these VT-x and VT-d).
- Install VirtualBox or VMWare
- Create a new Ubuntu 18.04 LTS image, use settings as at least 2-4 CPUs and 4-8GB RAM.
- Start it. You can be any user you like, the user just needs sudo.
mkdir -p /usr/local/repos/skyhookcd /usr/local/repos/skyhook
- Goto the Build wiki page and continue from there, then you can execute the test queries on Run test queries page.
Docker instructions
- 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.
- 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
- 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.04docker 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.
- Now the container should be running and you should be at a root prompt e.g., root@container_id
cd /usr/local/repos/skyhook
- You can now detach from the running container
ctrl-p ctrl-q, and rundocker ps -aand should see your container is up and running, note the container_id- Reattach to the running container
docker attach container_id - Do not type
exitin the container unless you really want to kill it, else just leave it running.
- Reattach to the running container
- Now you can follow directions on the Build wiki page, then you can execute the test queries on Run test queries page.
- 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
- show all running containers
*Thanks to Mark Seibel for help with testing these.