8 third-party data sources
39 ###############################
54 if issue.status is "open":
55 issue.take_next_action()
61 action_list for issuetype (pcudown)
64 send email, apply penalty
66 send email, apply second penalty
70 action_list for issuetype (badhardware)
71 action_list for issuetype (dnserror)
72 action_list for issuetype (nodeconfig)
73 action_list for issuetype (oldbootcd)
75 action_list for issuetype (nodedown)
78 if pcuok, and reboot failed, set rins, reboot
80 create_issue pcubroken
83 send email, apply penalty
85 send email, apppy second penalty
91 * add a '--nocache' to the default set of options.
92 * add a cache parameter in the monitor.conf file.
97 * install openssh-server, passwd, perl-libwww-perl (for rt), rt-3.4.1, MySQL-python
98 * had to mount -t devpts devpts /dev/pts to get ssh to work inside the
99 chroot. also, disable the pam modules in /etc/pam.d/sshd
102 * auto configuration for php configuration.
103 maybe run translation of monitor.conf before loading monitorconfig.php?
106 * A setup script of some kind would be nice that walked through :
107 - writing monitorconfig.py
108 - creation of monitorconfig.php
111 - findbad.py on sample site.
116 - loads webpage for those retreived values to confirm setup succeeded.
118 * reimplement the config.py / .config mechanism. I'd like for many commands
119 to share very similar argument or argument sets, as well as have some
120 common config options. I'm not sure the best way to do this.
122 - features of config.py
123 * parse arguments and return an object with attributes equal to the
125 * maintain values consistently across modules at run time.
126 * have default values that are not specified at each run time.
127 * easy to import and use
129 - config module is available via 'import config' or as returned by
130 parsermodule.parse_args()
131 - python supports load-once modules, so subsequent imports refer to the
134 * have package pull in threadpool from easy_install
136 * place PKL files in a real database
138 * clean up plc.py; there's a lot of redundent code.
140 * figure out python paths for user commands.
141 - directories for pickle files.
142 - add user in rpm install
143 - user permissions for data files for day-to-day operations.
145 * fix BayTechCtrlCUnibe expect script.
147 * separate modules into different, logical categories, and create a python
148 module as part of the install:
157 * Add a more structured, 'automate' library of scripts and means of making
160 * add a third package for user tools that will interact with the Monitor
161 service. Mostly, I'm guessing this would be queries for the live status of
162 nodes and a more reliable 'reboot' and 'reinstall' mechanism than currently
166 * Find a better location to place and pull the PKL files currently in the pdb
167 directory. Ultimately, these should be stored in a real DB. Until then,
168 they should sit in a location that is accessible from the www scripts,
169 backend scripts, and user utilities.
170 * nodebad loads plc_hn2lb unconditionally
171 * nodeinfo loads act_all unconditionally
172 * change findbad.py default db name
173 * remove deps on www.printbadnodes
174 * reboot.py loads findbadpcus unconditionally.
175 * nodequery loads findbad unconditionally
176 * unified_model loads findbad unconditionally
178 * threadpool package.
179 * build cmdamt with g++ prior to packaging
181 * www/*.py need appropriate access to database.py, config.py, monitorconfig.py, etc.
182 - need to convert monitor.conf into monitorconf.sh and monitorconf.php
184 * pull out global configuration information from various files, like rt_db,
185 mailer.py, auth.py, and any others. Create a single configuration file
186 from which all others pull.
188 - convert plc and other files to use the new monitorconfig.py rather than
190 - need to alter all import 'auth' statements.