def get_devinfo(devfn, all_part_infor): if not devfn: return AttrDict() from miutils.miconfig import MiConfig CONF = MiConfig.get_instance() CONF_FSTYPE_MAP = CONF.LOAD.CONF_FSTYPE_MAP for dev in all_part_infor: for tup in all_part_infor[dev]: if '%s%s' % (dev, tup[0]) == devfn: r = AttrDict() r['dev'] = devfn r['parted_fstype'] = tup[6] r['mountpoint'] = tup[7] r['not_touched'] = tup[8] try: r['fstype'] = CONF_FSTYPE_MAP[tup[6]][0] r['flags'] = CONF_FSTYPE_MAP[tup[6]][4] except KeyError: raise KeyError, 'Unregconized filesystem type %s.' % tup[6] return r raise KeyError, 'Device %s not exists in all_part_infor.' % devfn
#!/usr/bin/python import os from miutils.miconfig import MiConfig CONF = MiConfig.get_instance() CONF_TGTSYS_ROOT = CONF.LOAD.CONF_TGTSYS_ROOT from miutils.miregister import MiRegister register = MiRegister() from miserver.utils import Logger Log = Logger.get_instance(__name__) dolog = Log.i @register.server_handler('long') def setup_accounts(mia, operid, rootpasswd, acclist): # Error detect is not implemented yet. password = rootpasswd password = password.replace("'", """'"'"'""") # escape ' to '"'"' os.system('/usr/sbin/chroot %s /usr/sbin/pwconv' % CONF_TGTSYS_ROOT) #This is ugly, remove it #os.system('/bin/sed 1d /tmpfs/tgtsys/etc/passwd > /tmpfs/tgtsys/etc/passwd.bk') #os.system('/bin/mv -f /tmpfs/tgtsys/etc/passwd.bk /tmpfs/tgtsys/etc/passwd') #os.system('/usr/sbin/chroot /tmpfs/tgtsys /usr/sbin/useradd -g root -s /bin/bash -d /root -u 0 root') os.system("echo '%s' | /usr/sbin/chroot %s /usr/bin/passwd --stdin root" % \ (password, CONF_TGTSYS_ROOT)) # copy missing skel files to /root os.system('/usr/sbin/chroot %s /bin/sh -c ' % CONF_TGTSYS_ROOT + \ '"shopt -s dotglob; /bin/cp -a /etc/skel/* /root/"') # add normal users for (username, password, shell, homedir, realuid) in acclist: cmd = '/usr/sbin/chroot %s /usr/sbin/useradd -s %s -d %s %s -G users,fuse,uucp %s' % \
def test_getconf(): CONF = MiConfig.get_instance() CONF.load_from_file('config.ini') import pdb; pdb.set_trace() CONF.dump()