dummy/scaffolding plugin for reservations
[nodemanager.git] / plugins / reservation.py
1 # $Id$
2 # $URL$
3 #
4 # NodeManager plugin - first step of handling omf_controlled slices
5
6 """
7 Overwrites the 'resctl' tag of slivers controlled by OMF so sm.py does the right thing
8 """
9
10 import logger
11
12 priority = 45
13 # this instructs nodemanager that we want to use the latest known data when the plc link is down
14 persistent_data = True
15
16 def start(options, conf):
17     logger.log("reservation: plugin starting up...")
18
19 def GetSlivers(data, conf = None, plc = None):
20
21     if 'reservation_policy' not in data: 
22         logger.log_missing_data("reservation.GetSlivers",'reservation_policy')
23         return
24     reservation_policy=data['reservation_policy']
25
26     if 'leases' not in data: 
27         logger.log_missing_data("reservation.GetSlivers",'leases')
28         return
29
30     if reservation_policy in ['lease_or_idle','lease_or_shared']:
31         logger.log( 'reservation.GetSlivers - scaffolding...')
32     elif reservation_policy == 'none':
33         return
34     else:
35         logger.log("reservation: ignoring -- unexpected value for reservation_policy %r"%reservation_policy)
36         return