aboutsummaryrefslogtreecommitdiffstats
path: root/tools/python/xen/xend/XendDomainConfig.py
blob: 35db31ff51e6ec9fdacc57605b576131cef78519 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>

"""Handler for persistent domain configs.

"""

import sxp
import XendDB
import XendDomain

__all__ = [ "XendDomainConfig" ]

class XendDomainConfig:

    dbpath = 'config'

    def __init__(self):
        self.db = XendDB.XendDB(self.dbpath)

    def domain_config_ls(self, path):
        return self.db.ls(path)

    def domain_config_create(self, path, sxpr):
        self.db.save(path, sxpr)
        pass

    def domain_config_delete(self, path):
        self.db.delete(path)

    def domain_config_instance(self, path):
        """Create a domain from a config.
        """
        config = self.db.fetch(path)
        xd = XendDomain.instance()
        newdom = xd.domain_create(config)
        return newdom

def instance():
    global inst
    try:
        inst
    except:
        inst = XendDomainConfig()
    return inst