new repository root
[monitor.git] / todo
1
2 TODO:
3  * install openssh-server, passwd, perl-libwww-perl (for rt), rt-3.4.1,  MySQL-python
4         * had to mount -t devpts devpts /dev/pts to get ssh to work inside the
5           chroot. also, disable the pam modules in /etc/pam.d/sshd
6
7  * blue
8  * auto configuration for php configuration.  
9         maybe run translation of monitor.conf before loading monitorconfig.php?
10  * blue2
11
12  * A setup script of some kind would be nice that walked through : 
13     - writing monitorconfig.py
14         - creation of monitorconfig.php
15         - run syncplcdb.py
16         - testapi.py
17         - findbad.py on sample site.
18         - nodebad.py
19         - findbadpcus.py
20         - nodequery.py
21         - nodegroups.py
22         - loads webpage for those retreived values to confirm setup succeeded.
23
24  * reimplement the config.py / .config mechanism.  I'd like for many commands
25    to share very similar argument or argument sets, as well as have some
26    common config options.  I'm not sure the best way to do this.
27     
28          - features of config.py
29                 * parse arguments and return an object with attributes equal to the
30                   parser values.
31                 * maintain values consistently across modules at run time.
32                 * have default values that are not specified at each run time.
33                 * easy to import and use
34
35          - config module is available via 'import config' or as returned by
36                   parsermodule.parse_args()
37      - python supports load-once modules, so subsequent imports refer to the
38           same module object.
39            
40  * have package pull in threadpool from easy_install
41
42  * place PKL files in a real database
43
44  * clean up plc.py; there's a lot of redundent code.
45
46  * figure out python paths for user commands.
47    - directories for pickle files.
48    - add user in rpm install
49    - user permissions for data files for day-to-day operations.
50
51  * fix BayTechCtrlCUnibe expect script.
52
53  * separate modules into different, logical categories, and create a python
54    module as part of the install:
55                 command line, 
56                 configuration, 
57                 policy, 
58                 data model, 
59                 data access,
60                 object interfaces.
61
62 Lower priority:
63  * Add a more structured, 'automate' library of scripts and means of making
64    batch calls, etc.
65
66  * add a third package for user tools that will interact with the Monitor
67    service.  Mostly, I'm guessing this would be queries for the live status of
68    nodes and a more reliable 'reboot' and 'reinstall' mechanism than currently
69    availble with PLC.
70
71 Done:
72  * Find a better location to place and pull the PKL files currently in the pdb
73    directory.  Ultimately, these should be stored in a real DB.  Until then,
74    they should sit in a location that is accessible from the www scripts,
75    backend scripts, and user utilities.
76  * nodebad loads plc_hn2lb unconditionally
77  * nodeinfo loads act_all unconditionally
78  * change findbad.py default db name
79  * remove deps on www.printbadnodes
80  * reboot.py loads findbadpcus unconditionally.
81  * nodequery loads findbad unconditionally
82  * unified_model loads findbad unconditionally
83
84  * threadpool package.
85  * build cmdamt with g++ prior to packaging
86
87  * www/*.py need appropriate access to database.py,  config.py, monitorconfig.py, etc.
88         - need to convert monitor.conf into monitorconf.sh and monitorconf.php
89
90  * pull out global configuration information from various files, like rt_db,
91    mailer.py,  auth.py, and any others.  Create a single configuration file
92    from which all others pull.
93
94    - convert plc and other files to use the new monitorconfig.py rather than
95      auth, or plc.*
96    - need to alter all import 'auth' statements.