Re: keepalived.data and keepalived.stats json output
Damien Clabaut <[email protected]> Fri, 14 Jul 2017 13:28:46 -0400
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello Quentin and thank you for your answer. I believe we will add two extra signals (USR3 and USR4, or something else) and use them to write output to /tmp/keepalived_data.json and /tmp/keepalived_stats.json. This way users can keep using existing scripts with existing behaviour, and develop future scripts on new behaviour, at the same time. Regards, On 14/07/17 09:47 AM, Quentin Armitage wrote: > On Fri, 2017-07-14 at 08:35 -0400, Damien Clabaut wrote: >> Hello Keepalived developers, >> >> My team and I are considering modifying the file >> https://github.com/acassen/keepalived/blob/master/keepalived/vrrp/vrrp_print.c >> in order to make the /tmp/keepalived.data and /tmp/keepalived.stats a >> valid json. >> >> In your opinion, what would be the best way to do this ? >> >> - Patching current functions so that kill -USR1 and kill -USR2 return >> valid json ? >> >> - Adding handlers for kill -USR3 and kill -USR4 to return valid json, >> leaving -USR1 and -USR2 in their current states ? >> >> The idea would be to port this patch to the master branch in the end. >> >> Regards, >> > I don't think we can alter the current functionality - there might be > users who have scripts that parse the output files. > > Of course, there are no signals USR3 and USR4, but there is no reason > why you can't use other signals that aren't currently used. > > I can see three ways of doing this, each of which I would be happy with: > 1. Use 2 new signals (this seems to offer the greatest flexibility) > 2. Have a global configuration option, e.g. dump_json, which if set > will make USR1 and USR2 write json output > 3. Use 1 additional signal that each time it is invoked toggles > between the current format and json (the default would need to be the > current format); this probably isn't the best approach. > > Depending on how much overhead in terms of code size there is with the > json output, it might be useful to make the inclusion of json output a > compile time option enabled by a configure option --enable-json. > > It would be good not to duplicate the existing code, since at the > moment when a new option is added we already have to update > vrrp_print.c, vrrp_data.c and vrrp_snmp.c, and to have to update a > fourth place in the code would be somewhat excessive. In fact I have > in mind that at sometime the code in vrrp_print.c and the dump_vrrp() > code in vrrp_data.c should be merged. > > I hope that helps, > > Quentin Armitage > > -- Damien Clabaut R&D vRouter ovh.qc.ca ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Keepalived-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/keepalived-devel