Statistics
| Branch: | Tag: | Revision:

root / image_creator / os_type / __init__.py @ aa2062ba

History | View | Annotate | Download (1 kB)

1
#!/usr/bin/env python
2

    
3
class OSBase(object):
4
    def __init__(self, rootdev, ghandler):
5
        self.root = rootdev
6
        self.g = ghandler
7

    
8
    def get_metadata(self):
9
        meta = {}
10
        meta["OSFAMILY"] = self.g.inspect_get_type(self.root)
11
        meta["OS"] = self.g.inspect_get_distro(self.root)
12
        meta["description"] = self.g.inspect_get_product_name(self.root)
13

    
14
        return meta
15

    
16
    def mount_all(self):
17
        mps = g.inspect_get_mountpoints(self.root)
18
        # Sort the keys to mount the fs in a correct order.
19
        # / should be mounted befor /boot, etc
20
        def compare (a, b):
21
            if len(a[0]) > len(b[0]): return 1
22
            elif len(a[0]) == len(b[0]): return 0
23
            else: return -1
24
        mps.sort(compare)
25
        for mp, dev in mps:
26
            try:
27
                self.g.mount(dev, mp)
28
            except RuntimeError as msg:
29
                print "%s (ignored)" % msg
30

    
31
    def cleanup_sensitive_data(self):
32
        raise NotImplementedError
33

    
34
# vim: set sta sts=4 shiftwidth=4 sw=4 et ai :