basic API for testbed design.
[nepi.git] / src / nepi / core / controller.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # vim:ts=4:sw=4:et:ai:sts=4
4
5 #TODO: DEF ERRORCODES
6 #TODO: DEF PROTOCOL
7
8 class Controller(object):
9     def __init__(self):
10         self._testbeds = dict()
11
12     def create_testbed(self, guid, testbed_id, config, access_config = None):
13         # TODO: proxy
14         # guid: guid of the associated backend
15         self._testbeds[guid] = testbed
16
17     def destroy_testbed(self, guid):
18         tesbed = self._testbeds[guid]
19         tesbed.shutdown()
20         del self._testbeds[guid]
21
22     def forward(self, guid, instruction):
23         #TODO:
24         pass
25
26     def forward_batch(self, guid, batch):
27         raise NotImplementedError
28
29     def start(self):
30         raise NotImplementedError
31
32     def stop(self):
33         raise NotImplementedError
34
35     def status(self):
36         raise NotImplementedError
37
38     def shutdown(self):
39         raise NotImplementedError
40