~fwereade/pyjuju/document-relation-set-empty

« back to all changes in this revision

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

  • Committer: William Reade
  • Date: 2011-08-17 09:27:52 UTC
  • mfrom: (306.2.7 spike-catchup)
  • Revision ID: fwereade@gmail.com-20110817092752-xj87n0g13mfgxz04
implemented get_serialization_data for orchestra provider

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import copy
1
2
from operator import itemgetter
2
3
 
3
4
from twisted.internet.defer import inlineCallbacks, returnValue
4
5
 
 
6
from ensemble.environment.errors import EnvironmentsConfigError
5
7
from ensemble.providers.common.bootstrap import Bootstrap
6
8
from ensemble.providers.common.findzookeepers import find_zookeepers
7
9
from ensemble.providers.common.state import SaveState, LoadState
 
10
from ensemble.providers.common.utils import get_user_authorized_keys
8
11
 
9
12
from .cobbler import CobblerClient
10
13
from .files import FileStorage
21
24
        self.config = config
22
25
        self.cobbler = CobblerClient(config)
23
26
 
 
27
        if ("authorized-keys-path" in config and
 
28
            "authorized-keys" in config):
 
29
            raise EnvironmentsConfigError(
 
30
                "Environment config cannot define both authorized-keys "
 
31
                "and authorized-keys-path. Pick one!")
 
32
 
24
33
    def get_serialization_data(self):
25
34
        """Return a dictionary serialization of the provider configuration.
26
35
 
27
36
        Additionally this extracts credential information from the environment.
28
37
        """
29
 
        raise NotImplementedError()
 
38
        data = copy.deepcopy(self.config)
 
39
        data["authorized-keys"] = get_user_authorized_keys(data)
 
40
        data.pop("authorized-keys-path", None)
 
41
        return data
30
42
 
31
43
    def connect(self, share=False):
32
44
        """