~fwereade/pyjuju/webdav-storage

« back to all changes in this revision

Viewing changes to ensemble/providers/orchestra/__init__.py

  • Committer: William Reade
  • Date: 2011-07-27 10:43:22 UTC
  • mfrom: (274.2.13 cobbler-instance-ids)
  • Revision ID: fwereade@gmail.com-20110727104322-bepleg2nxdevufji
merge another dependency

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
from ensemble.machine import ProviderMachine
2
 
 
3
 
 
4
 
class CobblerMachine(ProviderMachine):
5
 
    """Cobbler-specific provider machine implementation"""
6
 
    pass
 
1
from twisted.internet.defer import fail, succeed
 
2
 
 
3
from ensemble.errors import EnvironmentNotFound
 
4
from ensemble.providers.common.bootstrap import Bootstrap
 
5
 
 
6
from .cobbler import CobblerConnect
 
7
from .launch import OrchestraLaunchMachine
7
8
 
8
9
 
9
10
class MachineProvider(object):
10
11
 
 
12
    launch_machine_class = OrchestraLaunchMachine
 
13
 
11
14
    def __init__(self, environment_name, config):
12
15
        self.environment_name = environment_name
13
16
        self.config = config
 
17
        self.cobbler = CobblerConnect(config)
14
18
 
15
19
    def connect(self, share=False):
16
20
        """
50
54
        """
51
55
        Bootstrap an ensemble server in the provider.
52
56
        """
53
 
        raise NotImplementedError()
 
57
        bootstrap = Bootstrap(self)
 
58
        return bootstrap.run()
54
59
 
55
60
    def shutdown(self):
56
61
        """
71
76
        @param state
72
77
        @type dict
73
78
        """
74
 
        raise NotImplementedError()
 
79
        return succeed(None)
75
80
 
76
81
    def load_state(self):
77
82
        """
111
116
        """
112
117
        raise NotImplementedError()
113
118
 
 
119
    def get_zookeeper_machines(self):
 
120
        """Find running zookeeper instances.
 
121
 
 
122
        @return: the first valid instance found as a single element list.
 
123
 
 
124
        @raise: EnvironmentNotFound or EnvironmentPending
 
125
        """
 
126
        return fail(EnvironmentNotFound())
 
127
 
114
128
 
115
129
class FileStorage(object):
116
130