ROADMAP 4.3 KB

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