diff options
Diffstat (limited to 'ROADMAP')
| -rw-r--r-- | ROADMAP | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/ROADMAP b/ROADMAP deleted file mode 100644 index 6378ec74..00000000 --- a/ROADMAP +++ /dev/null | |||
| @@ -1,117 +0,0 @@ | |||
| 1 | |||
| 2 | Releases in the 1.3 series will be for development. Version 1.4.0 will | ||
| 3 | be the next full production release. I am not planning on dates right now, | ||
| 4 | but you can expect maintennence releases for 1.2.9 as well. | ||
| 5 | |||
| 6 | With that done, it's time to figure out what we are doing for release | ||
| 7 | 1.3 development. I have a few ideas. Maybe others do as well. | ||
| 8 | |||
| 9 | DOCUMENTATION: | ||
| 10 | We pretty much have decided that we will doing something along | ||
| 11 | the lines of a literate programming model. So far, we have site | ||
| 12 | documentation in DocBook. I have some ideas here, which I will | ||
| 13 | discuss in a separate thread. | ||
| 14 | |||
| 15 | |||
| 16 | |||
| 17 | OPTION PROCESSING: | ||
| 18 | I believe we can remove reverse compatibility for non-Getopt | ||
| 19 | option specifications. For example, 'check_ping 1 2 3 4 -p 2' | ||
| 20 | would not be supported anymore. Support for this is a hack, | ||
| 21 | and making it portable is bug-prone. We should also review | ||
| 22 | standardization of our options -- the current list is a little | ||
| 23 | ad hoc, it should be nailed down. Details in a separate thread. | ||
| 24 | |||
| 25 | Also, | ||
| 26 | |||
| 27 | check_http -p 443 --ssl www.infoplease.com | ||
| 28 | |||
| 29 | should be fine, but if the getopt in use does not natively support it, | ||
| 30 | things like | ||
| 31 | |||
| 32 | check_http www.infoplease.com -p 443 --ssl | ||
| 33 | |||
| 34 | should be trapped and result in a call to one of the usage macros | ||
| 35 | (which print a message and then exit STATE_UNKNOWN). | ||
| 36 | |||
| 37 | This means that the call_getopt() function can go away. It's an | ||
| 38 | inconsistent mess and I'd love to ditch it. I only created it to | ||
| 39 | satisfy people that wanted reverse compatibility and did not have | ||
| 40 | GNU getopt. | ||
| 41 | |||
| 42 | But I would like to urge that all standard plugins contain | ||
| 43 | validate_arguments(). I think this will help convey the idea that | ||
| 44 | validations should be done, even if we don't insist on the specific | ||
| 45 | extent that each plugin must do that validation. | ||
| 46 | |||
| 47 | This is the set of standard options I envision: | ||
| 48 | |||
| 49 | Reserved: | ||
| 50 | |||
| 51 | -h, --help (REQUIRED!!!!!) | ||
| 52 | -V, --version (REQUIRED!!!!!) | ||
| 53 | -v, --verbose | ||
| 54 | -q, --quiet | ||
| 55 | -t, --timeout = INTEGER (senonds) | ||
| 56 | -c, --critical = (INT|FLOAT|RANGE|LIST) | ||
| 57 | -w, --warning = (INT|FLOAT|RANGE|LIST) | ||
| 58 | -H, --hostname = STRING | ||
| 59 | -F, --file = STRING (usually input) | ||
| 60 | -O, --output = STRING (output file) | ||
| 61 | |||
| 62 | Recommended, but not reserved: | ||
| 63 | |||
| 64 | -I, --ipaddress = STRING | ||
| 65 | -C, --community = STRING | ||
| 66 | -a, --auth(info) = STRING (authentication or password) | ||
| 67 | -l, --logname = STRING | ||
| 68 | -p, --password = STRING | ||
| 69 | -P, --port = INT | ||
| 70 | -u, --url = STRING (also --username if --url is not needed) | ||
| 71 | |||
| 72 | I am suggesting that port always be '-P' (uppercase) -- we are | ||
| 73 | currently inconsistent in that regard. | ||
| 74 | |||
| 75 | I am also adding '-q' for silent running. This is totally self | ||
| 76 | centered--I am planning to use a plugin in a cron script, and I | ||
| 77 | don't want nightly emails. | ||
| 78 | |||
| 79 | As has been the case, ranges are specified with colons, like 'i:j' | ||
| 80 | and list are specified with commas like 'i,k' and may contain ranges | ||
| 81 | if it makes sense to do so. Perhaps it would be good to build a | ||
| 82 | standard list/range processing function for this task. | ||
| 83 | |||
| 84 | |||
| 85 | Programming: | ||
| 86 | I would like to follow the GNU guidelines and remove all fixed | ||
| 87 | length character assignments, at least to the extent possible, | ||
| 88 | from the C-based plugins. To that end, I have made strscpy and | ||
| 89 | friends in utils.c -- I'd like to deploy them. I have comments | ||
| 90 | that there is a lot of duplicated code, and techniques used that | ||
| 91 | should be cleaned up. Details in a separate thread. | ||
| 92 | |||
| 93 | Remote checks: | ||
| 94 | I have a proposal in hand to incorporate ssh check into spopen() | ||
| 95 | so that remote machine checks can be seamless. A nice idea, but | ||
| 96 | complex enough to require discussion. Another thread. | ||
| 97 | |||
| 98 | I also have a wish list, and I'm sure I've forgot some items. I'll | ||
| 99 | list mine, please respond with other items that can be put into the | ||
| 100 | sourceforge task manager: | ||
| 101 | |||
| 102 | Indent all code in a GNU-compatible manner (indent -ts 2 -br) | ||
| 103 | Add RAND_seed to check_http for --ssl on systems without /dev/random | ||
| 104 | Add regex filtering to check_procs --args option | ||
| 105 | Add working procs syntax for AIX check_procs | ||
| 106 | Allow check_disk to exclude non-local disks | ||
| 107 | Add md5 checksumming to check_http | ||
| 108 | Complete unification of check_tcp and friends | ||
| 109 | Add SSL in a general way to check_tcp and friends | ||
| 110 | Patches to check_log from Joonas | ||
| 111 | Add calculator engine and snmpwalk to check_snmp | ||
| 112 | Is there a bug in check_oracle | ||
| 113 | Are there outstanding bugs in check_snmp | ||
| 114 | Change check_http --onredirect to default as STATE_UNKNOWN | ||
| 115 | Create plugin to check tftp servers | ||
| 116 | Create plugin wrapper to invert error status | ||
| 117 | |||
