Python application for managing resources on the data servers of the IO-SEA project. The project consists of two docker containers. The first one is the MySQL database and the second one contains the resource manager (RM) itself. SQL Alchemy and Flask-restx were used for RM development. An API interface is used to communicate with RM.
This project has received funding from the European High-Performance Computing Joint Undertaking (JU) and from BMBF/DLR under grant agreement No 955811. The JU receives support from the European Union’s Horizon 2020 research and innovation programme and France, the Czech Republic, Germany, Ireland, Sweden and the United Kingdom.
The API documentation is located in the Docs folder - Orchestrator_API.pdf
There are three configuration files - config.txt, flavors_init.txt, servers_init.txt
config.txt - is the main configuration file. It contains the necessary information to connect to the database. There is also a setting for the API - port and IP, but it only works without using a docker container. When running via Docker, you need to edit the dockerfile. It contains the paths to the two remaining configuration files.
servers_init.txt - contains the necessary information about the available servers for resource allocation during the initial initialization of the SQL DB. Data format:
[name, max_size_RAM, free_space_RAM, min_chunk_RAM, max_size_Disk, free_space_Disk, min_chunk_Disk, max_size_CPU, free_space_CPU, min_chunk_CPU]
flavors_init.txt - contains the information about flavors. Data format:
[name, CPU_size, RAM_size, Disk_size]
logfile.log is created at the first startup in the root directory (same directory as config.txt)
The project is ready to run via Docker. Type the command to run:
docker-compose up