~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to remakeallusers.py

  • Committer: William Grant
  • Date: 2008-07-07 04:55:07 UTC
  • mfrom: (unknown (missing))
  • Revision ID: wgrant@ugrad.unimelb.edu.au-20080707045507-wca484wpjxppy7ln
Merge jails-redux branch. We now use aufs rather than hardlinking tens
of thousands of jail files hundreds of times.

Reconfiguration and reconstruction of all jails will be required.
Probably a good idea to start jails from scratch if possible.

Show diffs side-by-side

added added

removed removed

Lines of Context:
58
58
    logging.error(str(message))
59
59
    sys.exit(1)
60
60
 
61
 
# First check that our __templateuser__ directory exits, if not create it
62
 
templateuserdir = os.path.join(conf.jail_base, '__templateuser__')
63
 
stagingdir = templatedir = os.path.join(conf.jail_base, '__staging__')
64
 
if not os.path.isdir(templateuserdir):
65
 
    os.mkdir(templateuserdir)
66
 
 
67
 
# Generate manifest of files that differ between template user and staging
68
 
if options.incremental:
69
 
    logging.info("incremental rebuild started")
70
 
    manifest = common.makeuser.generate_manifest(stagingdir, templateuserdir)
71
 
    logging.debug("generated change manifest")
72
 
    logging.debug("  adding/updating: %s" % manifest[0])
73
 
    logging.debug("  removing: %s" % manifest[1])
74
 
else:
75
 
    # Force a full rebuild
76
 
    logging.info("full rebuild started")
77
 
    manifest = None
 
61
logging.info("rebuild started")
78
62
 
79
63
list.sort(key=lambda user: user.login)
80
64
for user in list:
82
66
 
83
67
    try:
84
68
        # Resolve the user's login into a UID
85
 
        # Create the user if it does not exist
86
69
        try:
87
70
            uid = uids[login]
88
71
        except KeyError:
89
72
            raise Exception("user %s does not have a unixid in the database"
90
73
                % login)
91
74
        # Remake the user's jail
92
 
        common.makeuser.make_jail(login, uid, manifest=manifest)
 
75
        common.makeuser.make_jail(login, uid)
93
76
    except Exception, message:
94
77
        logging.warning(str(message))
95
78
        continue
96
79
 
97
80
    logging.debug("recreated user %s's jail." % login)
98
81
    
99
 
# Update the template user directory
100
 
logging.debug("updating templateuser directory")
101
 
shutil.rmtree(templateuserdir)
102
 
#common.makeuser.linktree(stagingdir, templateuserdir)
103
 
common.makeuser.make_jail('__templateuser__', 0, manifest=manifest)
104
 
shutil.rmtree(os.path.join(templateuserdir, 'home'))
105
 
 
106
82
logging.info("rebuild completed successfully")