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

Source Code for Module haizea.core.scheduler.preparation_schedulers.unmanaged

 1  # -------------------------------------------------------------------------- # 
 2  # Copyright 2006-2009, University of Chicago                                 # 
 3  # Copyright 2008-2009, Distributed Systems Architecture Group, Universidad   # 
 4  # Complutense de Madrid (dsa-research.org)                                   # 
 5  #                                                                            # 
 6  # Licensed under the Apache License, Version 2.0 (the "License"); you may    # 
 7  # not use this file except in compliance with the License. You may obtain    # 
 8  # a copy of the License at                                                   # 
 9  #                                                                            # 
10  # http://www.apache.org/licenses/LICENSE-2.0                                 # 
11  #                                                                            # 
12  # Unless required by applicable law or agreed to in writing, software        # 
13  # distributed under the License is distributed on an "AS IS" BASIS,          # 
14  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   # 
15  # See the License for the specific language governing permissions and        # 
16  # limitations under the License.                                             # 
17  # -------------------------------------------------------------------------- # 
18   
19  from haizea.core.scheduler import EarliestStartingTime 
20  from haizea.core.scheduler.preparation_schedulers import PreparationScheduler 
21  from mx.DateTime import TimeDelta 
22   
23 -class UnmanagedPreparationScheduler(PreparationScheduler):
24 - def __init__(self, slottable, resourcepool, deployment_enact):
25 PreparationScheduler.__init__(self, slottable, resourcepool, deployment_enact) 26 self.handlers = {}
27
28 - def schedule(self, lease, vmrr, nexttime):
29 # Nothing to do 30 return [], True
31
32 - def find_earliest_starting_times(self, lease, nexttime):
33 # The earliest starting time is "nexttime" on all nodes. 34 node_ids = [node.id for node in self.resourcepool.get_nodes()] 35 earliest = {} 36 for node in node_ids: 37 earliest[node] = EarliestStartingTime(nexttime, EarliestStartingTime.EARLIEST_NOPREPARATION) 38 return earliest
39
40 - def estimate_migration_time(self, lease):
41 return TimeDelta(seconds=0)
42
43 - def schedule_migration(self, lease, vmrr, nexttime):
44 return []
45
46 - def cancel_preparation(self, lease):
47 self.cleanup(lease)
48
49 - def cleanup(self, lease):
50 # Nothing to clean up. 51 pass
52