Package haizea :: Package core :: Package scheduler :: Module policy
[hide private]
[frames] | no frames]

Module policy

source code

Haizea uses a policy manager that allows certain scheduling decisions to be delegated to pluggable policies. This is done so scheduling policies can be (1) modified without having to modify core components of Haizea, and (2) implemented by writing a single Python class that implements a given interface for pluggable policies.

Three policies are currently pluggable: lease preemptability ("Can lease X preempt lease Y?"), host selection ("I want to deploy a VM, what host should I select for this?") and lease admission ("Should I accept/reject this lease request?"). Haizea provides several simple policy modules in the haizea.policies package. The policy to use is selected in the configuration file. See the Haizea Documentation for more details on how this is done.

This module provides Haizea's policy manager and the base classes for pluggable policies.

Classes [hide private]
  PolicyManager
The Policy Manager
  LeaseAdmissionPolicy
Lease Admission policy
  PreemptabilityPolicy
Lease Preemptability policy
  HostSelectionPolicy
Host Selection policy
Variables [hide private]
  __package__ = 'haizea.core.scheduler'