)]}'
{"specs/log_message_error-codes.rst":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"bd5aed49413aa311984ae9ad38b875e7dcb80992","unresolved":false,"context_lines":[{"line_number":19,"context_line":"been used by computer, IT, and Telecom systems to provide a quick, clean and"},{"line_number":20,"context_line":"consistent way to get a pointer to the subsystem, type and area of the"},{"line_number":21,"context_line":"problem associated with the error code. They speed online searches for root"},{"line_number":22,"context_line":"causes and solutions. Error codes also enable better translations as a side"},{"line_number":23,"context_line":"effect of containing the codes and summaries in databases which maintain the"},{"line_number":24,"context_line":"idempotency of each error code."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_bda7944e","line":22,"updated":"2015-04-13 14:20:36.000000000","message":"How does error code enable better translations?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":19,"context_line":"been used by computer, IT, and Telecom systems to provide a quick, clean and"},{"line_number":20,"context_line":"consistent way to get a pointer to the subsystem, type and area of the"},{"line_number":21,"context_line":"problem associated with the error code. They speed online searches for root"},{"line_number":22,"context_line":"causes and solutions. Error codes also enable better translations as a side"},{"line_number":23,"context_line":"effect of containing the codes and summaries in databases which maintain the"},{"line_number":24,"context_line":"idempotency of each error code."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_0a04f114","line":22,"in_reply_to":"7aaa499b_bda7944e","updated":"2015-04-13 20:26:21.000000000","message":"\"... as a side effect of containing the codes and summaries in databases ...\" suggests that by having a centralized repository of consistent error codes, you allow translations and discussions in multiple languages even if the error messages themselves are rewritten in the original language, etc, because the codes themselves remain persistent.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":42,"context_line":"concept and definition of error codes. For each generated message, error codes"},{"line_number":43,"context_line":"are intended to increase clarity of the message, searchability for more"},{"line_number":44,"context_line":"indepth descriptions, and to improve the level of translation at the summary"},{"line_number":45,"context_line":"level of the message."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Rationale"},{"line_number":48,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_b0d8cb54","line":45,"updated":"2015-04-13 20:26:21.000000000","message":"+1","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"handling. When an error is generated, the same codes can be used for both"},{"line_number":53,"context_line":"coding exception handling and human accessible error reporting. This also"},{"line_number":54,"context_line":"allows for a unique message to be associated with each error code that is more"},{"line_number":55,"context_line":"descriptive and that can be pre translated.  Again, for logging purposes, the"},{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_709ec357","line":55,"updated":"2015-04-13 20:26:21.000000000","message":"(nit) \"pre translated\" should be hyphenated (if not made one word?)","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"handling. When an error is generated, the same codes can be used for both"},{"line_number":53,"context_line":"coding exception handling and human accessible error reporting. This also"},{"line_number":54,"context_line":"allows for a unique message to be associated with each error code that is more"},{"line_number":55,"context_line":"descriptive and that can be pre translated.  Again, for logging purposes, the"},{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"},{"line_number":59,"context_line":"headers are part of the Oslo.log library, making use and enforcement"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_f3f8c17e","line":56,"range":{"start_line":55,"start_character":45,"end_line":56,"end_character":77},"updated":"2015-04-12 20:47:42.000000000","message":"This statement about headers is confusing. Log messages don\u0027t really have headers, so are you talking about the REST response here?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":8434,"name":"Rochelle Grober","email":"rochelle.grober@huawei.com","username":"rockyg"},"change_message_id":"ef41666e64d9f30f5de80cbf31ee38cd5d5d807a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"coding exception handling and human accessible error reporting. This also"},{"line_number":54,"context_line":"allows for a unique message to be associated with each error code that is more"},{"line_number":55,"context_line":"descriptive and that can be pre translated.  Again, for logging purposes, the"},{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"},{"line_number":59,"context_line":"headers are part of the Oslo.log library, making use and enforcement"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ab14d0d_616512e0","line":56,"in_reply_to":"7aaa499b_b8ece6f3","updated":"2015-04-18 00:54:56.000000000","message":"OK, guys, from the RFC5424: section 6. Syslog Message format:\n\nSYSLOG-MSG      \u003d HEADER SP STRUCTURED-DATA [SP MSG]\n\nHEADER          \u003d PRI VERSION SP TIMESTAMP SP HOSTNAME\n                  SP APP-NAME SP PROCID SP MSGID\n\nBut all is not lost....Morgan Fainberg has a patch (actually, two and I don\u0027t know how they differ):\nhttps://github.com/specialunderwear/python-rfc5424-logging-formatter\nthat adds the missing fields.\n\nWith these fields, the error code can go in the header, and if a log message gets passed through and encapsulated, with more added, the new message has a new project specific error code and the original one appears in the ecapsulated log message.  Just wanted to get this in as addressing lots of these comments will take some time.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"coding exception handling and human accessible error reporting. This also"},{"line_number":54,"context_line":"allows for a unique message to be associated with each error code that is more"},{"line_number":55,"context_line":"descriptive and that can be pre translated.  Again, for logging purposes, the"},{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"},{"line_number":59,"context_line":"headers are part of the Oslo.log library, making use and enforcement"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_b8ece6f3","line":56,"in_reply_to":"7aaa499b_d0b6b7db","updated":"2015-04-15 16:50:26.000000000","message":"Same here and even if it refers to the REST response I do not agree as it should be integrated part of the payload to ensure easy access.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"coding exception handling and human accessible error reporting. This also"},{"line_number":54,"context_line":"allows for a unique message to be associated with each error code that is more"},{"line_number":55,"context_line":"descriptive and that can be pre translated.  Again, for logging purposes, the"},{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"},{"line_number":59,"context_line":"headers are part of the Oslo.log library, making use and enforcement"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_d0b6b7db","line":56,"in_reply_to":"7aaa499b_f3f8c17e","updated":"2015-04-13 20:26:21.000000000","message":"i\u0027m lost on which headers are being referred to here as well","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"allows for a unique message to be associated with each error code that is more"},{"line_number":55,"context_line":"descriptive and that can be pre translated.  Again, for logging purposes, the"},{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"},{"line_number":59,"context_line":"headers are part of the Oslo.log library, making use and enforcement"},{"line_number":60,"context_line":"straightforward."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_18987a77","line":57,"updated":"2015-04-15 16:50:26.000000000","message":"I would not mix these two in the planning phase where neither has been agreed on.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":55,"context_line":"descriptive and that can be pre translated.  Again, for logging purposes, the"},{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"},{"line_number":59,"context_line":"headers are part of the Oslo.log library, making use and enforcement"},{"line_number":60,"context_line":"straightforward."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_70b5a3cb","line":58,"updated":"2015-04-13 20:26:21.000000000","message":"(nit) s/ids/IDs/","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":56,"context_line":"error code would not be part of the message payload, but part of the headers."},{"line_number":57,"context_line":"Referrer IDs and other info would still be expected in the payload of the"},{"line_number":58,"context_line":"message and could include instance ids/names, NICs or VIFs, etc.  The message"},{"line_number":59,"context_line":"headers are part of the Oslo.log library, making use and enforcement"},{"line_number":60,"context_line":"straightforward."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_10c53f3b","line":59,"updated":"2015-04-13 20:26:21.000000000","message":"(nit) ``oslo.log``","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":67,"context_line":"projects."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The project level implementations must take into consideration who the"},{"line_number":70,"context_line":"for each error message will be and tailor the information as appropriate to"},{"line_number":71,"context_line":"ensure the message will not compromise system security.  Such actions as"},{"line_number":72,"context_line":"not including sensitive information in the error code or its summary and"},{"line_number":73,"context_line":"scrubbing the messages of exploitable information is of critical importance,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_50d2a701","line":70,"updated":"2015-04-13 20:26:21.000000000","message":"looks like a bad edit in the middle of this sentence (\"who the for each error message will be\")","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"as Cloud operators will be expected to be highly trusted and safeguard the log"},{"line_number":77,"context_line":"information, while tenant operators may or may not be considered trustworthy"},{"line_number":78,"context_line":"and should therefore receive log information that is limited to what they need"},{"line_number":79,"context_line":"to operate and manage their onw VMs, storage and networks."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Error Codes for logs would have four segments separated by dashes."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_580a827a","line":79,"updated":"2015-04-15 16:50:26.000000000","message":"While understanding that this is important for many, I personally have never been huge fan of \"security by obscurity\"-approach. Just my 0cents on this.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":76,"context_line":"as Cloud operators will be expected to be highly trusted and safeguard the log"},{"line_number":77,"context_line":"information, while tenant operators may or may not be considered trustworthy"},{"line_number":78,"context_line":"and should therefore receive log information that is limited to what they need"},{"line_number":79,"context_line":"to operate and manage their onw VMs, storage and networks."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Error Codes for logs would have four segments separated by dashes."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_045ecf43","line":79,"in_reply_to":"7aaa499b_580a827a","updated":"2015-04-15 18:23:34.000000000","message":"The other point to consider is that the error codes returned by a cloud should maybe not change just because the deployer picks a different backend for a service like cinder. Failing to create a volume is the same error to the cloud tenant, now matter where the failure happened.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":79,"context_line":"to operate and manage their onw VMs, storage and networks."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Error Codes for logs would have four segments separated by dashes."},{"line_number":83,"context_line":" * the first segment will be a three letter code identifying the project"},{"line_number":84,"context_line":" software the error is generated from.  Projects would choose their letters"},{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_f33fa123","line":82,"updated":"2015-04-12 20:47:42.000000000","message":"You need a blank line between lines 82 and 83 to make the following line appear as a bullet list.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Error Codes for logs would have four segments separated by dashes."},{"line_number":83,"context_line":" * the first segment will be a three letter code identifying the project"},{"line_number":84,"context_line":" software the error is generated from.  Projects would choose their letters"},{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_1311edac","line":84,"updated":"2015-04-12 20:47:42.000000000","message":"The default format string for log messages for applications using oslo.log includes the logger \"name\". Each module has its own logger instance, so the \"name\" value is effectively the module of the code producing the message. For example, nova.api.auth or cinder.brick.executor. This information points directly to the file where the error is being reported, and doesn\u0027t require us to define a set of unique three letter codes. Does it meet the needs of this part of the error code idea?\n\nSee http://git.openstack.org/cgit/openstack/oslo.log/tree/oslo_log/_options.py#n97 for the full format string definition.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Error Codes for logs would have four segments separated by dashes."},{"line_number":83,"context_line":" * the first segment will be a three letter code identifying the project"},{"line_number":84,"context_line":" software the error is generated from.  Projects would choose their letters"},{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_5858428a","line":84,"in_reply_to":"7aaa499b_1311edac","updated":"2015-04-15 16:50:26.000000000","message":"But the logger might not be the originator of the issue. (In way less than ideal world lets say nova would have no idea that the error it\u0027s logging from glance actually initiated from swift, in perfect world we would have this full trail provided to the operator at the first glance. On not so perfect world this might loose some clarity.)","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Error Codes for logs would have four segments separated by dashes."},{"line_number":83,"context_line":" * the first segment will be a three letter code identifying the project"},{"line_number":84,"context_line":" software the error is generated from.  Projects would choose their letters"},{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_e42d23a9","line":84,"in_reply_to":"7aaa499b_5858428a","updated":"2015-04-15 18:23:34.000000000","message":"The original error would also have been logged in all of those places, right, and one of them *is* the originator.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"},{"line_number":88,"context_line":" an already used code, so a way to register the code to a central repository"},{"line_number":89,"context_line":" could ensure programmatically that the code is used by only one project."},{"line_number":90,"context_line":" * The second segment is two characters, either two letters or a number and a"},{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_135fad73","line":88,"updated":"2015-04-12 20:47:42.000000000","message":"Registering error codes centrally isn\u0027t really practical because of the interdependencies it would introduce into the different git repositories. We need to ensure that the error code scheme allows us to create a unique error code with a single change to a single git repo. I think the logger name, mentioned above, handles this. If not, the full application name, instead of a three letter code, would, because all projects will have unique names.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"7f41d0dd78aa53f4b680fdbc6a52cbc734e29582","unresolved":false,"context_lines":[{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"},{"line_number":88,"context_line":" an already used code, so a way to register the code to a central repository"},{"line_number":89,"context_line":" could ensure programmatically that the code is used by only one project."},{"line_number":90,"context_line":" * The second segment is two characters, either two letters or a number and a"},{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_e3de6410","line":88,"in_reply_to":"7aaa499b_104adfc5","updated":"2015-04-14 17:44:42.000000000","message":"In a world where we might have multiple projects providing competing implementations, we need the codes to be unique across both. We can\u0027t expect that because two projects provide the same service they do it using the same operating model or that they would have the same sorts of failure cases so that they could share error codes.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"},{"line_number":88,"context_line":" an already used code, so a way to register the code to a central repository"},{"line_number":89,"context_line":" could ensure programmatically that the code is used by only one project."},{"line_number":90,"context_line":" * The second segment is two characters, either two letters or a number and a"},{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_104adfc5","line":88,"in_reply_to":"7aaa499b_135fad73","updated":"2015-04-13 20:26:21.000000000","message":"project name (nova) or service type (compute)?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"},{"line_number":88,"context_line":" an already used code, so a way to register the code to a central repository"},{"line_number":89,"context_line":" could ensure programmatically that the code is used by only one project."},{"line_number":90,"context_line":" * The second segment is two characters, either two letters or a number and a"},{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_cbe59a38","line":88,"in_reply_to":"7aaa499b_e3de6410","updated":"2015-04-15 16:50:26.000000000","message":"++ Central repository for these would not be ideal. Listing and additional metadata around the code should be added to the project in-repo docs.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4b8447b24369cb25894aa4581af6a1980356de60","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Error Codes for logs would have four segments separated by dashes."},{"line_number":83,"context_line":" * the first segment will be a three letter code identifying the project"},{"line_number":84,"context_line":" software the error is generated from.  Projects would choose their letters"},{"line_number":85,"context_line":" such that operators and other end user will recognize the project quickly, or"},{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"},{"line_number":88,"context_line":" an already used code, so a way to register the code to a central repository"},{"line_number":89,"context_line":" could ensure programmatically that the code is used by only one project."},{"line_number":90,"context_line":" * The second segment is two characters, either two letters or a number and a"},{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"},{"line_number":92,"context_line":" letter for 0+letter for internal component of project (like API\u003d0A,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_d45b792d","line":89,"range":{"start_line":83,"start_character":1,"end_line":89,"end_character":73},"updated":"2015-04-11 03:03:30.000000000","message":"Error arise because formatting is bad. List should look like:\nhttp://paste.openstack.org/show/202401/","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":86,"context_line":" would remember the correlation after looking it up once or twice.  As the"},{"line_number":87,"context_line":" OpenStack ecosystem grows, there is the possibility of a project might choose"},{"line_number":88,"context_line":" an already used code, so a way to register the code to a central repository"},{"line_number":89,"context_line":" could ensure programmatically that the code is used by only one project."},{"line_number":90,"context_line":" * The second segment is two characters, either two letters or a number and a"},{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"},{"line_number":92,"context_line":" letter for 0+letter for internal component of project (like API\u003d0A,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_1021bffb","line":89,"in_reply_to":"7aaa499b_d45b792d","updated":"2015-04-13 20:26:21.000000000","message":"putting blank lines between bulleted items makes them easier to follow in plaintext as well http://cdn.pasteraw.com/77ftck0gafz5j9prvozweqs1c5zdzp3","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":88,"context_line":" an already used code, so a way to register the code to a central repository"},{"line_number":89,"context_line":" could ensure programmatically that the code is used by only one project."},{"line_number":90,"context_line":" * The second segment is two characters, either two letters or a number and a"},{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"},{"line_number":92,"context_line":" letter for 0+letter for internal component of project (like API\u003d0A,"},{"line_number":93,"context_line":" Controller\u003d0C, etc),  four digit error number which could be subsetted for"},{"line_number":94,"context_line":" even finer granularity, and a criticality number."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_b07e8be2","line":91,"updated":"2015-04-13 20:26:21.000000000","message":"(nit) s/Either/either/","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"},{"line_number":92,"context_line":" letter for 0+letter for internal component of project (like API\u003d0A,"},{"line_number":93,"context_line":" Controller\u003d0C, etc),  four digit error number which could be subsetted for"},{"line_number":94,"context_line":" even finer granularity, and a criticality number."},{"line_number":95,"context_line":" * The third segment is a four digit integer uniquely identifying the error"},{"line_number":96,"context_line":" within the parameters of the project and component.  Historically, these"},{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_b34eb9bf","line":94,"updated":"2015-04-12 20:47:42.000000000","message":"We\u0027ve already had a discussion about not exposing vendor codes through the API. The logger name may include a driver name if that is relevant, for example: \"cinder.volume.drivers.datera\".","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":91,"context_line":" letter.  This segment is Either a two letter vendor code or a number and"},{"line_number":92,"context_line":" letter for 0+letter for internal component of project (like API\u003d0A,"},{"line_number":93,"context_line":" Controller\u003d0C, etc),  four digit error number which could be subsetted for"},{"line_number":94,"context_line":" even finer granularity, and a criticality number."},{"line_number":95,"context_line":" * The third segment is a four digit integer uniquely identifying the error"},{"line_number":96,"context_line":" within the parameters of the project and component.  Historically, these"},{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_50dce7e3","line":94,"in_reply_to":"7aaa499b_b34eb9bf","updated":"2015-04-13 20:26:21.000000000","message":"this whole bullet point needs additional examples and reasoning. with several options and quite a bit of complexity, it will never be implemented correctly","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":96,"context_line":" within the parameters of the project and component.  Historically, these"},{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_33d189ce","line":99,"updated":"2015-04-12 20:47:42.000000000","message":"Numerical codes are opaque until you memorize them. Can you add more detail here about why you feel numbers are more useful than error names like we have based on python\u0027s exception classes?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":96,"context_line":" within the parameters of the project and component.  Historically, these"},{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_ab2a4e8e","line":99,"in_reply_to":"7aaa499b_0bf3d09f","updated":"2015-04-15 16:50:26.000000000","message":"I\u0027d like to give few points pro numerals:\n1) Wider used than English language (Just have a random call over not so great phone line between for example Finnish and Indian person. They can get those numerals understood, but good luck with your English error names.)\n2) No even accidental translations (back to point one)\n3) way more compact than CamelTypingSeparatedNovelOfTheError\n4) Exception names are not good enough for this as they are recycled through the codebase (specially if the vendor/component part is scrapped above and still likely to have duplicates).\n\nAlso the English error names are easier to initially remember for average English speaker, but any person working closely with the product will remember the common codes quite shortly and the non-common ones are quicky found through knowledge base search (being it internal, grep on the repo or common search engine). Being huge market I doubt the English camel naming will be anything more than annoyance for our Chinese colleaques who might have the localisation to Chinese for the other strings.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":96,"context_line":" within the parameters of the project and component.  Historically, these"},{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_0bf3d09f","line":99,"in_reply_to":"7aaa499b_2ca47855","updated":"2015-04-13 20:26:21.000000000","message":"This is the biggest open question in the spec. I don\u0027t think there\u0027s a strong argument being made here in favor of codes (yet?), especially if they\u0027re super complex numbering scheme and impossible to interpret without Google.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"f375fd4082afb75286e36021dcb777b6a04839a0","unresolved":false,"context_lines":[{"line_number":96,"context_line":" within the parameters of the project and component.  Historically, these"},{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_2ca47855","line":99,"in_reply_to":"7aaa499b_33d189ce","updated":"2015-04-13 13:03:05.000000000","message":"I think the theory is \"google-ability\" for error numbers, but I agree that switching to English error names would be an improvement. \n\nIt\u0027s much easier to remember (making these up) \"[cinder] API raised CinderImageFormatError\" than \"CIN-0C-9391-3\".","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":96,"context_line":" within the parameters of the project and component.  Historically, these"},{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_9f76aca2","line":99,"in_reply_to":"7aaa499b_ab2a4e8e","updated":"2015-04-15 18:23:34.000000000","message":"These seem like good points that should be included in the next draft of the spec.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"},{"line_number":103,"context_line":" expanded or deleted before a merge based on discussions on the reviews."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_73c71113","line":100,"updated":"2015-04-12 20:47:42.000000000","message":"Log messages already have a severity level value. Would this numerical value be different from that level?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"},{"line_number":103,"context_line":" expanded or deleted before a merge based on discussions on the reviews."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_2e0c0c3a","line":100,"in_reply_to":"7aaa499b_2b244c0b","updated":"2015-04-15 16:50:26.000000000","message":"++ After months of rolling this idea around I still fail to see the logic/need for this.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":97,"context_line":" numbers have often been subdivided further to indicate specific areas within"},{"line_number":98,"context_line":" the code or specific types of errors; the further delegation of numbers is"},{"line_number":99,"context_line":" left to the discretion of the project."},{"line_number":100,"context_line":" * The last, single integer is a Criticality Value.  Again, historically, this"},{"line_number":101,"context_line":" has been used to highlight the severity of the error, but even the inclusion"},{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"},{"line_number":103,"context_line":" expanded or deleted before a merge based on discussions on the reviews."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_2b244c0b","line":100,"in_reply_to":"7aaa499b_73c71113","updated":"2015-04-13 20:26:21.000000000","message":"+1 when \u0026 why would we distinguish \"criticality values\" from log levels?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":102,"context_line":" of this integer is open for discussion and this section will either be"},{"line_number":103,"context_line":" expanded or deleted before a merge based on discussions on the reviews."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"       Project       Vendor/Component   Error Catalog number  Criticality"},{"line_number":106,"context_line":"Def [A-Z][A-Z][A-Z]- [{0-9}|{A-Z}][A-Z]- [0000-9999]-         [0-9]"},{"line_number":107,"context_line":"Ex.       CIN-           NA-               0001-                2"},{"line_number":108,"context_line":"          Cinder         NetApp            driver error no      Criticality"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_13a44d55","line":105,"updated":"2015-04-12 20:47:42.000000000","message":"To preserve the formatting of the table, you can either indent it and prefix the block with \"::\" to make it a literal block or convert it to a table following one of the syntaxes in http://docutils.sourceforge.net/docs/ref/rst/directives.html#tables. I like the list-table myself, but it doesn\u0027t really matter as long as the rendered output looks ok.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3a9d9028911e98f8c0ac27412d44e19af5dcdde6","unresolved":false,"context_lines":[{"line_number":103,"context_line":" expanded or deleted before a merge based on discussions on the reviews."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"       Project       Vendor/Component   Error Catalog number  Criticality"},{"line_number":106,"context_line":"Def [A-Z][A-Z][A-Z]- [{0-9}|{A-Z}][A-Z]- [0000-9999]-         [0-9]"},{"line_number":107,"context_line":"Ex.       CIN-           NA-               0001-                2"},{"line_number":108,"context_line":"          Cinder         NetApp            driver error no      Criticality"},{"line_number":109,"context_line":"Ex.       GLA-           0A-               0051-                3"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_2b6b2c20","line":106,"updated":"2015-04-13 20:26:21.000000000","message":"what\u0027s the difference between a criticality\u003d2 and a criticality\u003d3? what about a criticality\u003d7 and a criticality\u003d8? (what\u0027s the point of this granularity, and how am i supposed to know what to use?)","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"a8a89e0b51e92244380fbf4859641aaf2957b3f1","unresolved":false,"context_lines":[{"line_number":108,"context_line":"          Cinder         NetApp            driver error no      Criticality"},{"line_number":109,"context_line":"Ex.       GLA-           0A-               0051-                3"},{"line_number":110,"context_line":"          Glance         Api               error no             Criticality"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_819452e2","line":111,"updated":"2015-06-03 00:42:57.000000000","message":"Don\u0027t we get the same thing for free already with:\n  DEBUG cinder.*\n  INFO cinder.*\n  WARNING cinder.*\n  ERROR cinder.*\n\netc","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"The same error code would be included in the log message and corresponding"},{"line_number":117,"context_line":"message provided to the user. This way any event that happens is easily"},{"line_number":118,"context_line":"identified on both ends. The lowest level code would be carried to the user."},{"line_number":119,"context_line":"This meaning that we do not assign new code nor overwrite it when the"},{"line_number":120,"context_line":"exception is catched and reraised, this would improve traceability. Log event"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_b39359fa","line":117,"updated":"2015-04-12 20:47:42.000000000","message":"Everything up to this point talked about the logs, for which we might want to report more detail than we would give to a tenant. For example, we don\u0027t want to expose the driver being used or the \"severity\" of the error (from the perspective of the operator) to the tenant. We just want to tell them their action failed and give a reason. If we want to cover both aspects of error reporting in this spec, I would appreciate some clarification in the earlier parts about whether they are really just talking about logging, or both logging and tenant error reporting.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"The same error code would be included in the log message and corresponding"},{"line_number":117,"context_line":"message provided to the user. This way any event that happens is easily"},{"line_number":118,"context_line":"identified on both ends. The lowest level code would be carried to the user."},{"line_number":119,"context_line":"This meaning that we do not assign new code nor overwrite it when the"},{"line_number":120,"context_line":"exception is catched and reraised, this would improve traceability. Log event"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_ce6008d2","line":117,"in_reply_to":"7aaa499b_b39359fa","updated":"2015-04-15 16:50:26.000000000","message":"Since the start of these conversations error codes have been key part of communication (end user -\u003e support -\u003e operator -\u003e vendor support -\u003e developers). I think the big question here should be how do we censor the data we do not want to give to the end user.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4b8447b24369cb25894aa4581af6a1980356de60","unresolved":false,"context_lines":[{"line_number":119,"context_line":"This meaning that we do not assign new code nor overwrite it when the"},{"line_number":120,"context_line":"exception is catched and reraised, this would improve traceability. Log event"},{"line_number":121,"context_line":"might have the current location prefixed with second code, but we should never"},{"line_number":122,"context_line":"use more than that within the project to avoid confusion. Logging/assigning"},{"line_number":123,"context_line":"the second code should be used only on DEBUG level and marked to documentation"},{"line_number":124,"context_line":"as \"DEBUG:\"."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Code would be also assigned to the log events which does not get reported to"},{"line_number":127,"context_line":"end user to help the operators on their troubleshooting. INFO level messages"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_7434a5dd","line":124,"range":{"start_line":122,"start_character":58,"end_line":124,"end_character":12},"updated":"2015-04-11 03:03:30.000000000","message":"hm... So, will we assign error codes at Warning/Error/Critical levels or not?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":121,"context_line":"might have the current location prefixed with second code, but we should never"},{"line_number":122,"context_line":"use more than that within the project to avoid confusion. Logging/assigning"},{"line_number":123,"context_line":"the second code should be used only on DEBUG level and marked to documentation"},{"line_number":124,"context_line":"as \"DEBUG:\"."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Code would be also assigned to the log events which does not get reported to"},{"line_number":127,"context_line":"end user to help the operators on their troubleshooting. INFO level messages"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_5fa38400","line":124,"in_reply_to":"7aaa499b_4e5638cf","updated":"2015-04-15 18:23:34.000000000","message":"We\u0027re mixing logging and error reporting concepts together again. If Nova calls Glance and gets an error back, which error code do we feed back through the Nova API to the tenant? If it\u0027s the Glance error, then suddenly a user of Nova might get a Glance error, which makes sense for Glance. Change Glance to Neutron, though, which is technically an optional component, and the answer is less obvious. Why would Nova use a Neutron error code instead of its own? And if Nova is using nova-net instead of Neutron, the error codes might all be completely different. That means the set of error codes returned when an instance create fails can be quite large - potentially almost any code defined by any component. Is that a useful experience for the end-user?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":119,"context_line":"This meaning that we do not assign new code nor overwrite it when the"},{"line_number":120,"context_line":"exception is catched and reraised, this would improve traceability. Log event"},{"line_number":121,"context_line":"might have the current location prefixed with second code, but we should never"},{"line_number":122,"context_line":"use more than that within the project to avoid confusion. Logging/assigning"},{"line_number":123,"context_line":"the second code should be used only on DEBUG level and marked to documentation"},{"line_number":124,"context_line":"as \"DEBUG:\"."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Code would be also assigned to the log events which does not get reported to"},{"line_number":127,"context_line":"end user to help the operators on their troubleshooting. INFO level messages"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_f35e8144","line":124,"range":{"start_line":122,"start_character":58,"end_line":124,"end_character":12},"in_reply_to":"7aaa499b_7434a5dd","updated":"2015-04-12 20:47:42.000000000","message":"I\u0027m not sure what you mean here about the \"lowest level code\" and overwriting. Do you mean that if nova receives an error from glance, it would pass that through unaltered rather than providing a more contextual error (reporting that the image download failed, for example, instead of that the instance creation failed)?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":121,"context_line":"might have the current location prefixed with second code, but we should never"},{"line_number":122,"context_line":"use more than that within the project to avoid confusion. Logging/assigning"},{"line_number":123,"context_line":"the second code should be used only on DEBUG level and marked to documentation"},{"line_number":124,"context_line":"as \"DEBUG:\"."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Code would be also assigned to the log events which does not get reported to"},{"line_number":127,"context_line":"end user to help the operators on their troubleshooting. INFO level messages"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_4e5638cf","line":124,"in_reply_to":"7aaa499b_f35e8144","updated":"2015-04-15 16:50:26.000000000","message":"The error codes would be assigned to all logging levels while more than one code should be only logged on debugging. As in that Nova error to create instance would not have series of 4 nova error codes, 3 glance error codes and 2 swift error codes prefixing the message.\n\nThis part is based on my brainstorming with myself so it would need review, input, rewording to be clear. The idea was that nova would indeed pass that code from Glance if it\u0027s instance creation failed because of failure in Glance preventing it getting the image. Providing the insight that the failure was indeed initiated from glance rather than nova speeding up the troubleshooting. Lowest level here referring to first issuer of the error code rather than logging level.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Code would be also assigned to the log events which does not get reported to"},{"line_number":127,"context_line":"end user to help the operators on their troubleshooting. INFO level messages"},{"line_number":128,"context_line":"should never have error code assigned to them."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_d35b8553","line":128,"updated":"2015-04-12 20:47:42.000000000","message":"See the earlier comment about location and identifying information in the existing log format.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Code would be also assigned to the log events which does not get reported to"},{"line_number":127,"context_line":"end user to help the operators on their troubleshooting. INFO level messages"},{"line_number":128,"context_line":"should never have error code assigned to them."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aa745d1_3d1def66","line":128,"in_reply_to":"7aaa499b_aea81c78","updated":"2015-04-15 18:23:34.000000000","message":"Presumably the error message in the nova logs would say something about the failure coming from the other service, right? AFAIK, we\u0027re logging the errors as we propagate them. So is the goal to make it easier to follow that chain, or is the goal to eliminate the chain entirely?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Code would be also assigned to the log events which does not get reported to"},{"line_number":127,"context_line":"end user to help the operators on their troubleshooting. INFO level messages"},{"line_number":128,"context_line":"should never have error code assigned to them."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_aea81c78","line":128,"in_reply_to":"7aaa499b_d35b8553","updated":"2015-04-15 16:50:26.000000000","message":"Still would not help a bit to trace back that line logged from somewhere in nova when problem got initiated for example from glance, swift, cinder etc. This is more referring to the previous segment where we talked to whom these codes are targeted to, meaning that we do not need to assign the codes only for end user purposes, but they could be used as easily searchable pointer just logged as well.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"bd5aed49413aa311984ae9ad38b875e7dcb80992","unresolved":false,"context_lines":[{"line_number":128,"context_line":"should never have error code assigned to them."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"},{"line_number":132,"context_line":"troubleshoot their issues on specific action."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"In the case other projects will adopt this the existing code should always be"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_fd863cb8","line":131,"updated":"2015-04-13 14:20:36.000000000","message":"Add a work item below for documentation to the spec.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"},{"line_number":132,"context_line":"troubleshoot their issues on specific action."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"In the case other projects will adopt this the existing code should always be"},{"line_number":135,"context_line":"respected. The first moment any given project gets the event, project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_b358f957","line":132,"updated":"2015-04-12 20:47:42.000000000","message":"I see how we can generate a list of error codes. I don\u0027t see how we can generate a list of their possible causes. Someone is going to have to write *some* of the documentation, right?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"},{"line_number":132,"context_line":"troubleshoot their issues on specific action."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"In the case other projects will adopt this the existing code should always be"},{"line_number":135,"context_line":"respected. The first moment any given project gets the event, project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aa745d1_1d1a336f","line":132,"in_reply_to":"7aaa499b_0efb907a","updated":"2015-04-15 18:23:34.000000000","message":"The deployer or tenant are not the primary audience for the documentation in the code repos. Those files are usually written with other developers in mind. Are you suggesting that we start referring deployers and tenants to those docs? I think we were assuming there would be some sort of troubleshooting guide managed separately that is written with the other audiences in mind.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"7f41d0dd78aa53f4b680fdbc6a52cbc734e29582","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"},{"line_number":132,"context_line":"troubleshoot their issues on specific action."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"In the case other projects will adopt this the existing code should always be"},{"line_number":135,"context_line":"respected. The first moment any given project gets the event, project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_c364884a","line":132,"in_reply_to":"7aaa499b_180d763e","updated":"2015-04-14 17:44:42.000000000","message":"@Anne, yes, I think we should identify the primary maintainer of any documentation intended to come out of this spec before we start making a bunch of supporting changes in the code. To be clear, I think it\u0027s the responsibility of the authors and supporters of the spec, rather than the current documentation team, to find someone to manage the content.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"61857761b33ebcf8531c99a44aa0233c0d266679","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"},{"line_number":132,"context_line":"troubleshoot their issues on specific action."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"In the case other projects will adopt this the existing code should always be"},{"line_number":135,"context_line":"respected. The first moment any given project gets the event, project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_180d763e","line":132,"in_reply_to":"7aaa499b_b358f957","updated":"2015-04-13 14:52:57.000000000","message":"There has long been a request for a troubleshooting guide, but never resources to do it. So yes, there\u0027s a need but no resource to fill it that I know of.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Documentation of the error codes and their possible causes would be generated."},{"line_number":131,"context_line":"The documentation would activate end users more to self service when trying to"},{"line_number":132,"context_line":"troubleshoot their issues on specific action."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"In the case other projects will adopt this the existing code should always be"},{"line_number":135,"context_line":"respected. The first moment any given project gets the event, project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_0efb907a","line":132,"in_reply_to":"7aaa499b_c364884a","updated":"2015-04-15 16:50:26.000000000","message":"The error code and it\u0027s additional information after the message should be documented in the repository exactly like we should document all new configuring options when they are created. Yes, this has developer impact but it should not be unmanageable task providing valuable details for that troubleshooting guide and easing the workload there.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":137,"context_line":"with swift error code; Glance catches and adds it own error as this is first"},{"line_number":138,"context_line":"time Glance touches the issue; Glance raises exception to Nova which adds Nova"},{"line_number":139,"context_line":"error code. This does bring us string of errors, but will give exceptional"},{"line_number":140,"context_line":"well documented traceback where the issue got initiated and what path it took."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_333bc9ed","line":140,"updated":"2015-04-12 20:47:42.000000000","message":"This paragraph seems to conflict with the statement on lines 119-124.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":137,"context_line":"with swift error code; Glance catches and adds it own error as this is first"},{"line_number":138,"context_line":"time Glance touches the issue; Glance raises exception to Nova which adds Nova"},{"line_number":139,"context_line":"error code. This does bring us string of errors, but will give exceptional"},{"line_number":140,"context_line":"well documented traceback where the issue got initiated and what path it took."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_6e80d4c0","line":140,"in_reply_to":"7aaa499b_333bc9ed","updated":"2015-04-15 16:50:26.000000000","message":"I do agree and would like to get rid of this as whole. Again part of my brainstorming with myself while writing the original Glance spec.\n\nThe original idea was that the full chain will not be logged but reported to the user, which sound like most awful solution atm.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":145,"context_line":"------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Refactor for Consistency: Refactoring the logging and exception"},{"line_number":148,"context_line":"messages to reflect each other better in a systematic way per project."},{"line_number":149,"context_line":"  Pros:"},{"line_number":150,"context_line":"  * Would lighten the needed documentation work."},{"line_number":151,"context_line":"  * Would provide a way to retranslate all error messages for the project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_f32561c2","line":148,"updated":"2015-04-12 20:47:42.000000000","message":"Can you provide an example of what you mean by this? It\u0027s not clear how I would help implement this if I was going to volunteer to participate in this work.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":145,"context_line":"------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Refactor for Consistency: Refactoring the logging and exception"},{"line_number":148,"context_line":"messages to reflect each other better in a systematic way per project."},{"line_number":149,"context_line":"  Pros:"},{"line_number":150,"context_line":"  * Would lighten the needed documentation work."},{"line_number":151,"context_line":"  * Would provide a way to retranslate all error messages for the project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aa745d1_fd2547ae","line":148,"in_reply_to":"7aaa499b_8ebe8063","updated":"2015-04-15 18:23:34.000000000","message":"OK, so it sounds like you want to rewrite the message text, not so much refactor the way the logging itself works. Is that right?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Refactor for Consistency: Refactoring the logging and exception"},{"line_number":148,"context_line":"messages to reflect each other better in a systematic way per project."},{"line_number":149,"context_line":"  Pros:"},{"line_number":150,"context_line":"  * Would lighten the needed documentation work."},{"line_number":151,"context_line":"  * Would provide a way to retranslate all error messages for the project"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_8ebe8063","line":148,"in_reply_to":"7aaa499b_f32561c2","updated":"2015-04-15 16:50:26.000000000","message":"Lots of exceptions through the code base are using default messages from exceptions they raise which are then logged as is. Only identification being the module provided by oslo logging where it was logged from. We also have lots of logging where the message is about as clear as just having placeholder on the logs for timestamp, level and module name. These should be refactored regardless, but if the error codes are being implemented the error messages can be improved to reflect the situation when the code is added and documented.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Refactor for Consistency: Refactoring the logging and exception"},{"line_number":148,"context_line":"messages to reflect each other better in a systematic way per project."},{"line_number":149,"context_line":"  Pros:"},{"line_number":150,"context_line":"  * Would lighten the needed documentation work."},{"line_number":151,"context_line":"  * Would provide a way to retranslate all error messages for the project"},{"line_number":152,"context_line":"    during the refactor cycle"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_1340cd55","line":149,"updated":"2015-04-12 20:47:42.000000000","message":"Throughout this section you need to separate paragraphs with blank lines and separate the lists from the normal paragraphs with blank lines to ensure the RST parser will understand your formatting instructions.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":" Translation solution:  Lazy translation for log messages or tracking down"},{"line_number":164,"context_line":" all error level calls to logs in the code base and translating the content"},{"line_number":165,"context_line":" pre-release"},{"line_number":166,"context_line":"  Pros:  Lazy translation only has to be as good as there is time for"},{"line_number":167,"context_line":"  Cons:  All error level calls still need to be reviewed and perhaps"},{"line_number":168,"context_line":"  refactored but consistency is harder to maintain across projects"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_531d3572","line":165,"updated":"2015-04-12 20:47:42.000000000","message":"We have already implemented the tools to do this. Are you saying that the translations are not being generated or maintained? Or that it is more work to create translations using the tools we have now than it would be to create them completely independently?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":" Translation solution:  Lazy translation for log messages or tracking down"},{"line_number":164,"context_line":" all error level calls to logs in the code base and translating the content"},{"line_number":165,"context_line":" pre-release"},{"line_number":166,"context_line":"  Pros:  Lazy translation only has to be as good as there is time for"},{"line_number":167,"context_line":"  Cons:  All error level calls still need to be reviewed and perhaps"},{"line_number":168,"context_line":"  refactored but consistency is harder to maintain across projects"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_69556ef8","line":165,"in_reply_to":"7aaa499b_531d3572","updated":"2015-04-15 16:50:26.000000000","message":"I\u0027m not sure where this is coming from, but I would guess central database of error codes with the metadata could be easier updated independently and the data improved when more is learned from the conditions rather than basing all the information on pre release knowledge.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":" Translation solution:  Lazy translation for log messages or tracking down"},{"line_number":164,"context_line":" all error level calls to logs in the code base and translating the content"},{"line_number":165,"context_line":" pre-release"},{"line_number":166,"context_line":"  Pros:  Lazy translation only has to be as good as there is time for"},{"line_number":167,"context_line":"  Cons:  All error level calls still need to be reviewed and perhaps"},{"line_number":168,"context_line":"  refactored but consistency is harder to maintain across projects"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aa745d1_dd2a8b7e","line":165,"in_reply_to":"7aaa499b_69556ef8","updated":"2015-04-15 18:23:34.000000000","message":"This sounds like the troubleshooting guide I mention in the comment on line 148. It may be easier to collect *extra* information about error messages in a central guide, but translation would be a duplication of effort with the existing message catalogs. I\u0027m not sure we can avoid that if we provide a central database or guide for all error codes.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":166,"context_line":"  Pros:  Lazy translation only has to be as good as there is time for"},{"line_number":167,"context_line":"  Cons:  All error level calls still need to be reviewed and perhaps"},{"line_number":168,"context_line":"  refactored but consistency is harder to maintain across projects"},{"line_number":169,"context_line":"  * Consistency alternative:  More strictly enforcing Logging Guidelines"},{"line_number":170,"context_line":"    during code reviews"},{"line_number":171,"context_line":"  * Refactoring the logging and exception messages to reflect each other"},{"line_number":172,"context_line":"    better."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_1317ad52","line":169,"updated":"2015-04-12 20:47:42.000000000","message":"Lines 169-172 seem to be repeated on 174-177. I\u0027m not sure, based on the formatting, if that is intentional or not.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"61857761b33ebcf8531c99a44aa0233c0d266679","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    better when code is changed for other reasons"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  Pros:"},{"line_number":180,"context_line":"  * Would lighten the needed documentation work."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"  Cons:"},{"line_number":183,"context_line":"  * It does not uniquely link the error and log message."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_3381734b","line":180,"updated":"2015-04-13 14:52:57.000000000","message":"Not necessarily and may create doc work without an assigned resource.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"61857761b33ebcf8531c99a44aa0233c0d266679","unresolved":false,"context_lines":[{"line_number":183,"context_line":"  * It does not uniquely link the error and log message."},{"line_number":184,"context_line":"  * Detecting duplicates throught the code base is heavy process."},{"line_number":185,"context_line":"  * Removes possibility to provide different information to end user and"},{"line_number":186,"context_line":"    operator"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_33cf33b2","line":186,"updated":"2015-04-13 14:52:57.000000000","message":"This lack of separation will be a bigger problem than we can adequately frame here. Consistency is fine; how will security concerns be addressed and how will this spec address definitions of boundaries of what is shared info?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":183,"context_line":"  * It does not uniquely link the error and log message."},{"line_number":184,"context_line":"  * Detecting duplicates throught the code base is heavy process."},{"line_number":185,"context_line":"  * Removes possibility to provide different information to end user and"},{"line_number":186,"context_line":"    operator"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_e9b73e38","line":186,"in_reply_to":"7aaa499b_33cf33b2","updated":"2015-04-15 16:50:26.000000000","message":"I think that\u0027s one of those points where discussion/ideas/insight from wider contributor base would be welcome","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9a6072eede81eb05c665e77c6ab3fe67496ac12e","unresolved":false,"context_lines":[{"line_number":185,"context_line":"  * Removes possibility to provide different information to end user and"},{"line_number":186,"context_line":"    operator"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Data model impact"},{"line_number":190,"context_line":"-----------------"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_c4836acb","line":188,"updated":"2015-06-03 09:45:45.000000000","message":"Would a uuid for every log point in the code, be basically what we are looking for here?\n\nWhile the uuid does bloat the code, we can (unit?) test to ensure they are unique per project (to stop cut and paste badness), without the need for maintaining a single list of error codes somewhere. That single list tends to cause a massive number of merge conflicts (we have enough issues with the exception.py and RPC versions, without adding another bad reason for messy rebases).","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"6aed3adb0ca18c34d979d9d9c28b3034d9f6f22a","unresolved":false,"context_lines":[{"line_number":194,"context_line":"REST API impact"},{"line_number":195,"context_line":"---------------"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Technically none, the message field of the responses would change."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Security impact"},{"line_number":200,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_716fb0c5","line":197,"updated":"2015-04-15 03:48:50.000000000","message":"need examples here\n\nIn your last patch, you example is providing an error stack, [heat-error, nova-error]. How could this stack be presented in current design?","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"7f41d0dd78aa53f4b680fdbc6a52cbc734e29582","unresolved":false,"context_lines":[{"line_number":245,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Assignee(s)"},{"line_number":248,"context_line":"-----------"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Primary assignee:"},{"line_number":251,"context_line":"  Glance:  jokke"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_037ef0ad","line":248,"updated":"2015-04-14 17:44:42.000000000","message":"We should identify folks willing to help with the documentation and tools in this section.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e07bc5702eca54462fad1ae12c59b84453f9afd3","unresolved":false,"context_lines":[{"line_number":286,"context_line":"Documentation Impact"},{"line_number":287,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"The documentation should be built during the implementation process."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_9303bd0f","line":289,"updated":"2015-04-12 20:47:42.000000000","message":"Where will we document the error codes? How will that documentation be generated or written? Do we need tools to help keep it up to date? We need to list any tools that need to be created in the work items section.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"61857761b33ebcf8531c99a44aa0233c0d266679","unresolved":false,"context_lines":[{"line_number":286,"context_line":"Documentation Impact"},{"line_number":287,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"The documentation should be built during the implementation process."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_b300e3ab","line":289,"in_reply_to":"7aaa499b_9303bd0f","updated":"2015-04-13 14:52:57.000000000","message":"+1\n\nIt\u0027s especially difficult if there\u0027s really no separation between end user messages and cloud op messages.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dc0a6a4e8a7ff57a01eb5af96d5e9ae77d8fcf9b","unresolved":false,"context_lines":[{"line_number":286,"context_line":"Documentation Impact"},{"line_number":287,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"The documentation should be built during the implementation process."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_c95002d7","line":289,"in_reply_to":"7aaa499b_b300e3ab","updated":"2015-04-15 16:50:26.000000000","message":"First one I would suggest in each projects repository.\n\nregarding the tools, I think we would need to know the process first and design the tools for it rather than guess tooling needs for every possible outcome while the spec evolves. At least I do not have smallest idea of the needs nor implementation based on the variety of the comments above.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2d585cbfec5f0efbbd1e54b9df4d9715efa19b92","unresolved":false,"context_lines":[{"line_number":286,"context_line":"Documentation Impact"},{"line_number":287,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"The documentation should be built during the implementation process."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aa745d1_bd1fbf5a","line":289,"in_reply_to":"7aaa499b_c95002d7","updated":"2015-04-15 18:23:34.000000000","message":"Part of the point of writing up these specs is to think about the answers to questions like this in advance. For the spec to be complete, it needs to include details about what tools are needed based on a proposed workflow.\n\nSee my earlier comment about the intended audience for in-tree documentation vs. the various manuals managed by the docs team.","commit_id":"2fe2159804db28b772cdfdef78f90dfef9222aaa"}]}
