Knowledge Graph Documentation

This open source software code was developed in part or in whole in the Human Brain Project, funded from the European Union's Horizon 2020 Framework Programme for Research and Innovation under Specific Grant Agreements No. 720270, No. 785907 and No. 945539 (Human Brain Project SGA1, SGA2 and SGA3).
Co-funded by the European Union
â„šī¸ This is the new documentation of the EBRAINS KG. It's going to be extended continuously.
If you find any issues / have any comment, please contact kg@ebrains.eu to give us your feedback!

Provision a new VM

To provision a new VM, please run the "provision" playbook against openstack.

Configure openStack environment and log in to CSCS

To do so, please follow the instructions at CSCS. Once you have your virtual environment ready, are logged in and have selected the according project (PROD or DEV - depending on what you want to do), you're good to start the provisioning process. Also make sure, before you start that you've set the environment variable export ANSIBLE_VAULT_PASSWORD_FILE=~/.ansible_vault_pass.txt specifying where to find the file containing the vault password.

Run the provisioning script

Go to the working directory where you've checked out this repository.

ansible-playbook provision.yml -i hosts/castor_ENV.txt --extra-vars "os_server_name=SERVER_NAME key_name=KEY_NAME data_volume_size=DATA_VOLUME_SIZE flavor=FLAVOR"
  • ENV is the environment according to the hosts file
  • SERVER_NAME is the name of the server. KG servers typically start with a prefix "kg-" and prod instances are usually numbered (to allow horizontal scaling). PPD instances have an additional "-ppd" and INT a "-int" ending. Examples: kg-core-1 for PROD, kg-core-ppd for PPD, kg-core-int for INT and kg-core for DEV.
  • KEY_NAME the key pair registered in CSCS that allows the initial SSH connection to the VM - e.g. "oschmid".
  • DATA_VOLUME_SIZE the size of the additional volume (a KG VM usually has two volumes - the "root" and the "data"). Even if you don't plan to keep a lot of data, we recommend to build the volume for consistency reasons. A default value could be 10GB (you can easily resize it in a later step)
  • FLAVOR defines the flavor of the VM (e.g. m1.small, m1.small2, m1.medium, ...) defining the number of CPUs, memory, etc.

Configure the /etc/fstab

Since we're attaching the data volume to the VM, we need to update the /etc/fstab accordingly. Please SSH into the VM and the following line: /dev/vdb /data ext4 defaults 0 2

TODO: We want to check if this couldn't be automated.

This open source software code was developed in part or in whole in the Human Brain Project, funded from the European Union's Horizon 2020 Framework Programme for Research and Innovation under Specific Grant Agreements No. 720270, No. 785907 and No. 945539 (Human Brain Project SGA1, SGA2 and SGA3).
Co-funded by the European Union