Beispiel #1
0
 def backup(self, path):
     if not os.path.isdir(path):
         raise Error, 'arguement needs to be a directory'
     pdb = PaellaDatabase(self.conn, path)
     pdb.backup(path)
     mh = MachineHandler(self.conn)
     mh.export_machine_database(path)
Beispiel #2
0
 def __init__(self, conn):
     self.conn = conn
     self.profile = Profile(self.conn)
     self.family = Family(self.conn)
     self.suite = None
     self.trait = None
     self.machine = MachineHandler(self.conn)
Beispiel #3
0
 def __init__(self, app, **atts):
     _MachineBaseDocument.__init__(self, app, **atts)
     self.machine = MachineHandler(self.conn)
     self._bgcolor_body = 'Salmon'
     self._bgcolor_section = 'IndianRed'
     self._other_section_font_color = 'DarkViolet'
     self._bgcolor_thead = 'MediumOrchid2'
     self._bgcolor_table = 'MediumOrchid3'
     self.body['bgcolor'] = self._bgcolor_body
Beispiel #4
0
 def restore(self, path):
     if not os.path.isdir(path):
         raise Error, 'arguement needs to be a directory'
     dbpath = join(path, 'database.xml')
     mdbpath = join(path, 'machine_database.xml')
     pp = PaellaProcessor(self.conn, self.cfg)
     pp.create(dbpath)
     mh = MachineHandler(self.conn)
     #md = mh.parse_xmlfile(mdbpath)
     mh.restore_machine_database(path)
Beispiel #5
0
 def import_client(self, client):
     cpath, ppath, fpath, tpath = self._cpaths_(client)
     profiles, families, traits = self._client_schema(client)
     mdbpath = join(cpath, 'machine_database.xml')
     if families:
         f = Family(self.conn)
         f.import_families(fpath)
     if profiles:
         importer = PaellaImporter(self.conn)
         importer.import_all_profiles(ppath)
     mh = MachineHandler(self.conn)
     md = mh.parse_xmlfile(mdbpath)
     mh.insert_parsed_element(md)    
Beispiel #6
0
 def import_client(self, client):
     cpath, ppath, fpath, tpath = self._cpaths_(client)
     profiles, families, traits = self._client_schema(client)
     mdbpath = join(cpath, 'machine_database.xml')
     if families:
         f = Family(self.conn)
         f.import_families(fpath)
     if profiles:
         pp = PaellaProcessor(self.conn, self.cfg)
         pp.main_path = cpath
         pp.insert_profiles()
     mh = MachineHandler(self.conn)
     md = mh.parse_xmlfile(mdbpath)
     mh.insert_parsed_element(md)
Beispiel #7
0
 def __init__(self, conn, cfg):
     object.__init__(self)
     self.conn = conn
     self.cfg = cfg
     self.machine = MachineHandler(self.conn)
     self.cursor = StatementCursor(self.conn)
     self.target = None
     self.installer = None
     self._mounted = None
     self._bootstrapped = None
     self.debmirror = self.cfg.get('debrepos', 'http_mirror')
     self._raid_setup = False
     self._raid_drives = {}
     self._enable_bad_hacks = False
     if self.cfg.is_it_true('installer', 'enable_bad_hacks'):
         self._enable_bad_hacks = True
Beispiel #8
0
 def __init__(self, conn):
     ChrootInstaller.__init__(self, conn)
     # the processes are mostly the same as in the
     # ChrootInstaller
     self._processes = list(DEFAULT_PROCESSES)
     pmap = dict(setup_disks=self.setup_disks,
                 mount_target=self.mount_target,
                 install_fstab=self.install_fstab,
                 install_modules=self.install_modules,
                 install_kernel=self.install_kernel
                 )
     self._process_map.update(pmap)
     self.machine = MachineHandler(self.conn)
     self.helper = None
     self._target_mounted = False
     self._disks_setup = False
Beispiel #9
0
 def __init__(self, conn):
     BaseChrootInstaller.__init__(self, conn)
     self.machine = MachineHandler(self.conn)
     self.processes = DEFAULT_PROCESSES
     self._process_map = {
         'setup_disks': self.setup_disks,
         'mount_target': self.mount_target,
         'bootstrap': self.bootstrap_target,
         'make_device_entries': self.make_device_entries,
         'apt_sources_installer': self.setup_apt_sources_installer,
         'ready_base': self.ready_base_for_install,
         'mount_target_proc': self.mount_target_proc,
         'install': self.install_to_target,
         'install_fstab': self.install_fstab,
         'install_modules': self.install_modules,
         'install_kernel': self.install_kernel,
         'apt_sources_final': self.setup_apt_sources_final,
         'umount_target_proc': self.umount_target_proc
     }
     self.helper = None
Beispiel #10
0
 def __init__(self, app, **atts):
     BaseDocument.__init__(self, app, **atts)
     self.machine = MachineHandler(self.conn)
Beispiel #11
0
from useless.base.path import path

from paella.base import PaellaConfig
from paella.db import PaellaConnection
from paella.db.trait import Trait
from paella.db.family import Family
from paella.db.profile import Profile
from paella.db.machine import MachineHandler
from paella.db.installer import InstallerManager

from paella.db import DefaultEnvironment

from paella.installer.toolkit import InstallerTools

if __name__ == '__main__':
    cfg = PaellaConfig()
    conn = PaellaConnection()
    suite = 'bootstrap'
    t = Trait(conn, suite)
    f = Family(conn)
    p = Profile(conn)
    m = MachineHandler(conn)
    de = DefaultEnvironment(conn)
    im = InstallerManager(conn)

    #os.environ['PAELLA_MACHINE'] = 'testmachine'
    os.environ['PAELLA_PROFILE'] = 'default'
    os.environ['PAELLA_TARGET'] = path('/foo/bar')
    it = InstallerTools()