)]}'
{"setup.cfg":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"2bc9fe06ca1d35e2d2e750707842d009fa303be8","unresolved":true,"context_lines":[{"line_number":22,"context_line":"[files]"},{"line_number":23,"context_line":"data_files \u003d"},{"line_number":24,"context_line":"    usr/local/share/ansible/roles \u003d roles/*"},{"line_number":25,"context_line":"packages \u003d"},{"line_number":26,"context_line":"    tripleo_get_hash"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[egg_info]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":11,"id":"ba0989e5_780264f3","line":25,"updated":"2021-04-13 05:31:47.000000000","message":"It is no longer needed, as we got an additional setup.cfg file for the tripleo-get-hash itself.","commit_id":"fc8d76ae4ab62b72b616e1de9891e18e1d577685"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"0228882aab703fa47aa7aa131e5dfea83c3b0607","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[files]"},{"line_number":23,"context_line":"data_files \u003d"},{"line_number":24,"context_line":"    usr/local/share/ansible/roles \u003d roles/*"},{"line_number":25,"context_line":"packages \u003d"},{"line_number":26,"context_line":"    tripleo_get_hash"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[egg_info]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":11,"id":"6cae7344_cdc76d5e","line":25,"in_reply_to":"ba0989e5_780264f3","updated":"2021-04-13 10:38:55.000000000","message":"Ack","commit_id":"fc8d76ae4ab62b72b616e1de9891e18e1d577685"}],"tripleo-get-hash/README.md":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ebf0ebfccf4d55446f7140c03fc99e55dbb97b3e","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# tripleo_get_hash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This utility is meant for use by TripleO deployments, particularly in zuul"},{"line_number":4,"context_line":"continuous integration jobs. Given an RDO named tag, such as \u0027current-tripleo\u0027"}],"source_content_type":"text/x-gfm","patch_set":15,"id":"785bd4c1_8eae6396","line":1,"range":{"start_line":1,"start_character":9,"end_line":1,"end_character":10},"updated":"2021-04-15 13:32:13.000000000","message":"actually tripleo-get-hash","commit_id":"7aa39ddbacf88f92d6f5fa8b61da492c93a33be5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ebf0ebfccf4d55446f7140c03fc99e55dbb97b3e","unresolved":true,"context_lines":[{"line_number":6,"context_line":"the commit, distro and full hashes where available."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"It includes a simple command line interface, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"```"},{"line_number":11,"context_line":"     python -m tripleo_get_hash # by default centos8, master, current-tripleo."},{"line_number":12,"context_line":"     python -m tripleo_get_hash --component tripleo --release victoria --os-version centos8"}],"source_content_type":"text/x-gfm","patch_set":15,"id":"d3e8387d_8038cb5f","line":9,"updated":"2021-04-15 13:32:13.000000000","message":"add info here python setup.py install etc \nlocation of expected config file and keys","commit_id":"7aa39ddbacf88f92d6f5fa8b61da492c93a33be5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"f488a25f391ddec12ce1390911f09eff536e95b7","unresolved":false,"context_lines":[{"line_number":6,"context_line":"the commit, distro and full hashes where available."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"It includes a simple command line interface, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"```"},{"line_number":11,"context_line":"     python -m tripleo_get_hash # by default centos8, master, current-tripleo."},{"line_number":12,"context_line":"     python -m tripleo_get_hash --component tripleo --release victoria --os-version centos8"}],"source_content_type":"text/x-gfm","patch_set":15,"id":"f6af51b0_bde34c4c","line":9,"in_reply_to":"d3e8387d_8038cb5f","updated":"2021-04-16 12:13:00.000000000","message":"Done","commit_id":"7aa39ddbacf88f92d6f5fa8b61da492c93a33be5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5c4c713009e42913743c0d8deba2fc9b2769ae15","unresolved":true,"context_lines":[{"line_number":8,"context_line":"It includes a simple command line interface, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"```"},{"line_number":11,"context_line":"     python -m tripleo_get_hash # by default centos8, master, current-tripleo."},{"line_number":12,"context_line":"     python -m tripleo_get_hash --component tripleo --release victoria --os-version centos8"},{"line_number":13,"context_line":"     python -m tripleo_get_hash --release master --os-version centos7"},{"line_number":14,"context_line":"     python -m tripleo_get_hash --release train # by default centos8"}],"source_content_type":"text/x-gfm","patch_set":16,"id":"a4c62200_f0534ba4","line":11,"updated":"2021-04-16 17:08:11.000000000","message":"needs updating no underscore anymore","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"64c863e62d8adcb7286d5d9e83855bb1d5ae071a","unresolved":true,"context_lines":[{"line_number":8,"context_line":"It includes a simple command line interface, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"```"},{"line_number":11,"context_line":"     python -m tripleo_get_hash # by default centos8, master, current-tripleo."},{"line_number":12,"context_line":"     python -m tripleo_get_hash --component tripleo --release victoria --os-version centos8"},{"line_number":13,"context_line":"     python -m tripleo_get_hash --release master --os-version centos7"},{"line_number":14,"context_line":"     python -m tripleo_get_hash --release train # by default centos8"}],"source_content_type":"text/x-gfm","patch_set":16,"id":"d4cc660f_ab826805","line":11,"in_reply_to":"a4c62200_f0534ba4","updated":"2021-04-20 10:28:27.000000000","message":"no this is ok when invoking as a module. added some more info in the readme for next update anyway","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":30750,"name":"amolkahat","display_name":"Amol Kahat","email":"amolkahat@gmail.com","username":"amolkahat"},"change_message_id":"57e8eba254ef490af3fe01485865a6160ad9b58a","unresolved":true,"context_lines":[{"line_number":10,"context_line":"It includes a simple command line interface. If you clone the source you can"},{"line_number":11,"context_line":"try it out of the box without installation invoking it as a module:"},{"line_number":12,"context_line":"```"},{"line_number":13,"context_line":"     python -m tripleoget_hash # by default centos8, master, current-tripleo."},{"line_number":14,"context_line":"     python -m tripleo_get_hash --component tripleo --release victoria --os-version centos8"},{"line_number":15,"context_line":"     python -m tripleo_get_hash --release master --os-version centos7"},{"line_number":16,"context_line":"     python -m tripleo_get_hash --release train # by default centos8"}],"source_content_type":"text/x-gfm","patch_set":20,"id":"c34bb693_f7201c0c","line":13,"range":{"start_line":13,"start_character":15,"end_line":13,"end_character":30},"updated":"2021-04-26 18:44:03.000000000","message":"tripleo_get_hash???","commit_id":"15f01182ac3debb877466860118c3242defe4c8c"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"831a5da64f6aae3407c65f6819d85b82946572da","unresolved":true,"context_lines":[{"line_number":10,"context_line":"It includes a simple command line interface. If you clone the source you can"},{"line_number":11,"context_line":"try it out of the box without installation invoking it as a module:"},{"line_number":12,"context_line":"```"},{"line_number":13,"context_line":"     python -m tripleoget_hash # by default centos8, master, current-tripleo."},{"line_number":14,"context_line":"     python -m tripleo_get_hash --component tripleo --release victoria --os-version centos8"},{"line_number":15,"context_line":"     python -m tripleo_get_hash --release master --os-version centos7"},{"line_number":16,"context_line":"     python -m tripleo_get_hash --release train # by default centos8"}],"source_content_type":"text/x-gfm","patch_set":20,"id":"44e3903c_92ec5279","line":13,"range":{"start_line":13,"start_character":15,"end_line":13,"end_character":30},"in_reply_to":"c34bb693_f7201c0c","updated":"2021-04-27 10:03:23.000000000","message":"yes thanks","commit_id":"15f01182ac3debb877466860118c3242defe4c8c"}],"tripleo-get-hash/config.yaml":[{"author":{"_account_id":9592,"name":"wes hayutin","email":"whayutin@redhat.com","username":"weshayutin"},"change_message_id":"3f753735daaea21ee0348bb0f16d2686b6521d21","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"015250a4_bfd059fe","line":37,"updated":"2021-04-15 13:27:53.000000000","message":"promoted-components","commit_id":"7aa39ddbacf88f92d6f5fa8b61da492c93a33be5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"f488a25f391ddec12ce1390911f09eff536e95b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"387f5a58_c6b21a7d","line":37,"in_reply_to":"015250a4_bfd059fe","updated":"2021-04-16 12:13:00.000000000","message":"Done","commit_id":"7aa39ddbacf88f92d6f5fa8b61da492c93a33be5"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"723d0dc1d95069373facf901e0dfa64edb1143dc","unresolved":true,"context_lines":[{"line_number":10,"context_line":"  - victoria"},{"line_number":11,"context_line":"  - ussuri"},{"line_number":12,"context_line":"  - train"},{"line_number":13,"context_line":"  - osp16-1"},{"line_number":14,"context_line":"  - osp16-2"},{"line_number":15,"context_line":"  - osp17"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":21,"id":"4b5a8c1f_17179460","line":13,"updated":"2021-04-28 20:41:42.000000000","message":"not sure we need this","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":true,"context_lines":[{"line_number":10,"context_line":"  - victoria"},{"line_number":11,"context_line":"  - ussuri"},{"line_number":12,"context_line":"  - train"},{"line_number":13,"context_line":"  - osp16-1"},{"line_number":14,"context_line":"  - osp16-2"},{"line_number":15,"context_line":"  - osp17"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":21,"id":"475c6758_fa3dc53e","line":13,"in_reply_to":"4b5a8c1f_17179460","updated":"2021-04-29 08:32:31.000000000","message":"Ok can remove","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"723d0dc1d95069373facf901e0dfa64edb1143dc","unresolved":true,"context_lines":[{"line_number":38,"context_line":"  - component-ci-testing"},{"line_number":39,"context_line":"  - promoted-components"},{"line_number":40,"context_line":"  - tripleo-ci-testing"},{"line_number":41,"context_line":"  - current-tripleo"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"os_versions:"},{"line_number":44,"context_line":"  - centos7"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"18dd0c14_668e8305","line":41,"updated":"2021-04-28 20:41:42.000000000","message":"- current-tripleo-rdo","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":true,"context_lines":[{"line_number":38,"context_line":"  - component-ci-testing"},{"line_number":39,"context_line":"  - promoted-components"},{"line_number":40,"context_line":"  - tripleo-ci-testing"},{"line_number":41,"context_line":"  - current-tripleo"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"os_versions:"},{"line_number":44,"context_line":"  - centos7"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7345cd90_5cb74825","line":41,"in_reply_to":"18dd0c14_668e8305","updated":"2021-04-29 08:32:31.000000000","message":"Yes thanks adding","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"723d0dc1d95069373facf901e0dfa64edb1143dc","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":21,"id":"09c4ec97_beabb353","line":47,"updated":"2021-04-28 20:41:42.000000000","message":"TODO: centos9, rhel9","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":21,"id":"852564ea_a8680a13","line":47,"in_reply_to":"09c4ec97_beabb353","updated":"2021-04-29 08:32:31.000000000","message":"I mean I can have them right now but strictly speaking it\u0027s not correct there is no such thing 2 query yet so let\u0027s not yet","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"}],"tripleo-get-hash/setup.cfg":[{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"efb2be6391b4f16f1e05d41edf76bfa6677db60f","unresolved":true,"context_lines":[{"line_number":6,"context_line":"description \u003d Get the tripleo build hash for a known RDO named tag."},{"line_number":7,"context_line":"long_description \u003d file: README.md LICENSE"},{"line_number":8,"context_line":"long_description_content_type \u003d text/markdown"},{"line_number":9,"context_line":"url \u003d https://github.com/woo"},{"line_number":10,"context_line":"project_urls \u003d"},{"line_number":11,"context_line":"    Bug Tracker \u003d https://github.com/woo"},{"line_number":12,"context_line":"license_file \u003d LICENSE"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"a324650d_c6743418","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":28},"updated":"2021-04-16 12:48:15.000000000","message":"this may need adjustment :)","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5c4c713009e42913743c0d8deba2fc9b2769ae15","unresolved":true,"context_lines":[{"line_number":6,"context_line":"description \u003d Get the tripleo build hash for a known RDO named tag."},{"line_number":7,"context_line":"long_description \u003d file: README.md LICENSE"},{"line_number":8,"context_line":"long_description_content_type \u003d text/markdown"},{"line_number":9,"context_line":"url \u003d https://github.com/woo"},{"line_number":10,"context_line":"project_urls \u003d"},{"line_number":11,"context_line":"    Bug Tracker \u003d https://github.com/woo"},{"line_number":12,"context_line":"license_file \u003d LICENSE"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"a87fba24_31695645","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":28},"in_reply_to":"a324650d_c6743418","updated":"2021-04-16 17:08:11.000000000","message":"yes ;)","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"64c863e62d8adcb7286d5d9e83855bb1d5ae071a","unresolved":false,"context_lines":[{"line_number":6,"context_line":"description \u003d Get the tripleo build hash for a known RDO named tag."},{"line_number":7,"context_line":"long_description \u003d file: README.md LICENSE"},{"line_number":8,"context_line":"long_description_content_type \u003d text/markdown"},{"line_number":9,"context_line":"url \u003d https://github.com/woo"},{"line_number":10,"context_line":"project_urls \u003d"},{"line_number":11,"context_line":"    Bug Tracker \u003d https://github.com/woo"},{"line_number":12,"context_line":"license_file \u003d LICENSE"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"eb8cacc3_f7ebdeb5","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":28},"in_reply_to":"a87fba24_31695645","updated":"2021-04-20 10:28:27.000000000","message":"Done","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"efb2be6391b4f16f1e05d41edf76bfa6677db60f","unresolved":true,"context_lines":[{"line_number":8,"context_line":"long_description_content_type \u003d text/markdown"},{"line_number":9,"context_line":"url \u003d https://github.com/woo"},{"line_number":10,"context_line":"project_urls \u003d"},{"line_number":11,"context_line":"    Bug Tracker \u003d https://github.com/woo"},{"line_number":12,"context_line":"license_file \u003d LICENSE"},{"line_number":13,"context_line":"license \u003d Apache-2.0"},{"line_number":14,"context_line":"classifiers \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"d2b5f55c_b43da996","line":11,"range":{"start_line":11,"start_character":17,"end_line":11,"end_character":40},"updated":"2021-04-16 12:48:15.000000000","message":"same as above","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5c4c713009e42913743c0d8deba2fc9b2769ae15","unresolved":false,"context_lines":[{"line_number":8,"context_line":"long_description_content_type \u003d text/markdown"},{"line_number":9,"context_line":"url \u003d https://github.com/woo"},{"line_number":10,"context_line":"project_urls \u003d"},{"line_number":11,"context_line":"    Bug Tracker \u003d https://github.com/woo"},{"line_number":12,"context_line":"license_file \u003d LICENSE"},{"line_number":13,"context_line":"license \u003d Apache-2.0"},{"line_number":14,"context_line":"classifiers \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"94f77437_6fd4a4aa","line":11,"range":{"start_line":11,"start_character":17,"end_line":11,"end_character":40},"in_reply_to":"d2b5f55c_b43da996","updated":"2021-04-16 17:08:11.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"}],"tripleo-get-hash/test/config.yaml":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"42f622579ed2e430228b0806ab679f2a837e4227","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"b0c19aa7_88987671","updated":"2021-04-14 11:32:52.000000000","message":"remove this one by mistake","commit_id":"459805770499d10b14cd24b6f3d41df114abed33"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"496d19463e87e1536791818be10717fa3ccf05ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"2de7e211_3d55f883","in_reply_to":"b0c19aa7_88987671","updated":"2021-04-15 09:00:28.000000000","message":"Done","commit_id":"459805770499d10b14cd24b6f3d41df114abed33"}],"tripleo-get-hash/test/fakes.py":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"64c863e62d8adcb7286d5d9e83855bb1d5ae071a","unresolved":true,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"TEST_REPO_MD5 \u003d \u0027a96366960d5f9b08f78075b7560514e7\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"DLRNAPI_URL \u003d \u0027https://trunk.rdoproject.org\u0027"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"BAD_CONFIG_FILE \u003d \"\"\""},{"line_number":68,"context_line":"awoo: \u0027foo\u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"e3cda3ea_5e6bdde5","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":11},"updated":"2021-04-20 10:28:27.000000000","message":"no longer needed remove","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"723d0dc1d95069373facf901e0dfa64edb1143dc","unresolved":true,"context_lines":[{"line_number":75,"context_line":"  - victoria"},{"line_number":76,"context_line":"  - ussuri"},{"line_number":77,"context_line":"  - train"},{"line_number":78,"context_line":"  - osp16-1"},{"line_number":79,"context_line":"  - osp16-2"},{"line_number":80,"context_line":"  - osp17"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"371e1d14_393743b8","line":78,"updated":"2021-04-28 20:41:42.000000000","message":"we don;t really work with 16.1 atm","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":false,"context_lines":[{"line_number":75,"context_line":"  - victoria"},{"line_number":76,"context_line":"  - ussuri"},{"line_number":77,"context_line":"  - train"},{"line_number":78,"context_line":"  - osp16-1"},{"line_number":79,"context_line":"  - osp16-2"},{"line_number":80,"context_line":"  - osp17"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"21c80cdf_108596fd","line":78,"in_reply_to":"371e1d14_393743b8","updated":"2021-04-29 08:32:31.000000000","message":"Ack","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"723d0dc1d95069373facf901e0dfa64edb1143dc","unresolved":true,"context_lines":[{"line_number":102,"context_line":"  - consistent"},{"line_number":103,"context_line":"  - component-ci-testing"},{"line_number":104,"context_line":"  - tripleo-ci-testing"},{"line_number":105,"context_line":"  - current-tripleo"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"os_versions:"},{"line_number":108,"context_line":"  - centos7"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a9e9972_5cb08e82","line":105,"updated":"2021-04-28 20:41:42.000000000","message":"same as before ... as we missing current-tripleo-rdo here?","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":false,"context_lines":[{"line_number":102,"context_line":"  - consistent"},{"line_number":103,"context_line":"  - component-ci-testing"},{"line_number":104,"context_line":"  - tripleo-ci-testing"},{"line_number":105,"context_line":"  - current-tripleo"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"os_versions:"},{"line_number":108,"context_line":"  - centos7"}],"source_content_type":"text/x-python","patch_set":21,"id":"92650a10_21f22a0c","line":105,"in_reply_to":"5a9e9972_5cb08e82","updated":"2021-04-29 08:32:31.000000000","message":"Ack","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"}],"tripleo-get-hash/test/test_tripleo_get_hash.py":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5c4c713009e42913743c0d8deba2fc9b2769ae15","unresolved":true,"context_lines":[{"line_number":44,"context_line":"        sys.argv[1:] \u003d args"},{"line_number":45,"context_line":"        self.assertRaises(SystemExit, lambda: tgh.main())"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def test_verbose_logging_on(self, mock_config):"},{"line_number":48,"context_line":"        args \u003d [\u0027--verbose\u0027]"},{"line_number":49,"context_line":"        with self.assertLogs() as captured:"},{"line_number":50,"context_line":"            sys.argv[1:] \u003d args"}],"source_content_type":"text/x-python","patch_set":16,"id":"c1def35d_30f1cf93","line":47,"updated":"2021-04-16 17:08:11.000000000","message":"this and next one need to mock the http request they are making it live now","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"8cf8a22f3b5488be5efb0651854274b42424d68a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        sys.argv[1:] \u003d args"},{"line_number":45,"context_line":"        self.assertRaises(SystemExit, lambda: tgh.main())"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def test_verbose_logging_on(self, mock_config):"},{"line_number":48,"context_line":"        args \u003d [\u0027--verbose\u0027]"},{"line_number":49,"context_line":"        with self.assertLogs() as captured:"},{"line_number":50,"context_line":"            sys.argv[1:] \u003d args"}],"source_content_type":"text/x-python","patch_set":16,"id":"f87f86e9_193d4dbb","line":47,"in_reply_to":"c1def35d_30f1cf93","updated":"2021-04-20 09:46:34.000000000","message":"Done","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"}],"tripleo-get-hash/tripleo_get_hash/__main__.py":[{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"a94fbd19425ff7e59604cb1ba3121c4b493fd18d","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    tripleo_hash_info \u003d thi.get_tripleo_hash_info("},{"line_number":72,"context_line":"        args.centos, args.release, args.component, args.tag"},{"line_number":73,"context_line":"    )"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if __name__ \u003d\u003d \"__main__\":"},{"line_number":76,"context_line":"        tripleo_hash_info.pretty_print()"},{"line_number":77,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"534334af_ddde8323","line":74,"updated":"2021-04-12 10:03:30.000000000","message":"It might be good to add a check here for the centos and component arguments, so we fail with an error message if centos\u003d\u003d7 and component is defined.","commit_id":"446b5312cd59f8a733e5ddd352e2dabd62998f0f"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d14269d86b152c0191aa296d65116eae80b23a40","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    tripleo_hash_info \u003d thi.get_tripleo_hash_info("},{"line_number":72,"context_line":"        args.centos, args.release, args.component, args.tag"},{"line_number":73,"context_line":"    )"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if __name__ \u003d\u003d \"__main__\":"},{"line_number":76,"context_line":"        tripleo_hash_info.pretty_print()"},{"line_number":77,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"fddf45d1_ee31f544","line":74,"in_reply_to":"534334af_ddde8323","updated":"2021-04-12 10:28:26.000000000","message":"yes see line 27 _validate_args","commit_id":"446b5312cd59f8a733e5ddd352e2dabd62998f0f"},{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"b84b1a470ee6ebbaee2ba3bbf7fe54f270c01509","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    tripleo_hash_info \u003d thi.get_tripleo_hash_info("},{"line_number":72,"context_line":"        args.centos, args.release, args.component, args.tag"},{"line_number":73,"context_line":"    )"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if __name__ \u003d\u003d \"__main__\":"},{"line_number":76,"context_line":"        tripleo_hash_info.pretty_print()"},{"line_number":77,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"80f58915_96c04313","line":74,"in_reply_to":"fddf45d1_ee31f544","updated":"2021-04-12 13:15:09.000000000","message":"Oops, I didn\u0027t realize. Thanks!","commit_id":"446b5312cd59f8a733e5ddd352e2dabd62998f0f"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"2587f9566b8840383b5ede9524ddfbd4adc034a5","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def main():"},{"line_number":35,"context_line":"    import pdb;pdb.set_trace()"},{"line_number":36,"context_line":"    config \u003d thi.load_config()"},{"line_number":37,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003d\u0027tripleo-get-hash.py\u0027)"},{"line_number":38,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":13,"id":"4eb7abbd_cbf13eab","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":3},"updated":"2021-04-15 07:21:00.000000000","message":"oops ;)","commit_id":"459805770499d10b14cd24b6f3d41df114abed33"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"496d19463e87e1536791818be10717fa3ccf05ab","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def main():"},{"line_number":35,"context_line":"    import pdb;pdb.set_trace()"},{"line_number":36,"context_line":"    config \u003d thi.load_config()"},{"line_number":37,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003d\u0027tripleo-get-hash.py\u0027)"},{"line_number":38,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":13,"id":"6836b7ea_82c6d6ee","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":3},"in_reply_to":"4eb7abbd_cbf13eab","updated":"2021-04-15 09:00:28.000000000","message":"Done","commit_id":"459805770499d10b14cd24b6f3d41df114abed33"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d5f580bccf95a200f381cccaa1ab86b0b38c0468","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    if args.dlrn_url is not None:"},{"line_number":78,"context_line":"        config[\u0027dlrn_url\u0027] \u003d args.dlrn_url"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    tripleo_hash_info \u003d thi.get_tripleo_hash_info("},{"line_number":81,"context_line":"        args.os_version,"},{"line_number":82,"context_line":"        args.release,"},{"line_number":83,"context_line":"        args.component,"}],"source_content_type":"text/x-python","patch_set":14,"id":"12287ec0_375288fc","line":80,"range":{"start_line":80,"start_character":28,"end_line":80,"end_character":49},"updated":"2021-04-15 10:58:34.000000000","message":"so here it will be more like TripleOHashInfo(args) instead of using the thi.get_tripleo_hash_info classmethod as a factory constructor.","commit_id":"973c4bc6019575f400f5d048f3bbce980f034e9e"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2021 Red Hat, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":16,"id":"5b3c1a88_322bc83a","line":1,"updated":"2021-04-20 10:21:09.000000000","message":"Why is the name of file with underscores? I think it\u0027s common only with __init__.py files","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b1fc9617b4a33020ac942538aabab8470ca0c241","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2021 Red Hat, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":16,"id":"41c0bcb1_2e5f3239","line":1,"in_reply_to":"4f8ed37c_df7d57c1","updated":"2021-04-20 11:49:03.000000000","message":"Well, it\u0027s wrong comment then. File shouldn\u0027t be __main__, it\u0027s the function name.","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2021 Red Hat, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":16,"id":"4f8ed37c_df7d57c1","line":1,"in_reply_to":"5b3c1a88_322bc83a","updated":"2021-04-20 11:34:44.000000000","message":"From comments there https://review.opendev.org/c/openstack/tripleo-ci/+/784392/7/tripleo_get_hash/tripleo_get_hash.py#1","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    )"},{"line_number":38,"context_line":"    parser.add_argument("},{"line_number":39,"context_line":"        \u0027--dlrn-url\u0027,"},{"line_number":40,"context_line":"        help\u003d("},{"line_number":41,"context_line":"            \u0027The URL for the delorean server to use. Defaults to \u0027"},{"line_number":42,"context_line":"            \u0027https://trunk.rdoproject.org\u0027"},{"line_number":43,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":16,"id":"e0c441d8_a875eb4e","line":40,"updated":"2021-04-20 10:21:09.000000000","message":"Why not to put here default\u003d\"https://trunk.rdoproject.org\" ?","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b674826a20778896b146c529d32a749864ee4c66","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    )"},{"line_number":38,"context_line":"    parser.add_argument("},{"line_number":39,"context_line":"        \u0027--dlrn-url\u0027,"},{"line_number":40,"context_line":"        help\u003d("},{"line_number":41,"context_line":"            \u0027The URL for the delorean server to use. Defaults to \u0027"},{"line_number":42,"context_line":"            \u0027https://trunk.rdoproject.org\u0027"},{"line_number":43,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":16,"id":"870f5897_69047968","line":40,"in_reply_to":"86179632_4dd24d19","updated":"2021-04-21 09:40:44.000000000","message":"config file is the default, we don\u0027t have two defaults.","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b1fc9617b4a33020ac942538aabab8470ca0c241","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    )"},{"line_number":38,"context_line":"    parser.add_argument("},{"line_number":39,"context_line":"        \u0027--dlrn-url\u0027,"},{"line_number":40,"context_line":"        help\u003d("},{"line_number":41,"context_line":"            \u0027The URL for the delorean server to use. Defaults to \u0027"},{"line_number":42,"context_line":"            \u0027https://trunk.rdoproject.org\u0027"},{"line_number":43,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":16,"id":"86179632_4dd24d19","line":40,"in_reply_to":"a9725f3f_41e9ddc0","updated":"2021-04-20 11:49:03.000000000","message":"So the final default is in config file? I still don\u0027t understand - why not to set it here, and if there is a setting in config file - override it.\nAnyway, having two places for defaults it\u0027s a not a good idea.","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    )"},{"line_number":38,"context_line":"    parser.add_argument("},{"line_number":39,"context_line":"        \u0027--dlrn-url\u0027,"},{"line_number":40,"context_line":"        help\u003d("},{"line_number":41,"context_line":"            \u0027The URL for the delorean server to use. Defaults to \u0027"},{"line_number":42,"context_line":"            \u0027https://trunk.rdoproject.org\u0027"},{"line_number":43,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":16,"id":"a9725f3f_41e9ddc0","line":40,"in_reply_to":"e0c441d8_a875eb4e","updated":"2021-04-20 11:34:44.000000000","message":"we had it like this in earlier versions but now we have a default via the config.\nwe need args.dlrn_url to be none (ie. not some default value), because we want to add the ability to override eg to specify downstream dlrn\n\nif the parsed args dlrn_url is None no problem use config file, if it is not none then I can use it override","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":45,"context_line":"    parser.add_argument("},{"line_number":46,"context_line":"        \u0027--os-version\u0027,"},{"line_number":47,"context_line":"        default\u003d\u0027centos8\u0027,"},{"line_number":48,"context_line":"        choices\u003d[\u0027centos7\u0027, \u0027centos8\u0027, \u0027rhel8\u0027],"},{"line_number":49,"context_line":"        help\u003d(\u0027The operating system and version to fetch the build tag for\u0027),"},{"line_number":50,"context_line":"    )"},{"line_number":51,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":16,"id":"623da843_01fa9e14","line":48,"range":{"start_line":48,"start_character":8,"end_line":48,"end_character":48},"updated":"2021-04-20 10:21:09.000000000","message":"maybe worth to have in config as well? Coming soon centos, rhel9, etc","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":true,"context_lines":[{"line_number":45,"context_line":"    parser.add_argument("},{"line_number":46,"context_line":"        \u0027--os-version\u0027,"},{"line_number":47,"context_line":"        default\u003d\u0027centos8\u0027,"},{"line_number":48,"context_line":"        choices\u003d[\u0027centos7\u0027, \u0027centos8\u0027, \u0027rhel8\u0027],"},{"line_number":49,"context_line":"        help\u003d(\u0027The operating system and version to fetch the build tag for\u0027),"},{"line_number":50,"context_line":"    )"},{"line_number":51,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":16,"id":"f9356dbd_f1f5cf4f","line":48,"range":{"start_line":48,"start_character":8,"end_line":48,"end_character":48},"in_reply_to":"623da843_01fa9e14","updated":"2021-04-20 11:34:44.000000000","message":"yeah i thought about that ack yes will do","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"efb2be6391b4f16f1e05d41edf76bfa6677db60f","unresolved":true,"context_lines":[{"line_number":57,"context_line":"    parser.add_argument("},{"line_number":58,"context_line":"        \u0027--release\u0027,"},{"line_number":59,"context_line":"        default\u003d\u0027master\u0027,"},{"line_number":60,"context_line":"        help\u003d(\u0027The release of \u0027 \u0027OpenStack you want the hash info for. Default master\u0027),"},{"line_number":61,"context_line":"        choices\u003dconfig[\u0027tripleo_releases\u0027],"},{"line_number":62,"context_line":"    )"},{"line_number":63,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":16,"id":"6de2d36b_cbfec3eb","line":60,"range":{"start_line":60,"start_character":30,"end_line":60,"end_character":33},"updated":"2021-04-16 12:48:15.000000000","message":"maybe a missing line break?","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5c4c713009e42913743c0d8deba2fc9b2769ae15","unresolved":true,"context_lines":[{"line_number":57,"context_line":"    parser.add_argument("},{"line_number":58,"context_line":"        \u0027--release\u0027,"},{"line_number":59,"context_line":"        default\u003d\u0027master\u0027,"},{"line_number":60,"context_line":"        help\u003d(\u0027The release of \u0027 \u0027OpenStack you want the hash info for. Default master\u0027),"},{"line_number":61,"context_line":"        choices\u003dconfig[\u0027tripleo_releases\u0027],"},{"line_number":62,"context_line":"    )"},{"line_number":63,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":16,"id":"b886018e_6d9cd300","line":60,"range":{"start_line":60,"start_character":30,"end_line":60,"end_character":33},"in_reply_to":"6de2d36b_cbfec3eb","updated":"2021-04-16 17:08:11.000000000","message":"yes i think the black linter probably changed that and i didn\u0027t notice thanks will do","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"64c863e62d8adcb7286d5d9e83855bb1d5ae071a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    parser.add_argument("},{"line_number":58,"context_line":"        \u0027--release\u0027,"},{"line_number":59,"context_line":"        default\u003d\u0027master\u0027,"},{"line_number":60,"context_line":"        help\u003d(\u0027The release of \u0027 \u0027OpenStack you want the hash info for. Default master\u0027),"},{"line_number":61,"context_line":"        choices\u003dconfig[\u0027tripleo_releases\u0027],"},{"line_number":62,"context_line":"    )"},{"line_number":63,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":16,"id":"365698d3_6ae9acd0","line":60,"range":{"start_line":60,"start_character":30,"end_line":60,"end_character":33},"in_reply_to":"b886018e_6d9cd300","updated":"2021-04-20 10:28:27.000000000","message":"Done","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":73,"context_line":"        logging.debug(\"Logging level set to DEBUG\")"},{"line_number":74,"context_line":"    _validate_args(args)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    if args.dlrn_url is not None:"},{"line_number":77,"context_line":"        logging.debug("},{"line_number":78,"context_line":"            \"Overriding configuration dlrn_url. Original value {}. \""},{"line_number":79,"context_line":"            \"New value {}\".format(config[\u0027dlrn_url\u0027], args.dlrn_url)"}],"source_content_type":"text/x-python","patch_set":16,"id":"8d382efa_e385902f","line":76,"updated":"2021-04-20 10:21:09.000000000","message":"that seems like a task for argparser to do, see comment above","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":true,"context_lines":[{"line_number":73,"context_line":"        logging.debug(\"Logging level set to DEBUG\")"},{"line_number":74,"context_line":"    _validate_args(args)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    if args.dlrn_url is not None:"},{"line_number":77,"context_line":"        logging.debug("},{"line_number":78,"context_line":"            \"Overriding configuration dlrn_url. Original value {}. \""},{"line_number":79,"context_line":"            \"New value {}\".format(config[\u0027dlrn_url\u0027], args.dlrn_url)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5b9aacb4_15404bb1","line":76,"in_reply_to":"8d382efa_e385902f","updated":"2021-04-20 11:34:44.000000000","message":"Well if it isn\u0027t specified we want it to be none so we can check here and override\n\nit allows you to override the config default to use eg downstream dlrn","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":96,"context_line":"    try:"},{"line_number":97,"context_line":"        main()"},{"line_number":98,"context_line":"        sys.exit(0)"},{"line_number":99,"context_line":"    except IOError:"},{"line_number":100,"context_line":"        raise"},{"line_number":101,"context_line":"    except KeyboardInterrupt:"},{"line_number":102,"context_line":"        sys.exit(1)"}],"source_content_type":"text/x-python","patch_set":16,"id":"873ff3c5_93f35048","line":99,"range":{"start_line":99,"start_character":4,"end_line":99,"end_character":18},"updated":"2021-04-20 10:21:09.000000000","message":"What\u0027s possible for this exception? And why do we catch it here","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b1fc9617b4a33020ac942538aabab8470ca0c241","unresolved":true,"context_lines":[{"line_number":96,"context_line":"    try:"},{"line_number":97,"context_line":"        main()"},{"line_number":98,"context_line":"        sys.exit(0)"},{"line_number":99,"context_line":"    except IOError:"},{"line_number":100,"context_line":"        raise"},{"line_number":101,"context_line":"    except KeyboardInterrupt:"},{"line_number":102,"context_line":"        sys.exit(1)"}],"source_content_type":"text/x-python","patch_set":16,"id":"794d74b9_1df953e9","line":99,"range":{"start_line":99,"start_character":4,"end_line":99,"end_character":18},"in_reply_to":"58a94a63_4ef0f065","updated":"2021-04-20 11:49:03.000000000","message":"the catching should be done (if needed) in same place we expect for the error, not in general scope","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":true,"context_lines":[{"line_number":96,"context_line":"    try:"},{"line_number":97,"context_line":"        main()"},{"line_number":98,"context_line":"        sys.exit(0)"},{"line_number":99,"context_line":"    except IOError:"},{"line_number":100,"context_line":"        raise"},{"line_number":101,"context_line":"    except KeyboardInterrupt:"},{"line_number":102,"context_line":"        sys.exit(1)"}],"source_content_type":"text/x-python","patch_set":16,"id":"58a94a63_4ef0f065","line":99,"range":{"start_line":99,"start_character":4,"end_line":99,"end_character":18},"in_reply_to":"873ff3c5_93f35048","updated":"2021-04-20 11:34:44.000000000","message":"well we have at least one file open for the config file and then the logging \nbut we are /should be dealing with those already so ok can remove this one perhaps not needed","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":99,"context_line":"    except IOError:"},{"line_number":100,"context_line":"        raise"},{"line_number":101,"context_line":"    except KeyboardInterrupt:"},{"line_number":102,"context_line":"        sys.exit(1)"},{"line_number":103,"context_line":"    except RuntimeError as e:"},{"line_number":104,"context_line":"        raise SystemExit(str(e))"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"1e367540_95d55420","line":102,"range":{"start_line":102,"start_character":8,"end_line":102,"end_character":19},"updated":"2021-04-20 10:21:09.000000000","message":"Is there a special reason to set it for \"1\"? Why not to leave a default","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    except IOError:"},{"line_number":100,"context_line":"        raise"},{"line_number":101,"context_line":"    except KeyboardInterrupt:"},{"line_number":102,"context_line":"        sys.exit(1)"},{"line_number":103,"context_line":"    except RuntimeError as e:"},{"line_number":104,"context_line":"        raise SystemExit(str(e))"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"1dc3e927_821c44c2","line":102,"range":{"start_line":102,"start_character":8,"end_line":102,"end_character":19},"in_reply_to":"1e367540_95d55420","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":100,"context_line":"        raise"},{"line_number":101,"context_line":"    except KeyboardInterrupt:"},{"line_number":102,"context_line":"        sys.exit(1)"},{"line_number":103,"context_line":"    except RuntimeError as e:"},{"line_number":104,"context_line":"        raise SystemExit(str(e))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"d19e6a7b_7ce33eb0","line":103,"range":{"start_line":103,"start_character":4,"end_line":103,"end_character":29},"updated":"2021-04-20 10:21:09.000000000","message":"I wonder if we need all these special exceptions. What do we try to catch here?","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        raise"},{"line_number":101,"context_line":"    except KeyboardInterrupt:"},{"line_number":102,"context_line":"        sys.exit(1)"},{"line_number":103,"context_line":"    except RuntimeError as e:"},{"line_number":104,"context_line":"        raise SystemExit(str(e))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"4b7bb86a_6628fd55","line":103,"range":{"start_line":103,"start_character":4,"end_line":103,"end_character":29},"in_reply_to":"d19e6a7b_7ce33eb0","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"396722e3858b0adf961ea9413571c5289757f143","unresolved":true,"context_lines":[{"line_number":97,"context_line":"        main()"},{"line_number":98,"context_line":"        sys.exit(0)"},{"line_number":99,"context_line":"    except KeyboardInterrupt:"},{"line_number":100,"context_line":"        logging.info(\"Exiting on user interruprt\")"},{"line_number":101,"context_line":"        raise"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"ad7fadf8_b1faea80","line":100,"range":{"start_line":100,"start_character":38,"end_line":100,"end_character":48},"updated":"2021-04-28 17:37:19.000000000","message":"typo","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":true,"context_lines":[{"line_number":97,"context_line":"        main()"},{"line_number":98,"context_line":"        sys.exit(0)"},{"line_number":99,"context_line":"    except KeyboardInterrupt:"},{"line_number":100,"context_line":"        logging.info(\"Exiting on user interruprt\")"},{"line_number":101,"context_line":"        raise"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"d62b8708_b6506211","line":100,"range":{"start_line":100,"start_character":38,"end_line":100,"end_character":48},"in_reply_to":"ad7fadf8_b1faea80","updated":"2021-04-29 08:32:31.000000000","message":"Thanks","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"}],"tripleo-get-hash/tripleo_get_hash/constants.py":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"2bc9fe06ca1d35e2d2e750707842d009fa303be8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"5c0b08de_6d16017c","updated":"2021-04-13 05:31:47.000000000","message":"Can we drop this file in favor of config.yaml? as these are also config values which are not going to change. What are your thoughts on this?","commit_id":"fc8d76ae4ab62b72b616e1de9891e18e1d577685"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"0228882aab703fa47aa7aa131e5dfea83c3b0607","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f28c66db_312a2daf","in_reply_to":"5c0b08de_6d16017c","updated":"2021-04-13 10:38:55.000000000","message":"OK I will look at this in the next revision yes it makes sense.\n\nI will first focus on the rhel support from jpena comments and post it for discussion \n\nThen I will address these comments. I wanted these to be a fall back value in case the config file is missing or has wrong keys etc. But I think your idea of trying /etc/ first then local directory then error makes sense and a local config.yaml can serve as the backup instead of constants.","commit_id":"fc8d76ae4ab62b72b616e1de9891e18e1d577685"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"2587f9566b8840383b5ede9524ddfbd4adc034a5","unresolved":true,"context_lines":[{"line_number":23,"context_line":"\u0027osp17\u0027,"},{"line_number":24,"context_line":"]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"TRIPLEO_CI_COMPONENTS \u003d ["},{"line_number":27,"context_line":"    \u0027baremetal\u0027,"},{"line_number":28,"context_line":"    \u0027cinder\u0027,"},{"line_number":29,"context_line":"    \u0027clients\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"4dde0c21_de20b7fb","line":26,"updated":"2021-04-15 07:21:00.000000000","message":"then we can remove everything else here except maybe the dlrn_url","commit_id":"459805770499d10b14cd24b6f3d41df114abed33"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"496d19463e87e1536791818be10717fa3ccf05ab","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u0027osp17\u0027,"},{"line_number":24,"context_line":"]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"TRIPLEO_CI_COMPONENTS \u003d ["},{"line_number":27,"context_line":"    \u0027baremetal\u0027,"},{"line_number":28,"context_line":"    \u0027cinder\u0027,"},{"line_number":29,"context_line":"    \u0027clients\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"40c7573d_570ba0d5","line":26,"in_reply_to":"4dde0c21_de20b7fb","updated":"2021-04-15 09:00:28.000000000","message":"Done removed all including the DLRN_URL \n\nwe now throw an exception if any of the expected config values are missing from the configuration file","commit_id":"459805770499d10b14cd24b6f3d41df114abed33"}],"tripleo-get-hash/tripleo_get_hash/tripleo_hash_info.py":[{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"a94fbd19425ff7e59604cb1ba3121c4b493fd18d","unresolved":true,"context_lines":[{"line_number":59,"context_line":"                release,"},{"line_number":60,"context_line":"                tag,"},{"line_number":61,"context_line":"            )"},{"line_number":62,"context_line":"            hash_info_type \u003d \u0027repo_md5\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"be839e54_c0faeb37","line":62,"updated":"2021-04-12 10:03:30.000000000","message":"Maybe we could make this a bit more flexible. If we want to add support to CentOS 9 or a RHEL version, we will have to do many modifications. \n\nI\u0027d propose a single \"worker\" parameter, that would then be centos8-master, centos7-stein... and would easily allow us to support new workers with a change in a single location.","commit_id":"446b5312cd59f8a733e5ddd352e2dabd62998f0f"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d14269d86b152c0191aa296d65116eae80b23a40","unresolved":true,"context_lines":[{"line_number":59,"context_line":"                release,"},{"line_number":60,"context_line":"                tag,"},{"line_number":61,"context_line":"            )"},{"line_number":62,"context_line":"            hash_info_type \u003d \u0027repo_md5\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dffde85a_4b32964e","line":62,"in_reply_to":"be839e54_c0faeb37","updated":"2021-04-12 10:28:26.000000000","message":"not sure i follow the proposal thought. This hash_info_type is only an internal variable used in this method, not exposed as a \u0027type\u0027 for the created HashInfo object.","commit_id":"446b5312cd59f8a733e5ddd352e2dabd62998f0f"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"0228882aab703fa47aa7aa131e5dfea83c3b0607","unresolved":true,"context_lines":[{"line_number":59,"context_line":"                release,"},{"line_number":60,"context_line":"                tag,"},{"line_number":61,"context_line":"            )"},{"line_number":62,"context_line":"            hash_info_type \u003d \u0027repo_md5\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5bbd39f7_93544420","line":62,"in_reply_to":"d16a3eec_39db4d80","updated":"2021-04-13 10:38:55.000000000","message":"ack yes I have not considered adding support for RHEL hashes yet... though I am not 100% sure we will want the downstream/rhel support I think we probably will (I will discuss this in our team calls).\n\nI will dig at this a bit today though .. am thinking along the lines of removing --centos and adding something like --os-version which will accept \u0027centos8\u0027, \u0027centos7\u0027, \u0027rhel8\u0027 as the choices \n\nthanks for the comments","commit_id":"446b5312cd59f8a733e5ddd352e2dabd62998f0f"},{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"b84b1a470ee6ebbaee2ba3bbf7fe54f270c01509","unresolved":true,"context_lines":[{"line_number":59,"context_line":"                release,"},{"line_number":60,"context_line":"                tag,"},{"line_number":61,"context_line":"            )"},{"line_number":62,"context_line":"            hash_info_type \u003d \u0027repo_md5\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"d16a3eec_39db4d80","line":62,"in_reply_to":"dffde85a_4b32964e","updated":"2021-04-12 13:15:09.000000000","message":"I\u0027m referring to the centos and release parameters. Right now, we have a non-flexible setup, where we are assuming that we only have centos and versions 7/8. Once we add CentOS 9 to the mix (or if we want to add downstream RHEL-based versions), this if/elif construct will become quite large.","commit_id":"446b5312cd59f8a733e5ddd352e2dabd62998f0f"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"2bc9fe06ca1d35e2d2e750707842d009fa303be8","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    @classmethod"},{"line_number":34,"context_line":"    def get_tripleo_hash_info(cls, centos, release, component, tag):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        with open(\u0027config.yaml\u0027, \u0027r\u0027) as config_yaml:"},{"line_number":37,"context_line":"            try:"},{"line_number":38,"context_line":"                dlrnapi_server \u003d yaml.safe_load(config_yaml)[\u0027dlrnapi_url\u0027]"},{"line_number":39,"context_line":"            except KeyError:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a400b42_f0c4ce1a","line":36,"range":{"start_line":36,"start_character":19,"end_line":36,"end_character":31},"updated":"2021-04-13 05:31:47.000000000","message":"from an user perspective, any changes made in config.yaml will reflect in the     /etc/tripleo_get_hash/config.yaml here. So we can modify this piece of code to look for     /etc/tripleo_get_hash/config.yaml and then look into project config.yaml and perform the read operation. Just a thought.","commit_id":"fc8d76ae4ab62b72b616e1de9891e18e1d577685"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"0228882aab703fa47aa7aa131e5dfea83c3b0607","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    @classmethod"},{"line_number":34,"context_line":"    def get_tripleo_hash_info(cls, centos, release, component, tag):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        with open(\u0027config.yaml\u0027, \u0027r\u0027) as config_yaml:"},{"line_number":37,"context_line":"            try:"},{"line_number":38,"context_line":"                dlrnapi_server \u003d yaml.safe_load(config_yaml)[\u0027dlrnapi_url\u0027]"},{"line_number":39,"context_line":"            except KeyError:"}],"source_content_type":"text/x-python","patch_set":11,"id":"fee14588_fa7e1e77","line":36,"range":{"start_line":36,"start_character":19,"end_line":36,"end_character":31},"in_reply_to":"1a400b42_f0c4ce1a","updated":"2021-04-13 10:38:55.000000000","message":"yes you are right I should change this path to use the system installed config file\n\nI like the idea of falling back to local config.yaml if /etc is missing , and I can use that as the backup instead of constants. \n\nAs I said I\u0027ll revisit this stuff after I deal with the rhel support.","commit_id":"fc8d76ae4ab62b72b616e1de9891e18e1d577685"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ab39dfea8b168de13e5a7a59248982b41221144f","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    @classmethod"},{"line_number":34,"context_line":"    def get_tripleo_hash_info(cls, centos, release, component, tag):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        with open(\u0027config.yaml\u0027, \u0027r\u0027) as config_yaml:"},{"line_number":37,"context_line":"            try:"},{"line_number":38,"context_line":"                dlrnapi_server \u003d yaml.safe_load(config_yaml)[\u0027dlrnapi_url\u0027]"},{"line_number":39,"context_line":"            except KeyError:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1b4b7bc9_cc8e986f","line":36,"range":{"start_line":36,"start_character":19,"end_line":36,"end_character":31},"in_reply_to":"fee14588_fa7e1e77","updated":"2021-04-14 11:28:30.000000000","message":"updating now to add the config stuff as discussed above... the tests are now broken but I will fix on next revision thanks","commit_id":"fc8d76ae4ab62b72b616e1de9891e18e1d577685"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d5f580bccf95a200f381cccaa1ab86b0b38c0468","unresolved":true,"context_lines":[{"line_number":82,"context_line":"        return [full, commit, distro, extended]"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    @classmethod"},{"line_number":85,"context_line":"    def get_tripleo_hash_info(cls, os_version, release, component, tag, config\u003dNone):"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        if config is None:"},{"line_number":88,"context_line":"            config \u003d TripleOHashInfo.load_config()"}],"source_content_type":"text/x-python","patch_set":14,"id":"d0902a04_db659854","line":85,"range":{"start_line":85,"start_character":6,"end_line":85,"end_character":17},"updated":"2021-04-15 10:58:34.000000000","message":"i am reworking this model now... instead of using this factory constructor and a bunch of class methods I am going to move this into the constructor.","commit_id":"973c4bc6019575f400f5d048f3bbce980f034e9e"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"667a543549663869feda849656784e1855485eaa","unresolved":true,"context_lines":[{"line_number":42,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":43,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":44,"context_line":"        except FileNotFoundError:"},{"line_number":45,"context_line":"            raise"},{"line_number":46,"context_line":"        return result_config"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def _resolve_repo_url(self, dlrn_url, os_version, release, component, tag):"}],"source_content_type":"text/x-python","patch_set":15,"id":"38d1475a_d2c93eae","line":45,"range":{"start_line":45,"start_character":12,"end_line":45,"end_character":17},"updated":"2021-04-15 13:37:51.000000000","message":"add some logging here before the raise","commit_id":"7aa39ddbacf88f92d6f5fa8b61da492c93a33be5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"f488a25f391ddec12ce1390911f09eff536e95b7","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":43,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":44,"context_line":"        except FileNotFoundError:"},{"line_number":45,"context_line":"            raise"},{"line_number":46,"context_line":"        return result_config"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def _resolve_repo_url(self, dlrn_url, os_version, release, component, tag):"}],"source_content_type":"text/x-python","patch_set":15,"id":"5462e987_062487fa","line":45,"range":{"start_line":45,"start_character":12,"end_line":45,"end_character":17},"in_reply_to":"38d1475a_d2c93eae","updated":"2021-04-16 12:13:00.000000000","message":"Done","commit_id":"7aa39ddbacf88f92d6f5fa8b61da492c93a33be5"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":18,"context_line":"import sys"},{"line_number":19,"context_line":"import yaml"},{"line_number":20,"context_line":"from os import access, R_OK"},{"line_number":21,"context_line":"from os.path import isfile"},{"line_number":22,"context_line":"import requests"},{"line_number":23,"context_line":"import tripleo_get_hash.constants as const"},{"line_number":24,"context_line":"import tripleo_get_hash.exceptions as exc"}],"source_content_type":"text/x-python","patch_set":16,"id":"1413635c_0f4d49e4","line":21,"updated":"2021-04-20 10:21:09.000000000","message":"If we import just \"os\" we wouldn\u0027t need these 2 lines.\nAlso I think it\u0027s more readable to have \"os.access\" and \"os.R_OK\".","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import sys"},{"line_number":19,"context_line":"import yaml"},{"line_number":20,"context_line":"from os import access, R_OK"},{"line_number":21,"context_line":"from os.path import isfile"},{"line_number":22,"context_line":"import requests"},{"line_number":23,"context_line":"import tripleo_get_hash.constants as const"},{"line_number":24,"context_line":"import tripleo_get_hash.exceptions as exc"}],"source_content_type":"text/x-python","patch_set":16,"id":"0c751d4c_5a3060c1","line":21,"in_reply_to":"1413635c_0f4d49e4","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":55,"context_line":"        try:"},{"line_number":56,"context_line":"            with open(config_path, \u0027r\u0027) as config_yaml:"},{"line_number":57,"context_line":"                conf_yaml \u003d yaml.safe_load(config_yaml)"},{"line_number":58,"context_line":"                for k in const.CONFIG_KEYS:"},{"line_number":59,"context_line":"                    if k not in conf_yaml:"},{"line_number":60,"context_line":"                        error_str \u003d \"Malformed config file - missing {}. Expected all of these configuration items: {}\".format("},{"line_number":61,"context_line":"                            k, \", \".join(const.CONFIG_KEYS)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5bd15072_ceddfa79","line":58,"updated":"2021-04-20 10:21:09.000000000","message":"from \"for\" no need to keep it under scope of \"with\", we don\u0027t need this file opened anymore\n\n  with open(config_path, \u0027r\u0027) as config_yaml:\n    conf_yaml \u003d yaml.safe_load(config_yaml)\n  for k in const.CONFIG_KEYS:","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        try:"},{"line_number":56,"context_line":"            with open(config_path, \u0027r\u0027) as config_yaml:"},{"line_number":57,"context_line":"                conf_yaml \u003d yaml.safe_load(config_yaml)"},{"line_number":58,"context_line":"                for k in const.CONFIG_KEYS:"},{"line_number":59,"context_line":"                    if k not in conf_yaml:"},{"line_number":60,"context_line":"                        error_str \u003d \"Malformed config file - missing {}. Expected all of these configuration items: {}\".format("},{"line_number":61,"context_line":"                            k, \", \".join(const.CONFIG_KEYS)"}],"source_content_type":"text/x-python","patch_set":16,"id":"34b38fd2_9ae6babb","line":58,"in_reply_to":"5bd15072_ceddfa79","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":61,"context_line":"                            k, \", \".join(const.CONFIG_KEYS)"},{"line_number":62,"context_line":"                        )"},{"line_number":63,"context_line":"                        logging.error(error_str)"},{"line_number":64,"context_line":"                        raise exc.TripleOHashInvalidConfig(error_str)"},{"line_number":65,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":66,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":67,"context_line":"        except FileNotFoundError:"}],"source_content_type":"text/x-python","patch_set":16,"id":"d66038e2_62f9a30a","line":64,"range":{"start_line":64,"start_character":25,"end_line":64,"end_character":30},"updated":"2021-04-20 10:21:09.000000000","message":"if we raise something, it\u0027s very bad to have it under \"with\", it can leave file opened and leak descriptors","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":true,"context_lines":[{"line_number":61,"context_line":"                            k, \", \".join(const.CONFIG_KEYS)"},{"line_number":62,"context_line":"                        )"},{"line_number":63,"context_line":"                        logging.error(error_str)"},{"line_number":64,"context_line":"                        raise exc.TripleOHashInvalidConfig(error_str)"},{"line_number":65,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":66,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":67,"context_line":"        except FileNotFoundError:"}],"source_content_type":"text/x-python","patch_set":16,"id":"6df597e0_569eca81","line":64,"range":{"start_line":64,"start_character":25,"end_line":64,"end_character":30},"in_reply_to":"d66038e2_62f9a30a","updated":"2021-04-20 11:34:44.000000000","message":"ok will try rework","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":64,"context_line":"                        raise exc.TripleOHashInvalidConfig(error_str)"},{"line_number":65,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":66,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":67,"context_line":"        except FileNotFoundError:"},{"line_number":68,"context_line":"            logging.error(\"Configuration file not found at {}\".format(config_path))"},{"line_number":69,"context_line":"            raise"},{"line_number":70,"context_line":"        return result_config"}],"source_content_type":"text/x-python","patch_set":16,"id":"f9042cbe_8096f822","line":67,"range":{"start_line":67,"start_character":15,"end_line":67,"end_character":32},"updated":"2021-04-20 10:21:09.000000000","message":"what can be a problem if you checked above with isfile and access?","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ff65367b205848a7da98fbf63516ef96638aee42","unresolved":true,"context_lines":[{"line_number":64,"context_line":"                        raise exc.TripleOHashInvalidConfig(error_str)"},{"line_number":65,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":66,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":67,"context_line":"        except FileNotFoundError:"},{"line_number":68,"context_line":"            logging.error(\"Configuration file not found at {}\".format(config_path))"},{"line_number":69,"context_line":"            raise"},{"line_number":70,"context_line":"        return result_config"}],"source_content_type":"text/x-python","patch_set":16,"id":"6fedc82a_4a8ff245","line":67,"range":{"start_line":67,"start_character":15,"end_line":67,"end_character":32},"in_reply_to":"95f70a7b_0eff9087","updated":"2021-04-21 11:32:20.000000000","message":"ack reworking the logic at the top to check both","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b1fc9617b4a33020ac942538aabab8470ca0c241","unresolved":true,"context_lines":[{"line_number":64,"context_line":"                        raise exc.TripleOHashInvalidConfig(error_str)"},{"line_number":65,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":66,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":67,"context_line":"        except FileNotFoundError:"},{"line_number":68,"context_line":"            logging.error(\"Configuration file not found at {}\".format(config_path))"},{"line_number":69,"context_line":"            raise"},{"line_number":70,"context_line":"        return result_config"}],"source_content_type":"text/x-python","patch_set":16,"id":"95f70a7b_0eff9087","line":67,"range":{"start_line":67,"start_character":15,"end_line":67,"end_character":32},"in_reply_to":"aaa38534_d2f04bd7","updated":"2021-04-20 11:49:03.000000000","message":"Yeah, but if you check presence of /etc/tripleo_get_hash/config.yaml you can check the same way presence of local config.yaml. Let\u0027s treat them same. Also will save a few lines.","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":true,"context_lines":[{"line_number":64,"context_line":"                        raise exc.TripleOHashInvalidConfig(error_str)"},{"line_number":65,"context_line":"                    loaded_value \u003d conf_yaml[k]"},{"line_number":66,"context_line":"                    result_config[k] \u003d loaded_value"},{"line_number":67,"context_line":"        except FileNotFoundError:"},{"line_number":68,"context_line":"            logging.error(\"Configuration file not found at {}\".format(config_path))"},{"line_number":69,"context_line":"            raise"},{"line_number":70,"context_line":"        return result_config"}],"source_content_type":"text/x-python","patch_set":16,"id":"aaa38534_d2f04bd7","line":67,"range":{"start_line":67,"start_character":15,"end_line":67,"end_character":32},"in_reply_to":"f9042cbe_8096f822","updated":"2021-04-20 11:34:44.000000000","message":"the one above is checking the /etc/tripleo_get_hash/config.yaml path ... if that isn\u0027t found there is no exception there it immediately tries to use local config.yaml (like if you\u0027re running from a checked out source directory). If that isn\u0027t there we could get this one","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":105,"context_line":"        logging.debug("},{"line_number":106,"context_line":"            \"delorean commit.yaml results {}\".format(parsed_yaml[\u0027commits\u0027][0])"},{"line_number":107,"context_line":"        )"},{"line_number":108,"context_line":"        return [full, commit, distro, extended]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def __init__(self, os_version, release, component, tag, config\u003dNone):"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"940597d7_65167f5a","line":108,"range":{"start_line":108,"start_character":15,"end_line":108,"end_character":16},"updated":"2021-04-20 10:21:09.000000000","message":"no need to put [] here, it\u0027s returned as a tuple:\n\n  return full, commit, distro, extended","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        logging.debug("},{"line_number":106,"context_line":"            \"delorean commit.yaml results {}\".format(parsed_yaml[\u0027commits\u0027][0])"},{"line_number":107,"context_line":"        )"},{"line_number":108,"context_line":"        return [full, commit, distro, extended]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def __init__(self, os_version, release, component, tag, config\u003dNone):"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"ca6f34b0_b39dc1b7","line":108,"range":{"start_line":108,"start_character":15,"end_line":108,"end_character":16},"in_reply_to":"940597d7_65167f5a","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def __init__(self, os_version, release, component, tag, config\u003dNone):"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if config is None:"},{"line_number":113,"context_line":"            config \u003d TripleOHashInfo.load_config()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        repo_url \u003d self._resolve_repo_url("}],"source_content_type":"text/x-python","patch_set":16,"id":"ece9a3ab_91d8b131","line":112,"updated":"2021-04-20 10:21:09.000000000","message":"__init__ function is usually defined in the beginning of the class, more readable","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def __init__(self, os_version, release, component, tag, config\u003dNone):"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if config is None:"},{"line_number":113,"context_line":"            config \u003d TripleOHashInfo.load_config()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        repo_url \u003d self._resolve_repo_url("}],"source_content_type":"text/x-python","patch_set":16,"id":"f6df273d_c642fec9","line":112,"in_reply_to":"ece9a3ab_91d8b131","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ff65367b205848a7da98fbf63516ef96638aee42","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def __init__(self, os_version, release, component, tag, config\u003dNone):"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if config is None:"},{"line_number":113,"context_line":"            config \u003d TripleOHashInfo.load_config()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        repo_url \u003d self._resolve_repo_url("}],"source_content_type":"text/x-python","patch_set":16,"id":"58870285_119e453e","line":112,"in_reply_to":"f6df273d_c642fec9","updated":"2021-04-21 11:32:20.000000000","message":"ok, at least I\u0027ll move it up under the class functions","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":112,"context_line":"        if config is None:"},{"line_number":113,"context_line":"            config \u003d TripleOHashInfo.load_config()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        repo_url \u003d self._resolve_repo_url("},{"line_number":116,"context_line":"            config[\u0027dlrn_url\u0027], os_version, release, component, tag"},{"line_number":117,"context_line":"        )"},{"line_number":118,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"}],"source_content_type":"text/x-python","patch_set":16,"id":"e8bdb25d_58f631a1","line":115,"updated":"2021-04-20 10:21:09.000000000","message":"if we use \"self....\" function, it doesn\u0027t make sense to re-pass all arguments to it, just make them class-aware, like:\n\nself.config \u003d config or TripleOHashInfo.load_config()\nself.os_version \u003d os_version\n\netc","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        if config is None:"},{"line_number":113,"context_line":"            config \u003d TripleOHashInfo.load_config()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        repo_url \u003d self._resolve_repo_url("},{"line_number":116,"context_line":"            config[\u0027dlrn_url\u0027], os_version, release, component, tag"},{"line_number":117,"context_line":"        )"},{"line_number":118,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"}],"source_content_type":"text/x-python","patch_set":16,"id":"d96fb402_7ab8ccf2","line":115,"in_reply_to":"e8bdb25d_58f631a1","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"8cf8a22f3b5488be5efb0651854274b42424d68a","unresolved":true,"context_lines":[{"line_number":117,"context_line":"        )"},{"line_number":118,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        self.dlrnapi_url \u003d repo_url"},{"line_number":121,"context_line":"        self.release \u003d release"},{"line_number":122,"context_line":"        self.component \u003d component"},{"line_number":123,"context_line":"        self.named_tag \u003d tag"}],"source_content_type":"text/x-python","patch_set":16,"id":"22625de6_2bbe6dbc","line":120,"range":{"start_line":120,"start_character":13,"end_line":120,"end_character":24},"updated":"2021-04-20 09:46:34.000000000","message":"let\u0027s make that dlrn_url for consistency with the config and everywhere else here uses dlrn_url","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        )"},{"line_number":118,"context_line":"        repo_url_response \u003d requests.get(repo_url).text"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        self.dlrnapi_url \u003d repo_url"},{"line_number":121,"context_line":"        self.release \u003d release"},{"line_number":122,"context_line":"        self.component \u003d component"},{"line_number":123,"context_line":"        self.named_tag \u003d tag"}],"source_content_type":"text/x-python","patch_set":16,"id":"482911ec_a4ad7b3d","line":120,"range":{"start_line":120,"start_character":13,"end_line":120,"end_character":24},"in_reply_to":"22625de6_2bbe6dbc","updated":"2021-04-20 11:34:44.000000000","message":"Done","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":125,"context_line":"        if repo_url.endswith(\u0027commit.yaml\u0027):"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"            from_commit_yaml \u003d self._hashes_from_commit_yaml(repo_url_response)"},{"line_number":128,"context_line":"            self.full_hash \u003d from_commit_yaml[0]"},{"line_number":129,"context_line":"            self.commit_hash \u003d from_commit_yaml[1]"},{"line_number":130,"context_line":"            self.distro_hash \u003d from_commit_yaml[2]"},{"line_number":131,"context_line":"            self.extended_hash \u003d from_commit_yaml[3]"}],"source_content_type":"text/x-python","patch_set":16,"id":"fb3eea94_4b0d0a62","line":128,"updated":"2021-04-20 10:21:09.000000000","message":"it can be shortened, but not must of course:\n self.full_hash, self.commit_hash, self.distro_hash, self.extended_hash \u003d from_commit_yaml","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":131,"context_line":"            self.extended_hash \u003d from_commit_yaml[3]"},{"line_number":132,"context_line":"        else:"},{"line_number":133,"context_line":"            self.full_hash \u003d repo_url_response"},{"line_number":134,"context_line":"            self.commit_hash \u003d None"},{"line_number":135,"context_line":"            self.distro_hash \u003d None"},{"line_number":136,"context_line":"            self.extended_hash \u003d None"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"efa468d3_d28e5cec","line":134,"range":{"start_line":134,"start_character":12,"end_line":134,"end_character":35},"updated":"2021-04-20 10:21:09.000000000","message":"and this: \n   self.commit_hash \u003d self.distro_hash \u003d self.extended_hash \u003d None","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"d427f7ecffc08752466751f2b99f45fed1c22c0f","unresolved":true,"context_lines":[{"line_number":135,"context_line":"            self.distro_hash \u003d None"},{"line_number":136,"context_line":"            self.extended_hash \u003d None"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def pretty_print(self):"},{"line_number":139,"context_line":"        attrs \u003d vars(self)"},{"line_number":140,"context_line":"        print(\u0027,\\n\u0027.join(\u0027%s: %s\u0027 % item for item in attrs.items()))"}],"source_content_type":"text/x-python","patch_set":16,"id":"afcdfce3_62d7e2c5","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":27},"updated":"2021-04-20 10:21:09.000000000","message":"python has pretty_print built-in, and it\u0027s really pretty.\n\n  from pprint import pprint\n\n  pprint(data)","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"4f1532774ad1fdd6e48873a21bc2504f3f090f96","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            self.distro_hash \u003d None"},{"line_number":136,"context_line":"            self.extended_hash \u003d None"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def pretty_print(self):"},{"line_number":139,"context_line":"        attrs \u003d vars(self)"},{"line_number":140,"context_line":"        print(\u0027,\\n\u0027.join(\u0027%s: %s\u0027 % item for item in attrs.items()))"}],"source_content_type":"text/x-python","patch_set":16,"id":"a2f37c24_1b274c81","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":27},"in_reply_to":"1c8a26ab_57d2863a","updated":"2021-04-21 12:00:41.000000000","message":"I see, in this case need to add __repr__ method to TripleOHashInfo class which will return dict from class. This can be done later of course.","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ff65367b205848a7da98fbf63516ef96638aee42","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            self.distro_hash \u003d None"},{"line_number":136,"context_line":"            self.extended_hash \u003d None"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def pretty_print(self):"},{"line_number":139,"context_line":"        attrs \u003d vars(self)"},{"line_number":140,"context_line":"        print(\u0027,\\n\u0027.join(\u0027%s: %s\u0027 % item for item in attrs.items()))"}],"source_content_type":"text/x-python","patch_set":16,"id":"1c8a26ab_57d2863a","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":27},"in_reply_to":"7d100ef9_d9ba3bb9","updated":"2021-04-21 11:32:20.000000000","message":"so we can only use pprint for data structures and things python knows about.\n\nhttps://docs.python.org/3.8/library/pprint.html\n\n\" If the formatted structures include objects which are not fundamental Python types, the representation may not be loadable. This may be the case if objects such as files, sockets or classes are included, as well as many other objects which are not representable as Python literals.\n\n\ni tried it but can\u0027t get it to print my hash info in a pretty way! \n\n(Pdb) from pprint import pprint\n(Pdb) pprint(tripleo_hash_info)\n\u003ctripleo_get_hash.tripleo_hash_info.TripleOHashInfo object at 0x7f0355a82580\u003e\n\n(Pdb) from pprint import pformat\n(Pdb) pformat(tripleo_hash_info)\n\u0027\u003ctripleo_get_hash.tripleo_hash_info.TripleOHashInfo object at 0x7f0355a82580\u003e\u0027\n\n(Pdb) from pprint import saferepr\n(Pdb) saferepr(tripleo_hash_info)\n\u0027\u003ctripleo_get_hash.tripleo_hash_info.TripleOHashInfo object at 0x7f0355a82580\u003e\u0027\n\n\nNOT PRETTY!??! ;) why can\u0027t we have pretty things :(","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"665e5bacfea82b23cbbd754291a6ed1605a18ff5","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            self.distro_hash \u003d None"},{"line_number":136,"context_line":"            self.extended_hash \u003d None"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def pretty_print(self):"},{"line_number":139,"context_line":"        attrs \u003d vars(self)"},{"line_number":140,"context_line":"        print(\u0027,\\n\u0027.join(\u0027%s: %s\u0027 % item for item in attrs.items()))"}],"source_content_type":"text/x-python","patch_set":16,"id":"7d100ef9_d9ba3bb9","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":27},"in_reply_to":"afcdfce3_62d7e2c5","updated":"2021-04-20 11:34:44.000000000","message":"Ack","commit_id":"ae681eafbb7f7f92f93d59a44555bd0764d98bff"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5d5e1f44be5fae450d59dff6b8569c4ded57d98a","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        config_path \u003d \u0027\u0027"},{"line_number":55,"context_line":"        if _check_read_file(const.CONFIG_PATH):"},{"line_number":56,"context_line":"            config_path \u003d const.CONFIG_PATH"},{"line_number":57,"context_line":"        elif _check_read_file(\u0027config.yaml\u0027):"},{"line_number":58,"context_line":"            config_path \u003d \u0027config.yaml\u0027"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            raise exc.TripleOHashMissingConfig("}],"source_content_type":"text/x-python","patch_set":18,"id":"39f5867e_c77c0e83","line":57,"range":{"start_line":57,"start_character":37,"end_line":57,"end_character":38},"updated":"2021-04-22 10:18:12.000000000","message":"need to use absolute path here...\n\nnot sure why the py36 tests were passing on v17 but not here though... \n\nanyway fix incoming","commit_id":"a8e05ae54ee6bbf1bdc1a3abb6702109d3594b42"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"723d0dc1d95069373facf901e0dfa64edb1143dc","unresolved":true,"context_lines":[{"line_number":26,"context_line":"class TripleOHashInfo:"},{"line_number":27,"context_line":"    \"\"\""},{"line_number":28,"context_line":"    Objects of type TripleOHashInfo contain the attributes required to"},{"line_number":29,"context_line":"    represent a particular delorean build hash. This includes the full, commit"},{"line_number":30,"context_line":"    distro and extended hashes (where applicable), as well as the release,"},{"line_number":31,"context_line":"    OS name and version, component name (if applicable), named tag"},{"line_number":32,"context_line":"    (current-tripleo, tripleo-ci-testing etc) as well as the URL to the"}],"source_content_type":"text/x-python","patch_set":21,"id":"684d3e26_3a7241df","line":29,"updated":"2021-04-28 20:41:42.000000000","message":"commit,","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class TripleOHashInfo:"},{"line_number":27,"context_line":"    \"\"\""},{"line_number":28,"context_line":"    Objects of type TripleOHashInfo contain the attributes required to"},{"line_number":29,"context_line":"    represent a particular delorean build hash. This includes the full, commit"},{"line_number":30,"context_line":"    distro and extended hashes (where applicable), as well as the release,"},{"line_number":31,"context_line":"    OS name and version, component name (if applicable), named tag"},{"line_number":32,"context_line":"    (current-tripleo, tripleo-ci-testing etc) as well as the URL to the"}],"source_content_type":"text/x-python","patch_set":21,"id":"47b3d657_8e21d153","line":29,"in_reply_to":"684d3e26_3a7241df","updated":"2021-04-29 08:32:31.000000000","message":"Ack","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b6ae21f6b5e48f5cae0a036f9bb0634e6b682c89","unresolved":true,"context_lines":[{"line_number":95,"context_line":"        else:"},{"line_number":96,"context_line":"            raise exc.TripleOHashMissingConfig("},{"line_number":97,"context_line":"                \"Configuration file not found at {} or {}\".format("},{"line_number":98,"context_line":"                    const.CONFIG_PATH, config_path"},{"line_number":99,"context_line":"                )"},{"line_number":100,"context_line":"            )"},{"line_number":101,"context_line":"        logging.info(\"Using config file at {}\".format(config_path))"}],"source_content_type":"text/x-python","patch_set":21,"id":"b0959fe3_4e119875","line":98,"range":{"start_line":98,"start_character":39,"end_line":98,"end_character":50},"updated":"2021-04-27 12:51:04.000000000","message":"on next iteration (hopefully a different review if this merges) make that local_config to be more correct","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"72c4dabb6568c172de739ce632e46447cb2417b0","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        else:"},{"line_number":96,"context_line":"            raise exc.TripleOHashMissingConfig("},{"line_number":97,"context_line":"                \"Configuration file not found at {} or {}\".format("},{"line_number":98,"context_line":"                    const.CONFIG_PATH, config_path"},{"line_number":99,"context_line":"                )"},{"line_number":100,"context_line":"            )"},{"line_number":101,"context_line":"        logging.info(\"Using config file at {}\".format(config_path))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7abd3ec6_ff25f094","line":98,"range":{"start_line":98,"start_character":39,"end_line":98,"end_character":50},"in_reply_to":"b0959fe3_4e119875","updated":"2021-04-29 09:23:04.000000000","message":"Done","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d4535a9ea582ce6e1ea81c12dadb65434cdf05bc","unresolved":true,"context_lines":[{"line_number":140,"context_line":"            self.commit_hash \u003d from_commit_yaml[1]"},{"line_number":141,"context_line":"            self.distro_hash \u003d from_commit_yaml[2]"},{"line_number":142,"context_line":"            self.extended_hash \u003d from_commit_yaml[3]"},{"line_number":143,"context_line":"        else:"},{"line_number":144,"context_line":"            self.full_hash \u003d repo_url_response"},{"line_number":145,"context_line":"            self.commit_hash \u003d None"},{"line_number":146,"context_line":"            self.distro_hash \u003d None"}],"source_content_type":"text/x-python","patch_set":21,"id":"0f7b97c6_405edb38","line":143,"updated":"2021-04-29 08:32:31.000000000","message":"make this elif for md5 else explosions","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"72c4dabb6568c172de739ce632e46447cb2417b0","unresolved":true,"context_lines":[{"line_number":140,"context_line":"            self.commit_hash \u003d from_commit_yaml[1]"},{"line_number":141,"context_line":"            self.distro_hash \u003d from_commit_yaml[2]"},{"line_number":142,"context_line":"            self.extended_hash \u003d from_commit_yaml[3]"},{"line_number":143,"context_line":"        else:"},{"line_number":144,"context_line":"            self.full_hash \u003d repo_url_response"},{"line_number":145,"context_line":"            self.commit_hash \u003d None"},{"line_number":146,"context_line":"            self.distro_hash \u003d None"}],"source_content_type":"text/x-python","patch_set":21,"id":"eea208c5_8c01dc66","line":143,"in_reply_to":"0f7b97c6_405edb38","updated":"2021-04-29 09:23:04.000000000","message":"this can be a followup would also need updates to tests etc","commit_id":"3b99ae829eb81c22e87c43c1d4c911ff6f580e01"}],"tripleo_get_hash/README.txt":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"8aa317aa99a831a3cf0e4c0fcb229f3a708523bd","unresolved":true,"context_lines":[{"line_number":5,"context_line":"or \u0027tripleo-ci-testing\u0027 [1] it will return the hash information, including"},{"line_number":6,"context_line":"the commit, distro and full hashes where available."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"It includes a simple command line, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"     python tripleo_get_hash.py # by default master, current-tripleo."},{"line_number":11,"context_line":"     python tripleo_get_hash.py --component tripleo --release victoria --centos 8"}],"source_content_type":"text/plain","patch_set":4,"id":"0a633bff_38a7ed6a","line":8,"updated":"2021-04-02 14:15:54.000000000","message":"command line *interface*","commit_id":"3c45b491e5862d300c22eb2bd8bfa7a3938449db"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"234d77c84f1f9ebc7b022acd654f170e4a8daf21","unresolved":false,"context_lines":[{"line_number":5,"context_line":"or \u0027tripleo-ci-testing\u0027 [1] it will return the hash information, including"},{"line_number":6,"context_line":"the commit, distro and full hashes where available."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"It includes a simple command line, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"     python tripleo_get_hash.py # by default master, current-tripleo."},{"line_number":11,"context_line":"     python tripleo_get_hash.py --component tripleo --release victoria --centos 8"}],"source_content_type":"text/plain","patch_set":4,"id":"72f90e44_5e45dda6","line":8,"in_reply_to":"0a633bff_38a7ed6a","updated":"2021-04-05 15:20:55.000000000","message":"Done","commit_id":"3c45b491e5862d300c22eb2bd8bfa7a3938449db"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"8f74ef90878abca2551139e65029c8ce4cdca813","unresolved":true,"context_lines":[{"line_number":1,"context_line":"tripleo_get_hash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This utility is meant for use by TripleO deployments, particularly in zuul"},{"line_number":4,"context_line":"continuous integration jobs. Given an RDO named tag, such as \u0027current-tripleo\u0027"},{"line_number":5,"context_line":"or \u0027tripleo-ci-testing\u0027 [1] it will return the hash information, including"},{"line_number":6,"context_line":"the commit, distro and full hashes where available."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"It includes a simple command line interface, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"     python tripleo_get_hash.py # by default master, current-tripleo."},{"line_number":11,"context_line":"     python tripleo_get_hash.py --component tripleo --release victoria --centos 8"},{"line_number":12,"context_line":"     python tripleo_get_hash.py --release master --centos 7"},{"line_number":13,"context_line":"     python tripleo_get_hash.py --release train # by default centos-8"},{"line_number":14,"context_line":"     python tripleo_get_hash.py --help"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://docs.openstack.org/tripleo-docs/latest/ci/stages-overview.html#rdo-dlrn-promotion-criteria"}],"source_content_type":"text/plain","patch_set":7,"id":"4f1b431e_c6598140","line":16,"range":{"start_line":1,"start_character":0,"end_line":16,"end_character":102},"updated":"2021-04-08 08:28:53.000000000","message":"txt is for people going into retirement, I know you can do MD ;)","commit_id":"23a3c5bdc2722e29e9f5afa9b26d85545ef36da6"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b39ae5d9619e09246e1aecd8c1e7a98bee353a6f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"tripleo_get_hash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This utility is meant for use by TripleO deployments, particularly in zuul"},{"line_number":4,"context_line":"continuous integration jobs. Given an RDO named tag, such as \u0027current-tripleo\u0027"},{"line_number":5,"context_line":"or \u0027tripleo-ci-testing\u0027 [1] it will return the hash information, including"},{"line_number":6,"context_line":"the commit, distro and full hashes where available."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"It includes a simple command line interface, example usage:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"     python tripleo_get_hash.py # by default master, current-tripleo."},{"line_number":11,"context_line":"     python tripleo_get_hash.py --component tripleo --release victoria --centos 8"},{"line_number":12,"context_line":"     python tripleo_get_hash.py --release master --centos 7"},{"line_number":13,"context_line":"     python tripleo_get_hash.py --release train # by default centos-8"},{"line_number":14,"context_line":"     python tripleo_get_hash.py --help"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://docs.openstack.org/tripleo-docs/latest/ci/stages-overview.html#rdo-dlrn-promotion-criteria"}],"source_content_type":"text/plain","patch_set":7,"id":"68f37679_ed28fd3d","line":16,"range":{"start_line":1,"start_character":0,"end_line":16,"end_character":102},"in_reply_to":"4f1b431e_c6598140","updated":"2021-04-08 12:50:03.000000000","message":"Haha OK will do but not on the coming revision","commit_id":"23a3c5bdc2722e29e9f5afa9b26d85545ef36da6"}],"tripleo_get_hash/requirements.txt":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"8b228e777e789194270b40758b7dca4af18569c2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"PyYAML"},{"line_number":2,"context_line":"requests"}],"source_content_type":"text/plain","patch_set":8,"id":"885ca722_25c945c1","line":1,"updated":"2021-04-08 14:56:01.000000000","message":"it needs to be added here: https://opendev.org/openstack/tripleo-ci/src/branch/master/tox.ini#L32 so that it gets installed. I am looking into the test discovery.","commit_id":"62061e18dacd0aa991e742f7923f607f7c2ae5ee"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5e92efe77d462e2045ff915fe118d820eb349cde","unresolved":true,"context_lines":[{"line_number":1,"context_line":"PyYAML"},{"line_number":2,"context_line":"requests"}],"source_content_type":"text/plain","patch_set":8,"id":"9e3de951_6bac24cf","line":1,"in_reply_to":"86a138a8_816e74c2","updated":"2021-04-09 12:14:18.000000000","message":"i think tests are now passing in the latest update waiting for zuul to report https://zuul.openstack.org/status#784392","commit_id":"62061e18dacd0aa991e742f7923f607f7c2ae5ee"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"979f060e4839d638aaa567ffe6025b5b94de7ce1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"PyYAML"},{"line_number":2,"context_line":"requests"}],"source_content_type":"text/plain","patch_set":8,"id":"86a138a8_816e74c2","line":1,"in_reply_to":"885ca722_25c945c1","updated":"2021-04-09 08:14:50.000000000","message":"ack thanks going to update again today","commit_id":"62061e18dacd0aa991e742f7923f607f7c2ae5ee"}],"tripleo_get_hash/tripleo_get_hash.py":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"fa2f7873da3d49164512b87607cdcbb63b835a0c","unresolved":true,"context_lines":[{"line_number":28,"context_line":"log \u003d logging.getLogger(\u0027tripleo-get-hash.py\u0027)"},{"line_number":29,"context_line":"log.setLevel(logging.DEBUG)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"BASE_DLRN_URL \u003d \u0027https://trunk.rdoproject.org/\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# https://trunk.rdoproject.org/centos8/current-tripleo/delorean.repo.md5"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba13dae3_21f61fd4","line":31,"updated":"2021-04-02 13:38:59.000000000","message":"move to constants","commit_id":"3c45b491e5862d300c22eb2bd8bfa7a3938449db"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"234d77c84f1f9ebc7b022acd654f170e4a8daf21","unresolved":false,"context_lines":[{"line_number":28,"context_line":"log \u003d logging.getLogger(\u0027tripleo-get-hash.py\u0027)"},{"line_number":29,"context_line":"log.setLevel(logging.DEBUG)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"BASE_DLRN_URL \u003d \u0027https://trunk.rdoproject.org/\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# https://trunk.rdoproject.org/centos8/current-tripleo/delorean.repo.md5"}],"source_content_type":"text/x-python","patch_set":4,"id":"cfc4776b_f745c9b8","line":31,"in_reply_to":"ba13dae3_21f61fd4","updated":"2021-04-05 15:20:55.000000000","message":"Done","commit_id":"3c45b491e5862d300c22eb2bd8bfa7a3938449db"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"4e3e264ac6da3c46e67a32036780b1c728811d31","unresolved":true,"context_lines":[{"line_number":108,"context_line":"    tripleo_hash_info \u003d get_tripleo_hash_info("},{"line_number":109,"context_line":"        args.centos, args.component, args.release, args.tag"},{"line_number":110,"context_line":"    )"},{"line_number":111,"context_line":"    tripleo_hash_info.pretty_print()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"if __name__ \u003d\u003d \"__main__\":"}],"source_content_type":"text/x-python","patch_set":4,"id":"ef9ff3af_7401c9a9","line":111,"updated":"2021-04-02 14:16:49.000000000","message":"Only pretty print when it\u0027s called  as a command","commit_id":"3c45b491e5862d300c22eb2bd8bfa7a3938449db"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"234d77c84f1f9ebc7b022acd654f170e4a8daf21","unresolved":true,"context_lines":[{"line_number":108,"context_line":"    tripleo_hash_info \u003d get_tripleo_hash_info("},{"line_number":109,"context_line":"        args.centos, args.component, args.release, args.tag"},{"line_number":110,"context_line":"    )"},{"line_number":111,"context_line":"    tripleo_hash_info.pretty_print()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"if __name__ \u003d\u003d \"__main__\":"}],"source_content_type":"text/x-python","patch_set":4,"id":"0f748999_26160c70","line":111,"in_reply_to":"ef9ff3af_7401c9a9","updated":"2021-04-05 15:20:55.000000000","message":"no moved code around will leave as is for now","commit_id":"3c45b491e5862d300c22eb2bd8bfa7a3938449db"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"334ff35607302ac42b17ab849038f075df6ad248","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2021 Red Hat, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":7,"id":"4de43a5a_db860f4c","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"updated":"2021-04-08 08:33:15.000000000","message":"This file must be named \"modulesname/__main__.py\" because that is the file that is called when you do \"python -m modulename\"","commit_id":"23a3c5bdc2722e29e9f5afa9b26d85545ef36da6"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b39ae5d9619e09246e1aecd8c1e7a98bee353a6f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2021 Red Hat, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a12d00d_894a63b9","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"in_reply_to":"4de43a5a_db860f4c","updated":"2021-04-08 12:50:03.000000000","message":"Ok thank you for your comments I will make an update now for chkumar suggestions first and then we\u0027ll start to rearrange and rename as you are suggesting","commit_id":"23a3c5bdc2722e29e9f5afa9b26d85545ef36da6"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"3ce036ae10cb027a639a2babe2c51809a3307086","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2021 Red Hat, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":7,"id":"3e5fcbf4_505a62b1","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"in_reply_to":"7a12d00d_894a63b9","updated":"2021-04-21 06:33:18.000000000","message":"Nobody runs it with \"python -m\", it\u0027s common and usual to run it just with \"python filename\" or to register a command in setup.py\nPlease let\u0027s avoid here weird and unusual cases.","commit_id":"23a3c5bdc2722e29e9f5afa9b26d85545ef36da6"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"4c0d29d4343229986d98ad613f92cf29344464dc","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        help\u003d(\u0027The release of \u0027 \u0027OpenStack you want the hash info for. Default master\u0027),"},{"line_number":63,"context_line":"        choices\u003d[\u0027master\u0027, \u0027train\u0027, \u0027ussuri\u0027, \u0027victoria\u0027, \u0027wallaby\u0027],"},{"line_number":64,"context_line":"    )"},{"line_number":65,"context_line":"    parser.add_argument(\u0027--hash-file-location\u0027, default\u003d\u0027~/hash_info.sh\u0027)"},{"line_number":66,"context_line":"    args \u003d parser.parse_args()"},{"line_number":67,"context_line":"    _validate_args(args)"},{"line_number":68,"context_line":"    tripleo_hash_info \u003d thi.get_tripleo_hash_info("}],"source_content_type":"text/x-python","patch_set":7,"id":"41ec1e78_dc9e7d65","line":65,"updated":"2021-04-08 07:32:19.000000000","message":"We can also add help message for --hash-file-location argument.","commit_id":"23a3c5bdc2722e29e9f5afa9b26d85545ef36da6"}],"tripleo_get_hash/tripleo_hash_info.py":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"7e0955b21c06378b9f480ab7208ca37c10b5e280","unresolved":true,"context_lines":[{"line_number":35,"context_line":"        component,"},{"line_number":36,"context_line":"        full_hash,"},{"line_number":37,"context_line":"        commit_hash\u003dNone,"},{"line_number":38,"context_line":"        distro_hash\u003dNone,"},{"line_number":39,"context_line":"    ):"},{"line_number":40,"context_line":"        self.dlrnapi_url \u003d dlrnapi_url"},{"line_number":41,"context_line":"        self.release \u003d release"}],"source_content_type":"text/x-python","patch_set":4,"id":"70044086_6f2ab37a","line":38,"updated":"2021-04-02 14:02:44.000000000","message":"Let\u0027s also add extended_hash to this model","commit_id":"3c45b491e5862d300c22eb2bd8bfa7a3938449db"}],"zuul.d/layout.yaml":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"330bea3bdea22534d128ce32c0dabdcafcb22bf7","unresolved":true,"context_lines":[{"line_number":30,"context_line":"              - ^setup.cfg$"},{"line_number":31,"context_line":"              - ^setup.py$"},{"line_number":32,"context_line":"              - ^tox.ini$"},{"line_number":33,"context_line":"              - ^scripts/tripleo_get_hash/.*"},{"line_number":34,"context_line":"            vars:"},{"line_number":35,"context_line":"              tox_environment:"},{"line_number":36,"context_line":"                PYTEST_REQPASS: 84"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"a75ad947_f2702900","line":33,"range":{"start_line":33,"start_character":17,"end_line":33,"end_character":24},"updated":"2021-04-07 07:20:58.000000000","message":"nit removing","commit_id":"de95bb10bf74fa917e9006e8db7a8ca07bb5b0ad"}]}
