)]}'
{"tripleo_ansible/ansible_plugins/modules/tripleo_diff_exec.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"14739599d4fcbba2d958959a67629bfe9c34bda1","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        results[\u0027failed\u0027] \u003d True"},{"line_number":94,"context_line":"        results[\u0027error\u0027] \u003d \"Missing state file\""},{"line_number":95,"context_line":"        results[\u0027msg\u0027] \u003d \"State file does not exist: %s\" % state_file"},{"line_number":96,"context_line":"    elif (not os.path.exists(state_file_bkup) or"},{"line_number":97,"context_line":"          not filecmp.cmp(state_file, state_file_bkup, shallow\u003dFalse)):"},{"line_number":98,"context_line":"        # run command"},{"line_number":99,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a8dd1e42","line":96,"updated":"2020-08-26 21:11:15.000000000","message":"linters: W504 line break after binary operator","commit_id":"9fe32f33ac14802e9268d4a92ccd42f5e250df5e"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"2c1548d98f55b7de726cab0a0b4623a10a6bc330","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    description:"},{"line_number":69,"context_line":"      - Suffix to use to store the previous version of the file for comparisons"},{"line_number":70,"context_line":"        between runs"},{"line_number":71,"context_line":"    required: true"},{"line_number":72,"context_line":"    type: string"},{"line_number":73,"context_line":"\u0027\u0027\u0027"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_118f0e75","line":71,"range":{"start_line":71,"start_character":4,"end_line":71,"end_character":17},"updated":"2020-08-27 09:44:19.000000000","message":"No need to make it required since that suffix may be auto-generated as well, if not given.","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"1da297ce26bdcc5d1d988f4c8758affa09cf3e03","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    description:"},{"line_number":69,"context_line":"      - Suffix to use to store the previous version of the file for comparisons"},{"line_number":70,"context_line":"        between runs"},{"line_number":71,"context_line":"    required: true"},{"line_number":72,"context_line":"    type: string"},{"line_number":73,"context_line":"\u0027\u0027\u0027"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_e6c1fd4f","line":71,"range":{"start_line":71,"start_character":4,"end_line":71,"end_character":17},"in_reply_to":"9f560f44_118f0e75","updated":"2020-08-27 13:46:48.000000000","message":"It\u0027s currently not auto-generated so we can add a default instead.","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"062ed2bcac7cb6881da0a8e24571aedb0fc9eb1d","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        results[\u0027error\u0027] \u003d \"Missing state file\""},{"line_number":104,"context_line":"        results[\u0027msg\u0027] \u003d \"State file does not exist: %s\" % state_file"},{"line_number":105,"context_line":"    elif (not os.path.exists(state_file_bkup)"},{"line_number":106,"context_line":"            or not filecmp.cmp(state_file, state_file_bkup, shallow\u003dFalse)):"},{"line_number":107,"context_line":"        # run command"},{"line_number":108,"context_line":"        try:"},{"line_number":109,"context_line":"            tmp_environment \u003d os.environ.copy()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_71412a0a","line":106,"range":{"start_line":106,"start_character":60,"end_line":106,"end_character":73},"updated":"2020-08-27 09:47:44.000000000","message":"why don\u0027t we want the default OS stat-based files comparison?","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":20172,"name":"Michele Baldessari","email":"michele@acksyn.org","username":"michele"},"change_message_id":"ca7de276ece32b60cebccffd07c5dae8af72e4d8","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        results[\u0027error\u0027] \u003d \"Missing state file\""},{"line_number":104,"context_line":"        results[\u0027msg\u0027] \u003d \"State file does not exist: %s\" % state_file"},{"line_number":105,"context_line":"    elif (not os.path.exists(state_file_bkup)"},{"line_number":106,"context_line":"            or not filecmp.cmp(state_file, state_file_bkup, shallow\u003dFalse)):"},{"line_number":107,"context_line":"        # run command"},{"line_number":108,"context_line":"        try:"},{"line_number":109,"context_line":"            tmp_environment \u003d os.environ.copy()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_ecc1e14f","line":106,"range":{"start_line":106,"start_character":60,"end_line":106,"end_character":73},"in_reply_to":"9f560f44_71412a0a","updated":"2020-08-27 10:51:14.000000000","message":"Because it is safer and we really care about the content only","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"6b846651ee03b9901b35b37bdf2e7901ad1630be","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        try:"},{"line_number":109,"context_line":"            tmp_environment \u003d os.environ.copy()"},{"line_number":110,"context_line":"            tmp_environment.update(environment)"},{"line_number":111,"context_line":"            r \u003d subprocess.run(command, shell\u003dTrue, env\u003dtmp_environment, stdout\u003dsubprocess.PIPE,"},{"line_number":112,"context_line":"                               stderr\u003dsubprocess.PIPE)"},{"line_number":113,"context_line":"            if r.returncode in return_codes:"},{"line_number":114,"context_line":"                results[\u0027changed\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_11c70e66","line":111,"range":{"start_line":111,"start_character":27,"end_line":111,"end_character":30},"updated":"2020-08-27 09:53:27.000000000","message":"universal_newlines\u003dTrue ?","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":20172,"name":"Michele Baldessari","email":"michele@acksyn.org","username":"michele"},"change_message_id":"ca7de276ece32b60cebccffd07c5dae8af72e4d8","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        try:"},{"line_number":109,"context_line":"            tmp_environment \u003d os.environ.copy()"},{"line_number":110,"context_line":"            tmp_environment.update(environment)"},{"line_number":111,"context_line":"            r \u003d subprocess.run(command, shell\u003dTrue, env\u003dtmp_environment, stdout\u003dsubprocess.PIPE,"},{"line_number":112,"context_line":"                               stderr\u003dsubprocess.PIPE)"},{"line_number":113,"context_line":"            if r.returncode in return_codes:"},{"line_number":114,"context_line":"                results[\u0027changed\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_4ca28daf","line":111,"range":{"start_line":111,"start_character":27,"end_line":111,"end_character":30},"in_reply_to":"9f560f44_11c70e66","updated":"2020-08-27 10:51:14.000000000","message":"Ack, good point","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"55a678b52bb4b3526532835a4bb16fdb92008b56","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            if r.returncode in return_codes:"},{"line_number":114,"context_line":"                results[\u0027changed\u0027] \u003d True"},{"line_number":115,"context_line":"                # copy old to bkup"},{"line_number":116,"context_line":"                shutil.copy2(state_file, state_file_bkup)"},{"line_number":117,"context_line":"            else:"},{"line_number":118,"context_line":"                results[\u0027failed\u0027] \u003d True"},{"line_number":119,"context_line":"                results[\u0027error\u0027] \u003d \"Failed running command\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_51d4e61f","line":116,"range":{"start_line":116,"start_character":23,"end_line":116,"end_character":28},"updated":"2020-08-27 09:51:37.000000000","message":"not sure we really should copy last access time, last modification time for the watched file. Unless we have a very specifc case here and want always preserve stat attributes and always compare files by contents","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":20172,"name":"Michele Baldessari","email":"michele@acksyn.org","username":"michele"},"change_message_id":"ca7de276ece32b60cebccffd07c5dae8af72e4d8","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            if r.returncode in return_codes:"},{"line_number":114,"context_line":"                results[\u0027changed\u0027] \u003d True"},{"line_number":115,"context_line":"                # copy old to bkup"},{"line_number":116,"context_line":"                shutil.copy2(state_file, state_file_bkup)"},{"line_number":117,"context_line":"            else:"},{"line_number":118,"context_line":"                results[\u0027failed\u0027] \u003d True"},{"line_number":119,"context_line":"                results[\u0027error\u0027] \u003d \"Failed running command\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_ec960149","line":116,"range":{"start_line":116,"start_character":23,"end_line":116,"end_character":28},"in_reply_to":"9f560f44_51d4e61f","updated":"2020-08-27 10:51:14.000000000","message":"access time and whatnot can be a useful debugging tool to know when we changed it, so I think it\u0027s okay to keep","commit_id":"a2e5c11f6e294e7828a6abb559d4a68872b1314e"},{"author":{"_account_id":20172,"name":"Michele Baldessari","email":"michele@acksyn.org","username":"michele"},"change_message_id":"0ff6b83d3d771d1da38b201dbbba3797115cc710","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    description:"},{"line_number":70,"context_line":"      - Suffix to use to store the previous version of the file for comparisons"},{"line_number":71,"context_line":"        between runs"},{"line_number":72,"context_line":"    required: true"},{"line_number":73,"context_line":"    default: -tripleo_diff_exec"},{"line_number":74,"context_line":"    type: str"},{"line_number":75,"context_line":"\u0027\u0027\u0027"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"RETURN \u003d \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_dfbd98b1","line":74,"range":{"start_line":72,"start_character":0,"end_line":74,"end_character":13},"updated":"2020-08-27 16:05:35.000000000","message":"error\u003d{\"changed\": false, \"msg\": \"Module alias error: internal error: required and default are mutually exclusive for state_file_suffix\"}","commit_id":"619d58153d8e5f1b229106da52087b1f4293a789"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"9383dbcf98b9f811104171e319bb5e26ebb6619f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    description:"},{"line_number":70,"context_line":"      - Suffix to use to store the previous version of the file for comparisons"},{"line_number":71,"context_line":"        between runs"},{"line_number":72,"context_line":"    required: true"},{"line_number":73,"context_line":"    default: -tripleo_diff_exec"},{"line_number":74,"context_line":"    type: str"},{"line_number":75,"context_line":"\u0027\u0027\u0027"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"RETURN \u003d \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_3f2c9400","line":74,"range":{"start_line":72,"start_character":0,"end_line":74,"end_character":13},"in_reply_to":"9f560f44_dfbd98b1","updated":"2020-08-27 16:07:34.000000000","message":"Done","commit_id":"619d58153d8e5f1b229106da52087b1f4293a789"}]}
