Warning Livedoc is no longer being updated and will be deprecated shortly. Please refer to https://documentation.tjhsst.edu.

Cepheus

From Livedoc - The Documentation Repository
Revision as of 19:51, 7 October 2013 by 2015jholtom (talk | contribs) (Created page with "cepheus ======= ## Designed for the TJ Computer Systems Lab ## Roadmap - Scheduler + Databased (MySQL) - Web Frontend - REST API ## Scheduling Process 1. API Request 2. Do w...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

cepheus

=

    1. Designed for the TJ Computer Systems Lab
    1. Roadmap

- Scheduler + Databased (MySQL) - Web Frontend - REST API

    1. Scheduling Process

1. API Request 2. Do we currently have resources to service? 3. If yes -> pick first vm

   - mark active and timeframe
   - power on if not already on
   - retrieve connection details
   - increase resource in use count

4. If no -> Determine next available VM that can service request

   - Mark for use in {x} minutes
   - Set callback to send e-mail to user and complete step 3 now that we have sufficient resources

5. Return the user the associated details depending on Questions 2 - JSON to web interface

    1. Admin Interface

- Pool management

   - Add VM's to pool
   - Modify types of requests
   - Reset user requests and make overrides

- Resource Overview

    1. Database Structure

- User TABLE

   - User ID
   - Current Allocation
   - Request count

- Resource TABLE

   - id
   - name
   - type
   - host
   - status
   - time_requested
   - length
    1. Improvements

- Add advance reservation

    1. Packages Required

- Python-libvirt - Flask - PeeWee Python ORM - APScheduler - python 2.7 - Python-gobject - gobject-introspection - simplejson (python) - MySQL-python

    1. Install Guide

1. Serve up the static folder with your choice of webserver with php support 2. Edit php variables in static/authenticate.php to fit your LDAP/AD environment 3. Place the root of the Flask application in api @ /api ```Suggested method: Apache ProxyPass``` 4. Set all the variables to your environment in api/scheduler/config.py 5. Create the database tables by executing ```createtables.py``` 6. Add resources using ```createresource.py```

   - Optional: Add users via ```createuser.py``` for statistics tracking.  username and ID should correlate with LDAP.  

7. ... 8. Profit.