root / trunk / src / haizea / core / scheduler / preparation_schedulers / unmanaged.py @ 632
1 |
# -------------------------------------------------------------------------- #
|
---|---|
2 |
# Copyright 2006-2008, University of Chicago #
|
3 |
# Copyright 2008, 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.leases import Lease |
20 |
from haizea.core.scheduler import EarliestStartingTime |
21 |
from haizea.core.scheduler.preparation_schedulers import PreparationScheduler |
22 |
import haizea.common.constants as constants |
23 |
from mx.DateTime import TimeDelta |
24 |
|
25 |
class UnmanagedPreparationScheduler(PreparationScheduler): |
26 |
def __init__(self, slottable, resourcepool, deployment_enact): |
27 |
PreparationScheduler.__init__(self, slottable, resourcepool, deployment_enact)
|
28 |
self.handlers = {}
|
29 |
|
30 |
def schedule(self, lease, vmrr, nexttime): |
31 |
# Nothing to do
|
32 |
return [], True |
33 |
|
34 |
def find_earliest_starting_times(self, lease, nexttime): |
35 |
# The earliest starting time is "nexttime" on all nodes.
|
36 |
node_ids = [node.id for node in self.resourcepool.get_nodes()] |
37 |
earliest = {} |
38 |
for node in node_ids: |
39 |
earliest[node] = EarliestStartingTime(nexttime, EarliestStartingTime.EARLIEST_NOPREPARATION) |
40 |
return earliest
|
41 |
|
42 |
def estimate_migration_time(self, lease): |
43 |
return TimeDelta(seconds=0) |
44 |
|
45 |
def schedule_migration(self, lease, vmrr, nexttime): |
46 |
return []
|
47 |
|
48 |
def cancel_preparation(self, lease): |
49 |
self.cleanup(lease)
|
50 |
|
51 |
def cleanup(self, lease): |
52 |
# Nothing to clean up.
|
53 |
pass
|