TODO: * make 'automate.sh' be the real automate script for cron. * install the right version of RT tools as a dependency? * www/*.py need appropriate access to database.py, config.py, monitorconfig.py, etc. * build cmdamt with g++ prior to packaging * install openssh-server, passwd, perl-libwww-perl (for rt), rt-3.4.1, MySQL-python * had to mount -t devpts devpts /dev/pts to get ssh to work inside the chroot. also, disable the pam modules in /etc/pam.d/sshd * threadpool package. * reboot.py loads findbadpcus unconditionally. * unified_model loads findbad unconditionally * nodequery loads findbad unconditionally * remove deps on www.printbadnodes * change findbad.py default db name * nodebad loads plc_hn2lb unconditionally * nodeinfo loads act_all unconditionally * A setup script of some kind would be nice that walked through : - writing monitorconfig.py - creation of monitorconfig.php - run syncplcdb.py - testapi.py - findbad.py on sample site. - loads webpage for those retreived values to confirm setup succeeded. * reimplement the config.py / .config mechanism. i'd like for many commands to share very similar argument or argument sets, as well as have some common config options. I'm not sure the best way to do this. - features of config.py * parse arguments and return an object with attributes equal to the parser values. * maintain values consistently across modules at run time. * have default values that are not specified at each run time. * easy to import and use - config module is available via 'import config' or as returned by parsermodule.parse_args() - python supports load-once modules, so subsequent imports refer to the same module object. * Find a better location to place and pull the PKL files currently in the pdb directory. Ultimately, these should be stored in a real DB. Until then, they should sit in a location that is accessible from the www scripts, backend scripts, and user utilities. * clean up plc.py; there's a lot of redundent code. * figure out python paths for user commands. - directories for pickle files. - add user in rpm install - user permissions for data files for day-to-day operations. * fix BayTechCtrlCUnibe expect script. Lower priority: * Add a more structured, 'automate' library of scripts and means of making batch calls, etc. * add a third package for user tools that will interact with the Monitor service. Mostly, I'm guessing this would be queries for the live status of nodes and a more reliable 'reboot' and 'reinstall' mechanism than currently availble with PLC. Done: * pull out global configuration information from various files, like rt_db, mailer.py, auth.py, and any others. Create a single configuration file from which all others pull. - convert plc and other files to use the new monitorconfig.py rather than auth, or plc.* - need to alter all import 'auth' statements.