)]}'
{"playbooks/plugins/callback/devstack.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"26c3a9d5f99b3a8d5015679740cecf04b3032d07","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \u0027\u0027\u0027output the result of a command run\u0027\u0027\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        buf \u003d \"%s | %s | %s | rc\u003d%s \u003e\u003e\\n\" % ("},{"line_number":49,"context_line":"            datetime.datetime.now(), host, caption, result.get(\u0027rc\u0027, 0))"},{"line_number":50,"context_line":"        buf +\u003d result.get(\u0027stdout\u0027, \u0027\u0027)"},{"line_number":51,"context_line":"        buf +\u003d result.get(\u0027stderr\u0027, \u0027\u0027)"},{"line_number":52,"context_line":"        buf +\u003d result.get(\u0027msg\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a74a57a_bed11832","line":49,"updated":"2016-11-29 18:08:36.000000000","message":"I love timestamps, but there is a theory that microsecond precision creates more keys in elasticsearch which leads to our out of memory errors there. Also, microsecond precision likely not to be incredibly accurate with python anyways. Would it be terrible to get this as milliseconds (which is what we had with devstack\u0027s timestamping)?","commit_id":"6e6349e311f0d140c80025cdc4321521363fa25a"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6ec732e143ee30635810514f9a6ab2618b6949cc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \u0027\u0027\u0027output the result of a command run\u0027\u0027\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        buf \u003d \"%s | %s | %s | rc\u003d%s \u003e\u003e\\n\" % ("},{"line_number":49,"context_line":"            datetime.datetime.now(), host, caption, result.get(\u0027rc\u0027, 0))"},{"line_number":50,"context_line":"        buf +\u003d result.get(\u0027stdout\u0027, \u0027\u0027)"},{"line_number":51,"context_line":"        buf +\u003d result.get(\u0027stderr\u0027, \u0027\u0027)"},{"line_number":52,"context_line":"        buf +\u003d result.get(\u0027msg\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a74a57a_a15e5910","line":49,"in_reply_to":"5a74a57a_bed11832","updated":"2016-11-29 18:26:58.000000000","message":"Done","commit_id":"6e6349e311f0d140c80025cdc4321521363fa25a"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"26c3a9d5f99b3a8d5015679740cecf04b3032d07","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            self._display.display("},{"line_number":59,"context_line":"                \"An exception occurred during task execution.\""},{"line_number":60,"context_line":"                \" The full traceback is:\\n\" + result._result[\u0027exception\u0027],"},{"line_number":61,"context_line":"                color\u003dC.COLOR_ERROR)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if result._task.action in C.MODULE_NO_JSON:"},{"line_number":64,"context_line":"            self._display.display("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a74a57a_5ec0047d","line":61,"updated":"2016-11-29 18:08:36.000000000","message":"I think we want to intentionally avoid any color output with devstack gate. These logs will almost always be consumed later and colorization will just get annoying.","commit_id":"6e6349e311f0d140c80025cdc4321521363fa25a"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6ec732e143ee30635810514f9a6ab2618b6949cc","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            self._display.display("},{"line_number":59,"context_line":"                \"An exception occurred during task execution.\""},{"line_number":60,"context_line":"                \" The full traceback is:\\n\" + result._result[\u0027exception\u0027],"},{"line_number":61,"context_line":"                color\u003dC.COLOR_ERROR)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if result._task.action in C.MODULE_NO_JSON:"},{"line_number":64,"context_line":"            self._display.display("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a74a57a_e19e91b7","line":61,"in_reply_to":"5a74a57a_5ec0047d","updated":"2016-11-29 18:26:58.000000000","message":"Done","commit_id":"6e6349e311f0d140c80025cdc4321521363fa25a"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"6c11698bc7a7a67974e051e2583703041b356abd","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def _get_timestamp():"},{"line_number":32,"context_line":"    return str(datetime.datetime.now()).split(\u0027.\u0027)[0]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class CallbackModule(CallbackBase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_8db8ac2c","line":32,"updated":"2016-11-29 20:18:18.000000000","message":"We want milliseconds, not microseconds. I think this just gives us seconds. Something like:\n\n  datetime.datetime.now().strftime(\u0027%Y-%m-%d %H:%M:%S.%f\u0027)[:-3]\n\nshould be close.","commit_id":"b7c3bcdb10bf3453912811fcc3594b1fe8c077e7"}],"playbooks/roles/gather_host_info/tasks/main.yaml":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"26c3a9d5f99b3a8d5015679740cecf04b3032d07","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- debug: msg\u003d\"The running kernel version is {{ ansible_kernel }}\""},{"line_number":3,"context_line":"- debug: msg\u003d\"This instance has {{ ansible_processor_vcpus }} vcpu(s)\""},{"line_number":4,"context_line":"- debug: msg\u003d\"Locale:\""},{"line_number":5,"context_line":"- command: locale"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a74a57a_bee75845","line":3,"updated":"2016-11-29 18:08:36.000000000","message":"We can remove the kernel stuff and vcpu info as the fact printing contains all that info. Only the locale is lacking from the fact output. (maybe that means this should be renamed \"gather_locale_info\".)","commit_id":"6e6349e311f0d140c80025cdc4321521363fa25a"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6ec732e143ee30635810514f9a6ab2618b6949cc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- debug: msg\u003d\"The running kernel version is {{ ansible_kernel }}\""},{"line_number":3,"context_line":"- debug: msg\u003d\"This instance has {{ ansible_processor_vcpus }} vcpu(s)\""},{"line_number":4,"context_line":"- debug: msg\u003d\"Locale:\""},{"line_number":5,"context_line":"- command: locale"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a74a57a_01a46d06","line":3,"in_reply_to":"5a74a57a_bee75845","updated":"2016-11-29 18:26:58.000000000","message":"Done","commit_id":"6e6349e311f0d140c80025cdc4321521363fa25a"}]}
