1 ########################
3 #######################
9 *Add : Downtime for contacts
10 *Add : Escalations based on time, with notification period shorting capabilities
11 *Add : options allowed_hosts and max_logs_age to the livestatus broker
12 *Add : some rarely used operators to the livestatus module (!>=)
13 *Add : SSL connexions between daemons with certificates and a CA
14 *Add : module exception/kill catch in the scheduler.
15 *Add : use the binary format for the pickle, so it take less space.
16 *Add : (Hartmut Goebel) use universal open way for conf reading.
17 *Add : support for unix sockets to the livestatus module
18 *Add : criticity value for host/services, with problem/impacts max criticity management
19 *Add : min_criticity definition in cotnact and notificationways.
20 *Add : pylint and coverage pass in the integration server
21 *Add : the new column pnpgraph_present to the livestatus module
22 *Add : now create the pickle retention file with a .tmp, so in case of problem, we do not lost the old one.
23 *Add : event handlers command can now be send by external commands
26 *Fix : (Laurent Guyon) select with no timeout in NSCA arbiter module.
27 *Fix : shinken init script: enable use of another "default" shinken file than hardcoded one by env variable.
28 *Fix : (current_service_groups needs to return an empty list instead of string) in the livestatus module
29 *Fix : 'setup.py -h install' now also exit
30 *Fix : () crash for some bad conf, should raise a message instead.
31 *Fix : missing check for no args in 'shinken' init script
32 *Fix : a bug in livestatus Servicegroup.members, minor cosmetics, test case for thruk
33 *Fix : a bug in host.parents livestatus representation to make thruk happy
34 *Fix : check for /dev/shm access for the satellites.
35 *Clean : Redesign of the livestatus module
36 *Fix : testing with multisite and thruk
37 *Clean: factorized .is_correct() call for all object types & added log to see more clearly wherer the error is.
38 *Clean: factorization/simplification of code in action.py (and related) for spawning checks processes.+ clean of old deprecated commented code (& "related" too).
39 *Fix : downtime and comment are now pickle in a dict, not a list.
40 *Fix : pickle pass for look at tyype, so downtime and comment from 0.4 still ok.
41 *Fix : acknoledge got too much information in the pickle pass, making the pickle save very very huge. Now fit from 100Mo to..2Mo :)
42 *Clean : big clean of hasattr->getattr with default value
43 *Clean : repalce dict for properties with real objects
44 *Fix : Implement in_check_period/in_notification_period for livestatus to make multisite happy
45 *Fix : Remove a leftover atribute from timeperiod&daterange
46 *Fix : Transmit dateranges in timeperiod-full_status-broks
47 *Fix : Replaced the deprecated StatsGroupBy, implemented Stats: for log entries, making Multisite happy with shinken-livestatus
48 *Fix : manage the 'null' for inheritance.
49 *Fix : add timeout to the status_dat module so that the status.dat is written even if no broks are sent.
50 *Fix : escalations were offset of notif number by -1.
51 *Fix : Replace Queue with an own implementation of LifoQueue for Python 2.4 (livestatus)
52 *Fix : Fallback to sqlite 1.x for Python 2.4 (livestatus)
53 *Fix : bug in the table structure where logging messages are kept (livestatus)
54 *Fix : problem/impacts should be list, not string.
55 *Fix : missing customs values in host/service tables in livestatus and Thruk was not happy.
56 *Fix : is_impact/is_problem got bad format in lviestatus tables.
57 *Fix : (Kristoffer Moegle) missing check in generic object configuration module.
58 *Fix : a bug in livestatus. Catch the exception if a peer is not listening for the response
59 *Fix : support for hosts without check_command (assumed to be always up)
60 *Fix : hostgroup realm assoc was broken. Now it's tested.
61 *Fix : (Maximilien Bersoult) fix mysql_db module search path.
62 *Fix : bug in compensate time when thecore got event handler
63 *Fix : a bug in the npcd module (spoolfile timestamp extension was float, not int)
64 *Fix : windows registry paths.
65 *Fix : problem with Nagios retention that was not happy about host properties type.
66 *Fix : pickle/nagios retention was loading a retention host/service in the comment.ref link!
67 *Fix : now only previously notified contacts are send for recovery notifications.
68 *Fix : bug in NDO module for hostgroups
69 *Fix : (0.5.1) bugs in LiveStatus module for Service get_full_name call and queries with no space after :
74 *Add : Service generators
75 *Add : "Limit :" in livestatus
76 *Add : the scheduler now save retention data before stop or take a new conf
77 *Add : the broker clean quit the modules before quitting
78 *Add : better output to know which external process for the broker is who in the log
79 *Add : NodeSet lib use if available for the [X-Y] keys in service generators.
80 *Add : retention modules, Memcache, Redis or simple file.
81 *Add : lot of tests, even a end_to_end one for Ha and load balanced installations
82 *Add : user can put what he want as MACRO in resources.cfg
83 *Add : lot of log output, and clean a lot of others
84 *Add : conf sample for PNP integration.
85 *Add : (Nicolas Dupeux) add a NSCA server module for the Arbiter! (only XOR and none encryption from now)
86 *Add : now the retention_update_interval parameter is managed.
87 *Add : the ! character before a host_name is now managed in the services. (even if host was defined in a hostgroup). And with test.
88 *Add : perfdata command management for host/service
89 *Add : manage modules in the Arbtier and in the schedulers
90 *Add : nowthe whole documentation is done in the wiki
91 *Add : obsess_over_host/service and executing oc*p_commands like eventhandlers
92 *Add : "templates" and modes and more for service/host perf data module.
93 *Add : now host with no address are fill with host_name for this value.
94 *Add : timeperiod inheritance
95 *Add : Allow "members *" in a hostgroup definition
96 *Add : manage inherit_parents for dependencies.
97 *Add : system time change catch for satellites.
98 *Add : enable_environment_macros now create or not the env dict for checks
99 *Add : O*HP command management
102 *Fix : Some missing properties in the livestatus tables
103 *Fix : Some missing properties in the NDO/Mysql export
104 *Fix : parents property was not stripped(), and a error value was not catched as error
105 *fix : missing some errors catch in contact definitions
106 *Fix : Nagios allow contact_name to miss if there is an alias
107 *Fix : Nagios allow a contact with no 'action' if his options are n/n
108 *Fix : Resolv macro can loop forever with special output. Now limit it at 32 loop max!
109 *Fix : the env_macros were enable if we use the tweaks, not good. And they are REALLY CPU killers.
110 *Fix : LiveStatus : do not close the socket before we are sure the other peer send us nothing. If so, we can close it.
111 *Fix : solve a case where config files do not end with a line return and will mix parameters.
112 *Fix : broker spare not look at pollers/reactionners when he come active.
113 *Fix : now the poller/reactionner REALLY raise broks to the broker (it was clear before...)
114 *Fix : bug in the Broker that make in some cases broks lost for extarnal modules if they come from the arbiter. (like logs)
115 *Fix : add a workaround to the livestatus module so it can handle requests from thruk 0.71.1 (which uses strange Stats: requests)
116 *Fix : rename all 'binaries' without the .py extention so distrib will be happy.
117 *Fix : livestatus work now with Python 2.4
118 *Fix : (Hermann Lauer) important bug in status.dat (and in fact all other 'external modules') that make the brok not manage in the good order in some case or Arbtier restart. Thanks a lot to Hermann Lauer that help me a LOT with all the debug logs!
119 *Fix : (Zoran Zaric) big indentation cleanup
120 *Fix : error handling in timeperiod inheritance
121 *Fix : clean on the default configuration
122 *Fix : manage additional_freshness_latency parameter with a test for check_freshness now.
123 *Fix : setup.py can create a zip file (egg) for the librairy under Centos. It's not a good thing. It should avoid it
124 *Fix : From Nicolas Dupeux : error in livestatus split.
125 *Fix : From Nicolas Dupeux : fix typos in host code
133 *Add : complex hostgroup amtching with & ( ) | !
134 *Add : resultmodulation code and tests
135 *Add : brok information about problem/impacts
136 *Add : livestatus export about problem/impacts
137 *Add : clean quit on daemons (pid file and sub processes)
138 *Add : maintenance_period parameter in hosts and services
139 *Add : even more unit test cases
140 *Add : now external commands raised in livestatus module are taken by the arbiter
141 *Add : satellites states are now exported by livestatus
142 *Add : arbiter module managment
143 *Add : GLPI import arbiter module :)
144 *Add : notificationways for contacts
145 *Add : warning about unmanaged parameters
146 *Add : log rotation and syslog managment
150 *Fix : install crash is now catch with Pyro 4 in Centos (python 2.4)
151 *Fix : host/service dep where not filled with default properties
152 *Fix : catch realm configuration errors
153 *Fix : but in status.dat about parents printing
154 *Fix : problem with the Collums talbe in livestatus module
155 *Fix : next valid time was one minute delay for cases with excludes
156 *Fix : livestatus export in json was bad for service group members
157 *Fix : bug in windows check launch
158 *Clean : dispatcher code about useless options
159 *Clean : tests cases setUp
166 *Installation is easy with the setup.py process (first version from Maximilien Bersoult)
167 *Now compatible with Pyro 3 AND 4
168 *Now compatible with Python 2.4 and 2.5 too
169 *Add sticky acknowledgement. Non-permanent ack-comments are now automatically removed
170 *Add host acknowledgement and acknowledgement stickiness
171 *Finished service problem acknowledgement. one more testcase
172 *Add REMOVE_HOST/SVC_ACKNOWLEDGEMENT external command
173 *Now broker get broks from pollers and reactionners. (Useful for Logs)
174 *Give Broker a way to make broks :) (like for it's own log)
175 *Add a problem/incident change states when apply. But it do not interfer with the standard check way of doing (or at least should not).
176 *Add some LSB init.d scripts
177 *Add max_plugins_output_length parameter to limit the checks output size.
178 *"Hack" the old nagios parameters : now status_file and nagios_log are catched. If the user defined them, but do not defined the good broker modules, we create them "on the fly". I hope one day we will remove it...
179 *Nested macros are managed (like USERN in ARGN macro).
180 *Add a pass about changing Nagios2 properties to Nagios3 ones.
181 *Add json outputformat to the livestatus module
182 *Add a broker module npcdmod (plus test_npcdmod) which writes a perfdata file suitable for pnp4nagios
183 *Add check_period implicitly inheritate to service from host.
184 *Redesign of the notifications (far easier to understand than the old async way)
185 *Notice about unused parameters and explain why it can be removed from conf.
186 *Catch non standard return code in actions.py so we can add stderr to the output for such cases.
187 *Now arbiter host_name property is not mandatory. But WARNING : for a multiple arbiter conf, it must be set.
188 *Updated cfg documentation (Author: Luke L <lukehasnoname@gmail.com>)
189 *Add documentation about date range format because it was not documented.
190 *Update the nagios to shinken migration file
191 *Change the way broks are send from Arbiter to Broker : before, the Broker connect to the Arbiter, take broks like for schedulers. But Arbiter also connect to broker. That's a nightmare about hangout. Now, Arbiter push the broks. It's far more easy and efficient.
192 *Add template handling to servicedependencies
193 *Add test_dependencies as the regression test
194 *Less status_dat verbosity :)
195 *Add a last_perf_data + macros to access last perfdatas as in https://sourceforge.net/apps/trac/shinken/ticket/76
196 *HUGE clean on shinken-specific.cfg file.
198 *Add a little note about how migrate from Nagios to Shinken
199 *Add a hint about how solve 'cannot find my own arbiter' error message.
200 *Add bin directory with some bash scripts to launch/stop the whole application.
201 *Relative path, now we can have a easy portable sample configuration. (Gerhard)
202 *Add two missing operators in livestatus.py
203 *Big clean up conf sample!
204 *No more modulespath need in brokerd.ini. Will be easier for packagers.
205 *Acknowledgement test cases
206 *Add some hard tests about timeperiods calculations
207 *Add a test.sh script for Hudson test (launch all tests)
208 *Add a problem/impact test.
209 *Now external modules can return objects (from now nobody use it, but it can be useful in the future)
210 *Make easier to raise checks/notificatiosn from in deep objects class.
211 *repository cosmetics (Luke L)
214 *Fix : now merlin is correctly filled with update program value
215 *Bug Fix : ndo do not have command_file, so do not export it.
216 *Bug fix : retention load was loading not good tab (impacts ones) and so cause problem with remove (not the good object!) (nicolas.dupeux)
217 *Fix a bug in ACKNOWLEDGE_SVC_PROBLEM ext. command. Sticky can be 0/1/2, not bool
218 *Bug fix in find_day_by_weekday_offset.
219 *Bug Fix : when a date was calcl before teh ref time for a weekday it was not recalculated, so problem.
220 *Bug Fix : error in get_end_of_day. It was given the first secon of the next day, so some exclude make problem with it.
221 *Bug Fix : shell like commands where not good :(. Thanks to Gilles Seban for pointing it and to Hiren Patel for giving a list of shell caracters (so we know if we should use shell or not :) )
222 *Bug fix: external commands to send checks should work now
223 *Bug fix : Arbiter do not more crash when scheduler is down and broker is up (not initialized make a missign parameter)
224 *Bug Fix : cehck orphaned was badly status set. Thanks Pylint.
225 *Bug fix : host in unreach were set DOWN un state, but unreach in state_id. Now it say clearly it's UNREACHABLE.
226 *Bug: retention was loading services objects from retention file. It's not good at all.
227 *Fix a and -> or bug in the dependancies
228 *Fix a bug in livestatus. state_type is now a number instead of HARD/SOFT
229 *Fix a bug in the livestatus module. Eventhandler command is now serializable
230 *Fix a bug in execute_unix. If there is an exception during plugin execution, use it's string representation as plugin_output
231 *Fix a bug in the livestatus module. Multiline input is now possible
232 *Bug : patch from David GUÉNAULT about stopping all brokers
233 *Correct launched/lanched type everywhere (Grégory Starck)
234 *Fixed scheduler.add so that master notifications (without contact) don't create a status brok
235 *Patch from Nicolas DUPEUX about typo correction in service.py
236 *Reduce CPU comsumption of livestatus broker (thanks flox for the patch)
237 *Fix a bug in the npcdmod test case
238 *Fix : configurations files can be mix if the previous do not finished with a line return (Sebastian Reimers)
239 *Fix: Correct a bad default arbiter pid configuration (Sebastian Reimers)
240 *Bug fix a missing save of shinken-reactionner.py about path in relative mode
241 *Global external commands now create an update_program_status_brok instead of program_status_brok
242 *Fix a bug in the status_dat_broker (incorrect servicegroup-definition in objects.cache)
243 *Fix : add Gerhard in print screen :)
244 *Bug Fix: add duplication check for elements (and groups). Only service is allowed to have duplicated (will Warning, but no error).
245 *Bug Fix : patch from Nicolas Dupeux. Thruk socket shutdowns are now handled in an exception
246 *Bux Fix (Sven Velt): patch about recursive dir load and check timeperiod typo
247 *NO MORE nap in code, now all are shinken :)