Merge branch 'master' of ssh://lausser,shinken@shinken.git.sourceforge.net/gitroot...
[shinken.git] / Changelog
blob0702459d29bdf73a193cad89112e23f420b6fe8d
1 ########################
2 Shinken ChangeLog
3 #######################
6 0.4 - 08/12/2010
7 ------------------
8 ENHANCEMENTS
9         *Add : Service generators
10         *Add : "Limit :" in livestatus
11         *Add : the scheduler now save retention data before stop or take a new conf
12         *Add : the broker clean quit the modules before quitting
13         *Add : better output to know which external process for the broker is who in the log
14         *Add : NodeSet lib use if available for the [X-Y] keys in service generators.
15         *Add : retention modules, Memcache, Redis or simple file.
16         *Add : lot of tests, even a end_to_end one for Ha and load balanced installations
17         *Add : user can put what he want as MACRO in resources.cfg
18         *Add : lot of log output, and clean a lot of others
19         *Add : conf sample for PNP integration.
20         *Add : (Nicolas Dupeux) add a NSCA server module for the Arbiter! (only XOR and none encryption from now)
21         *Add : now the retention_update_interval parameter is managed.
22         *Add : the ! character before a host_name is now managed in the services. (even if host was defined in a hostgroup). And with test.
23         *Add : perfdata command management for host/service
24         *Add : manage modules in the Arbtier and in the schedulers
25         *Add : nowthe whole documentation is done in the wiki
26         *Add : obsess_over_host/service and executing oc*p_commands like eventhandlers
27         *Add : "templates" and modes and more for service/host perf data module.
28         *Add : now host with no address are fill with host_name for this value.
29         *Add : timeperiod inheritance
30         *Add : Allow "members *" in a hostgroup definition
31         *Add : manage inherit_parents for dependencies.
32         *Add : system time change catch for satellites.
33         *Add : enable_environment_macros now create or not the env dict for checks
34         *Add : O*HP command management
36 FIXES
37         *Fix : Some missing properties in the livestatus tables
38         *Fix : Some missing properties in the NDO/Mysql export
39         *Fix : parents property was not stripped(), and a error value was not catched as error
40         *fix : missing some errors catch in contact definitions
41         *Fix : Nagios allow contact_name to miss if there is an alias
42         *Fix : Nagios allow a contact with no 'action' if his options are n/n
43         *Fix : Resolv macro can loop forever with special output. Now limit it at 32 loop max!
44         *Fix : the env_macros were enable if we use the tweaks, not good. And they are REALLY CPU killers.
45         *Fix : LiveStatus : do not close the socket before we are sure the other peer send us nothing. If so, we can close it.
46         *Fix : solve a case where config files do not end with a line return and will mix parameters.
47         *Fix : broker spare not look at pollers/reactionners when he come active.
48         *Fix : now the poller/reactionner REALLY raise broks to the broker (it was clear before...)
49         *Fix : bug in the Broker that make in some cases broks lost for extarnal modules if they come from the arbiter. (like logs)
50         *Fix : add a workaround to the livestatus module so it can handle requests from thruk 0.71.1 (which uses strange Stats: requests)
51         *Fix : rename all 'binaries' without the .py extention so distrib will be happy.
52         *Fix : livestatus work now with Python 2.4
53         *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!
54         *Fix : (Zoran Zaric) big indentation cleanup
55         *Fix : error handling in timeperiod inheritance
56         *Fix : clean on the default configuration
57         *Fix : manage additional_freshness_latency parameter with a test for check_freshness now.
58         *Fix : setup.py can create a zip file (egg) for the librairy under Centos. It's not a good thing. It should avoid it
59         *Fix : From Nicolas Dupeux : error in livestatus split.
60         *Fix : From Nicolas Dupeux : fix typos in host code
62         
63         
65 0.3 - 06/10/2010
66 ------------------
67 ENHANCEMENTS
68         *Add : complex hostgroup amtching with & ( ) | !
69         *Add : resultmodulation code and tests
70         *Add : brok information about problem/impacts
71         *Add : livestatus export about problem/impacts
72         *Add : clean quit on daemons (pid file and sub processes)
73         *Add : maintenance_period parameter in hosts and services
74         *Add : even more unit test cases
75         *Add : now external commands raised in livestatus module are taken by the arbiter
76         *Add : satellites states are now exported by livestatus
77         *Add : arbiter module managment
78         *Add : GLPI import arbiter module :)
79         *Add : notificationways for contacts
80         *Add : warning about unmanaged parameters
81         *Add : log rotation and syslog managment
84 FIXES
85         *Fix : install crash is now catch with Pyro 4 in Centos (python 2.4)
86         *Fix : host/service dep where not filled with default properties
87         *Fix : catch realm configuration errors
88         *Fix : but in status.dat about parents printing
89         *Fix : problem with the Collums talbe in livestatus module
90         *Fix : next valid time was one minute delay for cases with excludes
91         *Fix : livestatus export in json was bad for service group members
92         *Fix : bug in windows check launch
93         *Clean : dispatcher code about useless options
94         *Clean : tests cases setUp
97 0.2 - 06/09/2010
98 ------------------
99 ENHANCEMENTS
100         *New code layout
101         *Installation is easy with the setup.py process (first version from Maximilien Bersoult)
102         *Now compatible with Pyro 3 AND 4
103         *Now compatible with Python 2.4 and 2.5 too
104         *Add sticky acknowledgement. Non-permanent ack-comments are now automatically removed
105         *Add host acknowledgement and acknowledgement stickiness
106         *Finished service problem acknowledgement. one more testcase
107         *Add REMOVE_HOST/SVC_ACKNOWLEDGEMENT external command
108         *Now broker get broks from pollers and reactionners. (Useful for Logs)
109         *Give Broker a way to make broks :) (like for it's own log)
110         *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).
111         *Add some LSB init.d scripts
112         *Add max_plugins_output_length parameter to limit the checks output size.
113         *"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...
114         *Nested macros are managed (like USERN in ARGN macro).
115         *Add a pass about changing Nagios2 properties to Nagios3 ones.
116         *Add json outputformat to the livestatus module
117         *Add a broker module npcdmod (plus test_npcdmod) which writes a perfdata file suitable for pnp4nagios
118         *Add check_period implicitly inheritate to service from host.
119         *Redesign of the notifications (far easier to understand than the old async way)
120         *Notice about unused parameters and explain why it can be removed from conf.
121         *Catch non standard return code in actions.py so we can add stderr to the output for such cases.
122         *Now arbiter host_name property is not mandatory. But WARNING : for a multiple arbiter conf, it must be set.
123         *Updated cfg documentation (Author: Luke L <lukehasnoname@gmail.com>)
124         *Add documentation about date range format because it was not documented.
125         *Update the nagios to shinken migration file
126         *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.
127         *Add template handling to servicedependencies
128         *Add test_dependencies as the regression test
129         *Less status_dat verbosity :)
130         *Add a last_perf_data + macros to access last perfdatas as in https://sourceforge.net/apps/trac/shinken/ticket/76
131         *HUGE clean on shinken-specific.cfg file.
132         *Add a README file
133         *Add a little note about how migrate from Nagios to Shinken
134         *Add a hint about how solve 'cannot find my own arbiter' error message.
135         *Add bin directory with some bash scripts to launch/stop the whole application.
136         *Relative path, now we can have a easy portable sample configuration. (Gerhard)
137         *Add two missing operators in livestatus.py
138         *Big clean up conf sample!
139         *No more modulespath need in brokerd.ini. Will be easier for packagers.
140         *Acknowledgement test cases
141         *Add some hard tests about timeperiods calculations
142         *Add a test.sh script for Hudson test (launch all tests)
143         *Add a problem/impact test.
144         *Now external modules can return objects (from now nobody use it, but it can be useful in the future)
145         *Make easier to raise checks/notificatiosn from in deep objects class.
146         *repository cosmetics (Luke L)
148 FIXES
149         *Fix : now merlin is correctly filled with update program value
150         *Bug Fix : ndo do not have command_file, so do not export it.
151         *Bug fix : retention load was loading not good tab (impacts ones) and so cause problem with remove (not the good object!) (nicolas.dupeux)
152         *Fix a bug in ACKNOWLEDGE_SVC_PROBLEM ext. command. Sticky can be 0/1/2, not bool
153         *Bug fix in find_day_by_weekday_offset.
154         *Bug Fix : when a date was calcl before teh ref time for a weekday it was not recalculated, so problem.
155         *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.
156         *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 :) )
157         *Bug fix: external commands to send checks should work now
158         *Bug fix : Arbiter do not more crash when scheduler is down and broker is up (not initialized make a missign parameter)
159         *Bug Fix : cehck orphaned was badly status set. Thanks Pylint.
160         *Bug fix : host in unreach were set DOWN un state, but unreach in state_id. Now it say clearly it's UNREACHABLE.
161         *Bug: retention was loading services objects from retention file. It's not good at all.
162         *Fix a and -> or bug in the dependancies
163         *Fix a bug in livestatus. state_type is now a number instead of HARD/SOFT
164         *Fix a bug in the livestatus module. Eventhandler command is now serializable
165         *Fix a bug in execute_unix. If there is an exception during plugin execution, use it's string representation as plugin_output
166         *Fix a bug in the livestatus module. Multiline input is now possible
167         *Bug : patch from David GUÉNAULT about stopping all brokers
168         *Correct launched/lanched type everywhere (Grégory Starck)
169         *Fixed scheduler.add so that master notifications (without contact) don't create a status brok
170         *Patch from Nicolas DUPEUX about typo correction in service.py
171         *Reduce CPU comsumption of livestatus broker (thanks flox for the patch)
172         *Fix a bug in the npcdmod test case
173         *Fix : configurations files can be mix if the previous do not finished with a line return (Sebastian Reimers)
174         *Fix: Correct a bad default arbiter pid configuration (Sebastian Reimers)
175         *Bug fix a missing save of shinken-reactionner.py about path in relative mode
176         *Global external commands now create an update_program_status_brok instead of program_status_brok
177         *Fix a bug in the status_dat_broker (incorrect servicegroup-definition in objects.cache)
178         *Fix : add Gerhard in print screen :)
179         *Bug Fix: add duplication check for elements (and groups). Only service is allowed to have duplicated (will Warning, but no error).
180         *Bug Fix : patch from Nicolas Dupeux. Thruk socket shutdowns are now handled in an exception
181         *Bux Fix (Sven Velt): patch about recursive dir load and check timeperiod typo
182         *NO MORE nap in code, now all are shinken :)
186 0.1 - 31/05/2010
187 ------------------
188 ENHANCEMENTS
189         *Initial realease