20:09:53 #startmeeting log_wg 20:09:54 Meeting started Wed Apr 29 20:09:53 2015 UTC and is due to finish in 60 minutes. The chair is Rockyg. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:09:56 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:09:58 The meeting name has been set to 'log_wg' 20:10:20 Rockyg: but i think it is only the two of us 20:10:48 Ok. Well, it would be great if I could bounce some ideas off of you. 20:11:01 I forget what project you're associated with? 20:11:25 I'm around. 20:11:26 i also gathered some information on the docimpact/logimpact topic we discussed last meeting 20:11:36 you should send out a ping message when the meeting is started 20:11:44 to whomever wants to be notified 20:11:47 Ah. 20:11:59 jokke_: 20:12:02 i'm not really associated with any project, but recently i comitted to sahara. but i am more interested in contributing to the oslo project 20:12:25 Excellent. nkrinner You are just the person we need ;-) 20:12:37 :-) 20:13:38 I can't remember Nikolas/ handle, but I don't think he's on. Same with Eugeniya 20:13:54 topic: what logging *really* needs 20:14:06 #topic what logging *really* needs 20:14:53 I've been working *a lot* on the spec, but it's been in responding to comments and changing the spec based on the responses. I'm about 2/3 of the way there 20:15:03 So, I haven't resubmitted it yet. 20:15:23 which spec? 20:16:26 Two things the spec brings out: 1) we need someone to implement the oslo.log changes 2) we need projects to use new oslo.log error code stuff for new work, plus a while you're in there retrofit 20:16:33 bknudson: lemme find it 20:16:58 there is a summit session proposed for oslo.log 20:17:22 see at the bottom here: https://etherpad.openstack.org/p/liberty-oslo-summit-planning 20:17:30 the working title is "Life, Liberty, and the pursuit of oslo.log changes" 20:17:55 o/ 20:18:20 bknudson: got a line number? 20:18:32 #line 268 20:19:19 #llink https://review.openstack.org/#/c/172552/5/specs/log_message_error-codes.rst,unified 20:19:25 is the spec with comments. 20:20:04 cool. 40minutes on oslo.log 20:20:11 lots of comments means people are interested 20:20:31 that's Thursday? 20:20:47 hey, dhellmann 20:21:05 this is the proposed schedule -- 5/20 is wed. 20:21:07 hi, Rockyg 20:21:25 I found a git repository with rfc5425 full compliance log message formatter in python 20:21:45 OK. Wednesday. 20:21:47 what's the license 20:22:04 morgan fainberg's apache 20:22:07 https://tools.ietf.org/html/rfc5425 ? 20:22:38 sorry 5424 20:22:47 as a working session, that room is going to be pretty small and the discussion is expected to be very very focused 20:23:11 come to the session expecting to work. 20:23:18 #link https://github.com/dpocock/python-rfc5424-logging-formatter 20:23:41 Rockyg: that's GPL 20:23:54 I've been doing a bunch of digging and reading, etc. to respond to the error code comments. dhellmann: dang! 20:24:01 did morganfainberg write it? 20:24:15 we could probably twist his arm to dual license 20:24:36 although he'd have to talk to his old employer too. 20:24:38 somehow, his name is on the license, but it's a fork of another repository, which, who knows, might be a fork of his. 20:24:39 bknudson: looks like metacloud is involved, so we'd have to get them (or EMC, I think) to change it 20:25:07 anyway, this is putting the cart before the horse because it's not certain it would be suitable for the changes needed 20:25:20 I thought oslo already had syslog formatter 20:25:23 I'm thinking we can get the author to license under apache since it appears he just copied. Might need to trace proveninance, though 20:25:29 bknudson: we do 20:25:47 Rockyg: let's focus on getting that spec approved before we worry about implementation 20:25:48 bknudson: but it's not 100%. It's missing parts of the header 20:25:51 we might not even need this 20:25:59 agreed. 20:26:00 oops 20:27:00 So, anyway, what I realized is that I would like the xproject time to define what gets written to which logs and when you write to any log. 20:27:16 we have oslo logs, console logs, apache logs 20:27:48 The api might need to write one thing to the oslo log, and pass log context to the project it is responding to. 20:28:43 If we come up with a system flow and guideline for logs and logging, it will be much clearer where we need to fill gaps, change, or maybe even drop. 20:28:44 There's another log guideline that was already merged -- 20:28:46 #link https://review.openstack.org/#/c/132552/ 20:28:49 hi ... sorry got caught in middle of something 20:29:05 so this is a guildeline for logs and logging. 20:29:30 Yup. That is the basic "developers do this for logging so we have a chance of debugging this stuff" one 20:29:31 well, for logging... it didn't mention whether to use syslog or apache or whatever. 20:29:37 yes, I think it makes sense to address these issues separately. Specs need to be small enough to understand and actually act on, either to implement them or to use the policies to help make a decision about something. 20:30:09 bknudson: developers do not make that decision. *all* logging goes through the same API, and it can be configured by the deployer to end up wherever they want 20:30:52 dhellmann: right. so we need to get the logging "framework" documented/defined for OpenStack as an ecosystem. 20:30:53 y, developers need to know to not make an assumption 20:30:59 just because devstack gate does it that way 20:31:27 Rockyg: let's start by defining the desired outcome, and work backwards to an API of some sort. 20:31:48 great 20:32:03 I think a lot of what you want is actually already possible, and some of what you want is going to meet quite a bit of resistance (error codes) 20:32:20 Yes. 20:32:42 I think error codes would go easier if we have an outline of how logging should work 20:33:17 I kinda started from the middle, went down and am circling back to the top. 20:33:39 yeah, it seems like there are several different issues, and we don't have to address them all in one spec 20:34:18 Yes. And if we get the principles down, the notification log stuff will be easier and smoother, too. 20:34:51 I had started a google spreadsheet that I wanted to put the logs in and define certain characteristics 20:35:39 #link https://docs.google.com/spreadsheets/d/1XTncfK_droY8E-Uy2icVuU-z9ya38ZBK_ZIRvGfPOXc/edit#gid=0 20:35:50 we're not going to completely replace everything that is happening with logging, so we should be thinking in terms of small, incremental changes 20:36:11 I thought if we could start with all the logs we have and categorize them, we would get patterns and classes 20:36:28 I expect that console logs are not something we would want to address 20:36:58 Except as a general "if it goes to the console, make the message meaningful" kind of thing. 20:37:04 console logs? 20:37:05 no, lets not touch anything in vm space unless they run nested openstack :) 20:37:12 screen_ 20:37:27 ah .... stdout and errout? 20:37:54 jokke_: exactly. Let's stay in the control plane, and out of the "data" plane 20:38:13 so that's an example of what I was saying before -- the existing log configuration code is set up to use the console for devstack, the exact same code configures logging files as well 20:38:25 So nova servers, compute nodes, neutron servers, keystone... 20:38:45 dhellmann: Oooh. 20:39:47 it's regular python logging 20:39:51 all of this configuration stuff is built into the library already 20:40:00 right, it's sitting on top of python's logging module 20:40:28 hmmm. how do you determine which logfile to write to? I can understand by "project" but .... 20:40:51 the default config writes to stdout 20:41:02 if you want to override the default config to write to separate log files you can do that 20:41:19 there are configuration options to control all of that stuff, and if the simple configuration options aren't enough a deployer can use python's configuration file format to do almost anything you can imagine 20:41:22 dhellmann: are you by anychance going to have a log library tutorial? 20:41:41 no, we don't have a session like that planned 20:41:48 here's a tutorial: https://docs.python.org/2/howto/logging.html#logging-basic-tutorial 20:41:53 OK. I know about the config file format stuff. The operators use that to separate debug from everything else 20:41:53 from the python docs 20:42:23 dhellmann: will that get me enough info to get deeper into oslo? 20:42:46 the python.org docs? 20:42:50 Yeah 20:43:01 Rockyg: you will want to understand that 20:43:16 Here's info on the config file: https://docs.python.org/2/howto/logging.html#configuring-logging 20:43:21 understanding what the underlying code is capable of will help understand what oslo.log is doing 20:43:36 the oslo stuff is a small layer on top of python logging 20:43:52 for consistency, since it's easy to do everything differently 20:43:55 I think I started it, but ah, that's what I need. I'll review them both. I'm also going to watch sdague's debug youtube talk again 20:44:03 right, oslo.log mostly maps oslo.config options to behaviors in the standard logging library 20:44:44 Yeah. Theoslo.log docs are good for figuring out what to put in your log message and how to build it from the dev perspective. 20:45:41 so, putting the pieces together will give me the flow. Which I have been trying to get and have not had much success. 20:46:03 I didn't know about the yaml config file... we should switch the sample. 20:46:32 http://git.openstack.org/cgit/openstack/keystone/tree/etc/logging.conf.sample 20:46:39 I grabbed the file from openstack-infra/sys-config/modules 20:47:13 bknudson: I think something has to read the yaml and convert it to dictionaries, so we would have to add code for that somewhere 20:47:47 http://git.openstack.org/cgit/openstack-infra/system-config/tree/modules/openstack_project/files/logstash 20:47:48 dhellmann: oh, it's not built-in, just easy to convert to the dict. 20:47:59 bknudson: I *think* so? there's no yaml parser in the stdlib 20:48:26 Rockyg: logstash is a great example of why we need consistent format 20:48:39 Yup. 20:48:58 people will get very angry at us if we make it difficult to debug gate issues. 20:49:05 There is also a .erb file that infra uses to reconfigure the various message formats. 20:49:28 So they can actually use logstash 20:49:57 not just openstack infra uses logstash, I'm sure there's deployments out there enjoying it too 20:50:05 I've been collecting up all this data and trying to understand it to make it information. I'm close. 20:50:20 bknudson: yeah. the operators grab that file, too. 20:50:27 the .erb file 20:50:40 Rockyg: it would be useful to see your notes, are they in an etherpad somewhere? 20:51:15 I've got them in a few etherpads. let me consolidate them. I started, but then tried to get the spec out. 20:51:29 ok, maybe just between now and the summit 20:51:34 then the spec took longer because I kept searching for all the other stuff. 20:51:42 dhellmann: definitely. 20:52:21 dhellmann: I'm about half way through addressing the comments in the spec. I can work on that this week or the consolidation. I can have one or the other out by early to mid next week 20:52:27 Which would be better 20:52:42 the spec, I think 20:52:54 get a new rev of the spec out so you can get more comments 20:53:19 OK. I'll make that happen then focus on getting the data down. 20:53:58 ++ 20:54:15 But, I want that info so others can look at that, too, before the summit. 20:54:40 Maybe all the different config and other files, tools and a flow and where they get used. 20:55:59 I think if we have a reasonable understanding/flow/description of how/what things get logged now, it would be a good starting point in summit discussions of figuring out where we want to really go. 20:56:27 I'd find it interesting to know how it all works with elasticsearch, logstash, kibana. 20:56:30 I thought the focus right now was the format of the messages? 20:57:33 dhellmann: I think the format is a middle layer, but a really important one we can work on now 20:57:34 and whether some things have become irrelevant (syslog) 20:58:06 Which is also why the spec is important. another round of comments from the dev community and then get the ops guys on it. 20:58:47 hearing from ops how they want/need it done would be really great 20:58:58 bknudson: I think the ops are driving the syslog stuff. It's a more stringent standard, so easier for them to parse 20:59:16 syslog doesn't seem that stringent to me. 20:59:32 I've dealt with worse 20:59:39 bknudson: I've got a bunch of stuff from the Paris summit in etherpads that the ops folks provided, comment on. 21:00:29 bknudson: read the rfc and see what python.log is not enforcing. One thing the operators want is "-" where a message field is left blank 21:00:51 python.log lets you just skip that field 21:00:52 ah, that's where the formatter comes in. 21:00:57 Yup. 21:01:35 It really isn't that stringent, but is more tightly constricted for format 21:01:44 bknudson: it would also allow using the syslog header etc. fields more effectively providing the info out of those regardless the backend of the logging 21:02:24 defaulting to stringent syslog or having a syslog config option makes sense to me. 21:02:37 Oops. We're out of time. do we want to continue on? there's nobody after us. 21:02:52 it's the EOD for me here, but you can continue on without me 21:03:18 eod for dhellmann. Think of poor jokke_ ;-) 21:03:34 Thanks, dhellmann. I really needed your input today. 21:03:58 It will take me lots farther. 21:04:19 np, Rockyg :-) 21:04:55 so, I think this is winding down. Let's get nkrinner's input on his research than call it a meeting 21:05:13 ok 21:05:32 #topic tags in launchpad 21:05:54 so last week we discussed if we want something similar like the 'docimpact' tag for commit messages 21:06:47 what is basically happening there is when a commit message contains a 'docinmpact', a bug is automatically filed against a project, here openstack-manual 21:07:09 it is documented here: https://wiki.openstack.org/wiki/Documentation/DocImpact 21:07:41 there's also a SecurityImpact tag, which I think just sends email rather than filing a bug 21:07:53 implementation happens mostly here: http://git.openstack.org/cgit/openstack-infra/jeepyb/tree/jeepyb/cmd/notify_impact.py#n161 21:08:27 bknudson: that too, but i did not really look into that yet 21:09:00 so, i think it would be something easy to implement. the hardest thing would be to get a spec approved to do so. 21:09:10 if anything I think the securityImpact model with automated mail to list is more what we would want 21:09:33 the bug is filed for docimpact because there's more work to do -- write the docs 21:09:46 the email is sent because they're asking for the ossg to look at the change 21:09:56 i also wondered where to file the bug against if we go with the docimpact way 21:10:36 so people prefer the securityimpact model? 21:10:40 Yeah, we don't have a horizontal project for logs. At least not yet. 21:11:06 We do not have a project and we do not have actual work to do if someone is changing their logging 21:11:27 what kind of changes do you want to see a LogImpact tag on? 21:11:36 Well, translation would 21:11:53 it's definitely more in lines "We're doing damatical changes about what we spit out, please have a look" 21:11:56 bugs where logging does not give meaningful information 21:12:19 a way to tell "we need more/better logs here" 21:12:27 oh, it's for bugs, too, and not just commits? 21:12:32 Rockyg: the translation gets their strings through the i18n tooling anyways 21:12:38 The OSSG mailing list also gets email for security bugs. 21:12:56 i prefer that, i think the main focus should be on bugs 21:13:12 maybe operators would want mails on log bugs? 21:13:50 at least on any marked critical 21:13:52 http://lists.openstack.org/pipermail/openstack-security/2015-April/subject.html 21:14:05 that's what the openstack-security list looks like 21:14:06 nkrinner: so did you find how to trigger those notifications out of bugs filed? Do we have tooling that FE looks for specific bug tags? 21:14:45 jokke_: i did not look at that yet, i was looking at docimpact 21:15:06 anyone can add a tag to a bug within a project, but is there a way to get the tag to pre-exist on all projects? 21:15:37 when i proposed to investigate docimpact, i was not really aware what it does at that point 21:15:44 https://wiki.openstack.org/wiki/Bug_Tags 21:15:51 bug tags: https://wiki.openstack.org/wiki/Bug_Tags 21:15:59 ;) 21:16:00 nkrinner: from the other side, if you file a bug with docimpact, how does it get identified to the docs team? 21:16:21 Rockyg: it only works with commit messages i think 21:16:27 Rockyg: in my understanding it does not ... the *Impact is commit message thing 21:16:44 Hmmm. 21:16:50 the security bugs are special cupcake and gets all kind of bells and whistles anyways 21:16:54 I think the security tag causes an email 21:17:42 would you like to have something similar with a log tag? 21:17:50 sounds like a better idea to me 21:18:29 bknudson: I think it's not the tag but the classification of security bug in LP that triggers the e-mail (which is not sent to the public list) 21:18:37 It would be worth polling the operators about it. If they want an email, then we could get the tag across all projects 21:19:42 do operators really want notifications about issues with logging? i want it as a developer though 21:20:05 if they're interested they can subscribe to the mailing list 21:20:54 I wonder if there's a mailing list for the bugs with ops tag? 21:21:20 I didn't know about the ops tag. 21:21:41 are operators supposed to add that? 21:22:26 anyone who thinks fixing the bug would make ops' lives easier. 21:22:50 but I suspect, usually ops ;-) 21:24:21 This is good info. Now we just need to figure out what we should do with it. Certainly it raises at least one question to ask ops at the summit 21:24:51 Let's think more on this and what other info we want to get from ops at the summit. 21:24:59 and let's call it a meeting? 21:25:26 #endmeeting