The SIMPLE Framework

The SIMPLE Framework

  • Discourse
  • Docs
  • Slack
  • GitHub
  • Help
  • Blog

›Recent Posts

Recent Posts

  • SIMPLE YAML compiler Web UI Deployment Guide
  • Google Summer of Code 2019 Final Report

SIMPLE YAML compiler Web UI Deployment Guide

May 12, 2020

Boris Vasilev

Backend deployment

Backend repository can be found here.

Frontend repository can be found here.

How to deploy to OpenShift

  1. Go to https://openshift.cern.ch/console/catalog

  2. Select Python from the list of options

  1. Select your project, set application name and select the repository. Supported Python version is 2.7.

  1. Create a route to the backend service with secondary hostname

  2. Expose route to the Internet using oc annotate route <ROUTE NAME> router.cern.ch/network-visibility=Internet

  3. (Optional) Add health-check to the backend deployment.

Available endpoints

  • /versions - GET list of installed compiler versions
  • /compile - POST site-level config file to be compiled/augmented
    // Request
    {
      "version": "v1.0.6",
      "site_conf": (binary)
    }
    
    // Response (success)
    {
      "augmented_conf": "...",
      "schema": "..."
    }
    
    // Response (failure)
    {
      "Input File": "<site-level conf>",
      "error": "<error traceback>",
      "file_name1": "...",
      "file_name2": "...",
      "file_name3": "...",
      ...
    }
    
  • /health - GET health check endpoint

Installing new compiler versions

In order to install a new compiler simply download it from the SIMPLE Grid YAML compiler package page in PyPi here and extract it inside the compilers directory. The backend will take care of picking up the installed compilers and providing a list of available versions to the frontend.

Frontend deployment

How to deploy to OpenShift

  1. Download the OKD client oc.
  2. Execute the oc login command from the OpenShift dashboard.
  3. Select project using oc project.
  4. Deploy app by executing npx simple-nodeshift --strictSSL=false --dockerImage=nodeshift/ubi8-s2i-web-app --imageTag=latest --expose inside of the project root directory. Used a fork of nodeshift.
  5. Expose route to the Internet using oc annotate route simple-web-compiler-frontend router.cern.ch/network-visibility=Internet

WARNING: If the frontend works but when uploading a file it hangs check that the backend route is also exposed and the hosts are not conflicting.

Google Summer of Code 2019 Final Report

August 26, 2019

Sneha Sinha

Organization - CERN-HSF

Project - Python Components for the SIMPLE Grid Framework

Read More
The SIMPLE Framework
Docs
Introduction to SIMPLEDeployment Guide: HTCondor
Community
Discourse ForumSlack ChannelEmail
More
BlogGitHubStar
WLCG Logo
Copyright © 2020 CERN