Automate initial user/project setup from setup-db.txt. Rather then
have the user go through a set of hard to explain steps, just push them through it using the web interface. * New sitevars to control a little state machine used by the web interface. * When first setting up a testbed, the sitevar value will force the web interface to present the user with a single menu option "Create New Project" and the "Home" link will take the user to that page. The user is instructed to login is as elabman. * The user fills in the form as directed in setup-ops.txt. Even though he is logged in as elabman, the newproject form has been altered to operate as if no one is logged in. I also default a bunch more of the fields in this case. * The user submits the form. Rather then pend the new project, just jump straight into approveproject. That grinds along as usual, and when it is done, the elabman account is frozen and the user logged out. The user gets a link inviting him to log back in as the user just created. * Side effects of this new process: * The user is made an admin user (admin=1) automatically. * The user is added to the emulab-ops project as group_root. * The user verification process is skipped. * The user is added to the unixgroups wheel and tbadmin. * I reworked this entire section of setup-db.txt ... * The user still needs to give himself a real shell and password on boss, but I left that for the user to do explicitly. I also drop in a pointer to the shellonboss.txt. I might automate this part too at some point. Not sure yet.
Showing with 307 additions and 148 deletions