Switch to side-by-side view

--- a
+++ b/scripts/prep-scm-sandbox.py
@@ -0,0 +1,70 @@
+import os
+import string
+
+HOME=os.environ['HOME']
+
+USERS=['user%.2d' % i for i in range(1, 21) ]
+USERS += [
+    'admin1', 'admin2',
+    'dovethunder', 'dovetail', 'dovestream', 'dovetree', 'dovespangle',
+    'dovemeade', 'dovestar', 'dovebuyer', 'dovesomething', 'dovesweet', 'dovewood' ]
+SSH_CONFIG = '%s/.ssh/config' % HOME
+LDIF_FILE = '%s/users.ldif' % HOME
+KEYFILE='%s/.ssh/allura_rsa' % HOME
+
+def main():
+
+    # Generate ssh key for SCM login
+    os.system('cp %s %s.bak' % (SSH_CONFIG, SSH_CONFIG))
+    with open(SSH_CONFIG) as fp:
+        lines = fp.readlines()
+    new_lines = [
+        SSH_TMPL.substitute(
+            sb_host=sb_host,
+            sb=sb,
+            veid='%d0%.2d' % (sb_host, sb))
+        for sb_host in 5,6,7,9
+        for sb in range(99) ]
+    new_lines = '\n'.join(new_lines)
+    found_star = False
+    with open(SSH_CONFIG, 'w') as fp:
+        for line in lines:
+            if not found_star and line.startswith('Host *'):
+                print >> fp, new_lines
+                found_star = True
+            print >> fp, line.rstrip()
+        if not found_star:
+            print >> fp, new_lines
+    os.system("ssh-keygen -t rsa -b 2048 -N '' -f %s" % KEYFILE)
+
+    # Generate ldif
+    pubkey = open(KEYFILE + '.pub').read()
+    with open(LDIF_FILE, 'w') as fp:
+        for user in USERS:
+            print >> fp, LDIF_TMPL.substitute(
+                user=user, pubkey=pubkey)
+
+    # Update LDAP
+    assert 0 == os.system('/usr/local/sbin/ldaptool modify -v -f %s' % LDIF_FILE)
+
+SSH_TMPL=string.Template('''
+Host svn*-$veid svn*-${veid}.sb.sf.net
+  Hostname 10.58.${sb_host}.${sb}
+  Port 16
+  IdentityFile ~/.ssh/allura_rsa
+
+Host git*-$veid git*-${veid}.sb.sf.net
+  Hostname 10.58.${sb_host}.${sb}
+  Port 23
+  IdentityFile ~/.ssh/allura_rsa
+''')
+
+LDIF_TMPL=string.Template('''
+dn: cn=$user,ou=users,dc=sf,dc=net
+changetype: modify
+add: sshPublicKey
+sshPublicKey: $pubkey
+''')
+
+if __name__ == '__main__':
+    main()