The back end script is written in Python and runs once an hour via cron. Its purpose is to update the database and carry out those actions, when necessary, on the head node of the Beowulf cluster. The reason this functionality is separated out from the web scripts is that the backend script requires root access to the Beowulf. Hopefully, this separation will help keep possible exploits to a minimum.
The script has three main peaces of functionality. In order of execution they are addusers to the Beowulf, upgrade users on the Beowulf, and remove users from the Beowulf. Adding users removes the ID of the person to add from the "access_list" table, adds the user on the Beowulf, sends email to the user and Remedy, and drops that ID into the "users.provis" table. Upgrading users takes the IDs from "upgrade_list" and increases their quota and adds the upgraded users to the "users.real" table. Proper checks and removals are also done to the "users.provis" table. Remove users attempts to remove all users found in the "remove_list" table from the cluster and their user IDs from either "users.real" or "users.provis."
The back end script started out rather messy but got decently clean when more functionality was added. (Lots of refactoring.) Currently, it supports all the features found in the web pages but will surely grow in the future. Very soon it will most likely be broken into multiple files.
| <<< Previous | Home | Next >>> |
| Package Details | The Database |