Prerequisites
  1. Python 2.7 interpreter
  2. Azure SDK for Python
  3. Powershell for Azure
  4. Azure subscription, storage account, service bus name space
The software is made of 4 modules:
  1. The listener, which runs on the worker nodes.
  2. The autoscaler, which runs on the manager node.
  3. The scheduler, which runs on the submitter nodes. The module defines a few functions to submit jobs to the queue and retrieve their status. It also provides a few examples of use.
  4. The job monitor, which displays all status change notifications.
In addition, there are a few powershell scripts to deploy and start virtual machines, which will be called by the autoscaler.
Only the autoscaler must run on Windows, as it invokes the powershell scripts. Everything else can run on either Windows or Linux (with the appropriate changes to accommodate handling of certificates).

Start from the Scheduler Module
There is no specific user interface in this release. All required parameters are defined within the code, which you will have to edit to suit your environment.
The scheduler module defines the python functions to create queues and status tables, submit jobs and retrieve their status. It also shows examples of use.
You will have to upload the executables that you want to run separately or pre-install them in the VM templates that you use. No utility is provided to do so in this project, but plenty are available.

There is no security check in this code. The agent will run any executable you pass in its own context. It is recommended that you limit the rights to those of a local user or service.

Last edited Oct 16, 2013 at 12:09 AM by gmarchetti, version 1