LEXIS project software available at GitHub. The following submodules create the LEXIS Platform.
This repository contains Lexis portal GUI components for managing workflows, datasets, users and organizations.
This repository contains backend services for the LEXIS portal.
The UserOrg service behind the LEXIS PORTAL manages the creation, deletion, listing, and update of the following data related to LEXIS: users, organisations, projects, and HPC resources.
This repository contains a middleware service for the LEXIS PORTAL, which is back-end to the front-end, and front-end to user-org-service, dataset-management-interface, etc.
This repository contains the interface to display datasets from the LEXIS DDI in the LEXIS Portal.
This repository contains a list of LEXIS testcases (collected from the individual LEXIS modules), and scripts to execute the tests specified in the list of testcases. Testcases are documented in the directory
docs. Some testcases are implemented in scripts using Robot framework in directory
Repository of TOSCA components and Application Templates for the LEXIS Platform.
The Yorc HEAppE plugin implements a Yorc (Ystia orchestrator) plugin as described in Yorc documentation, allowing the orchestrator to use the HEappE (High-End Application Execution) API to manage jobs executions on HPC infrastructures.
The Yorc Dynamic Orchestration plugin implements a Yorc (Ystia orchestrator) plugin as described in Yorc documentation, allowing the orchestrator to dynamically change the location of infrastructure resources to create in a workflow.
The Yorc DDI plugin implements a Yorc (Ystia orchestrator) plugin as described in Yorc documentation, allowing the orchestrator to use LEXIS DDI (Distributed Data Infrastructure) API to manage asynchronous data transfers requests.
This submodule repository contains the LEXIS dynamic allocation module (DAM), a LEXIS infrastructure component used to dynamically manage the tasks of a running workflow. Each task is dynamically allocated to the best machine in the LEXIS resource pool, considering various performance criteria (load on the machines, number of used cores, etc.). The allocation policy is based on a greedy strategy for ranking and selecting the best machine(s) at a given point in time. The allocator is embedded in a web-based backend service developed around the Flask framework.
Distributed Data Infrastructure (DDI)
LEXIS DDI APIs, e.g. for data staging between iRODS and different computing systems. The LEXIS DDI APIs are implemented in Python Django, separated to five standalone Django applications. Ansible roles are included in the ansible directory in the repo.
iRODS zone deployment for LEXIS centres: this repository contains components for the 1st (lowest) level of the DDI.