)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a18b764cec35163a8f8b1827df9b2e2f53325a72","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactor of kolla_docker into module_utils"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Moved the DockerWorker class from module file into it\u0027s separate file"},{"line_number":10,"context_line":"in module_utils directory for future extension."},{"line_number":11,"context_line":"Unit tests changed accordingly."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"a26be742_83eea698","line":9,"range":{"start_line":9,"start_character":51,"end_line":9,"end_character":56},"updated":"2022-01-05 15:26:01.000000000","message":"nit: its","commit_id":"aad03c617345fdd9a9da1069b31a65b349629b86"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a18b764cec35163a8f8b1827df9b2e2f53325a72","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Signed-off-by: Ivan Halomi \u003civan.halomi@tietoevry.com\u003e"},{"line_number":14,"context_line":"Change-Id: Ia2a471a9a2805e13b2c20dbf8a7297c23231aae3"},{"line_number":15,"context_line":"Signed-off-by: Martin Hiner \u003cmartin.hiner@tietoevry.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"cf0fcb79_5c418e79","line":15,"updated":"2022-01-05 15:26:01.000000000","message":"you might want to add Co-Authored-By in the same format","commit_id":"aad03c617345fdd9a9da1069b31a65b349629b86"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33708,"name":"Ivan Halomi","username":"halomiva","inactive":true},"change_message_id":"e52fe0021684d88ea6678f7f9489c8469244c784","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f39c31a5_aaa573fe","updated":"2021-11-15 14:08:36.000000000","message":"First step of refactoring, second step with adding abstract classes is coming as patchset later this week","commit_id":"e7b0d8fcf35a6a0b34452580773fef03da3b2447"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"34ff6f238657072d22c954f35c04c30f71e680fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e46cd8f9_27530864","updated":"2021-11-17 14:26:13.000000000","message":"OK, refactoring is good thing. Can you add some information (in a commit message?) why it is needed etc?","commit_id":"4c8a599ebb3670e0fe99dac8f47e6c6d0440d4fa"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"82d854ffc7f4e998472e4530dce230412c240336","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4a71a93a_e158af6d","updated":"2021-12-01 16:15:57.000000000","message":"Looks like a clean split, two suggestions inline.","commit_id":"3c066c9ab4311e374e885b63b0f317e51d396f6e"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"9a9e18bbc6713730489c4ba5ee1d05a8cadd474e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"069951f3_fcfc5b65","updated":"2021-12-08 13:40:22.000000000","message":"Points made by Dr. Jens Harbott were incorporated and will be present in the next patchset.","commit_id":"3c066c9ab4311e374e885b63b0f317e51d396f6e"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"4d9a240b599046d887f4fc06046a459f3e903e15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7afd51b3_e166cc43","updated":"2022-01-04 12:03:38.000000000","message":"Discussed changes and issues were incorporated into the latest Patchset #6.","commit_id":"d848d53e4ec0d00203841e8539426d9bd098b86e"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a18b764cec35163a8f8b1827df9b2e2f53325a72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"141e4bd0_8128f218","updated":"2022-01-05 15:26:01.000000000","message":"+2 otherwise","commit_id":"aad03c617345fdd9a9da1069b31a65b349629b86"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"1ba76b6052ef7d41b54bc665fe4f4b3a5afe25c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e1a34e1f_eba186db","updated":"2022-01-05 15:27:46.000000000","message":"and maybe we should call \"docker_worker\" \"kolla_docker_worker\" considering ansible puts all module utils in one namespace too","commit_id":"aad03c617345fdd9a9da1069b31a65b349629b86"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"abd8c3f2b1cd934fdf25f08b687b7aa8a353d3be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"58db9f24_58b5e1a6","updated":"2022-01-06 13:50:03.000000000","message":"Nice work.","commit_id":"a9fbcb18553a0a3541ac52ab7d2982857a9389e0"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"72fa7aa64599104b13cac48644b123e07b8d796c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"e15aa83f_3ec33a91","updated":"2022-01-06 16:54:28.000000000","message":"recheck unclear upgrade failure","commit_id":"a9fbcb18553a0a3541ac52ab7d2982857a9389e0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"e8011408621677050f06384b75d4ae6642640156","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1136e871_128b53b5","updated":"2022-01-06 14:18:32.000000000","message":"thanks, nice work indeed","commit_id":"a9fbcb18553a0a3541ac52ab7d2982857a9389e0"}],"ansible.cfg":[{"author":{"_account_id":29880,"name":"Adrian Andreias","email":"adrian@fleio.com","username":"adrian-fleio"},"change_message_id":"6c13d4e3593fb17e4025ab4eb29d677eaef5600c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"60f267f2_b00a2b6f","line":2,"updated":"2021-11-15 21:25:27.000000000","message":"It\u0027s useful to have a newline at the of the file, especially for future diffs. Same in the py file.","commit_id":"e7b0d8fcf35a6a0b34452580773fef03da3b2447"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"4d9a240b599046d887f4fc06046a459f3e903e15","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"5f150ee4_8ba47081","line":2,"in_reply_to":"60f267f2_b00a2b6f","updated":"2022-01-04 12:03:38.000000000","message":"Ack","commit_id":"e7b0d8fcf35a6a0b34452580773fef03da3b2447"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3df7fe05c2c3a78755bb6537478a514c279b04c4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"ec82911c_141a7a67","line":2,"updated":"2021-12-20 14:05:42.000000000","message":"I think this shouldn\u0027t be necessary:\n\n\"Ansible can look in multiple locations if you feed it a colon separated path, and it also will look for modules in the ./module_utils directory alongside a playbook.\"","commit_id":"aedc3acebc05e3121810a4021cecfa5d09cd92dd"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"4d9a240b599046d887f4fc06046a459f3e903e15","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"03c384db_f9ca719d","line":2,"in_reply_to":"ec82911c_141a7a67","updated":"2022-01-04 12:03:38.000000000","message":"Done","commit_id":"aedc3acebc05e3121810a4021cecfa5d09cd92dd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3df7fe05c2c3a78755bb6537478a514c279b04c4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"56c2bb32_269090fd","line":2,"updated":"2021-12-20 14:05:42.000000000","message":"This is a blocker for me. It shouldn\u0027t be necessary to use a custom config file - Ansible should use a module_utils directory as the playbook.\n\nAlternatively, we could move this all to the new openstack.kolla collection, which definitely should work, without requiring the playbook to be in the same directory as module_utils.\n\nSee https://opendev.org/openstack/ansible-collections-openstack for an example of using modules and module_utils in a collection.","commit_id":"aa84458e070c36cd96286fe47ae769fe7a9cf465"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"6c121560c25c42d5ecf212dc7124efdb52e68bcc","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"b250d73c_c6d0f91b","line":2,"in_reply_to":"2b7e2bb6_475f4627","updated":"2021-12-22 12:22:09.000000000","message":"I just tried using this change, and am satisfied that ansible.cfg is not required for this to work. module_utils is a supported path relative to the playbook.\n\nNo need to move to a collection.","commit_id":"aa84458e070c36cd96286fe47ae769fe7a9cf465"},{"author":{"_account_id":33708,"name":"Ivan Halomi","username":"halomiva","inactive":true},"change_message_id":"c7fdebb5f4ebbc5241a734c7b3cecd9a9948e363","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"2b7e2bb6_475f4627","line":2,"in_reply_to":"56c2bb32_269090fd","updated":"2021-12-22 08:31:13.000000000","message":"So what are you saying is that we should move whole kolla_docker into the openstack.kolla collection? That will make this change really big one and we should also think about renaming it to something different since in the future we will be using same module also for podman.","commit_id":"aa84458e070c36cd96286fe47ae769fe7a9cf465"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"4d9a240b599046d887f4fc06046a459f3e903e15","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[defaults]"},{"line_number":2,"context_line":"module_utils \u003d ansible/module_utils"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"45bd4b7e_30f597de","line":2,"in_reply_to":"b250d73c_c6d0f91b","updated":"2022-01-04 12:03:38.000000000","message":"Done","commit_id":"aa84458e070c36cd96286fe47ae769fe7a9cf465"}],"ansible/library/kolla_docker.py":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a18b764cec35163a8f8b1827df9b2e2f53325a72","unresolved":true,"context_lines":[{"line_number":18,"context_line":"# a hacky way to seed most usages of kolla_docker in kolla-ansible ansible"},{"line_number":19,"context_line":"# playbooks - caution has to be exerted when setting \"common_options\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# FIXME(yoctozepto): restart_policy is *not* checked in the container"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import traceback"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"80358ffe_f26d67cd","line":21,"updated":"2022-01-05 15:26:01.000000000","message":"this commit belongs in the file being refactored out","commit_id":"aad03c617345fdd9a9da1069b31a65b349629b86"}],"tests/link-module-utils.sh":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a18b764cec35163a8f8b1827df9b2e2f53325a72","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# NOTE(hinermar): During deployment, Ansible handles module discovery"},{"line_number":4,"context_line":"# through it\u0027s config file. In testing environment this feature is"},{"line_number":5,"context_line":"# not present so it\u0027s necessary to link module files to environment"},{"line_number":6,"context_line":"# package directory so they can be discovered by python interpreter."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-sh","patch_set":7,"id":"c662f85f_d02d3f0c","line":4,"range":{"start_line":4,"start_character":2,"end_line":4,"end_character":26},"updated":"2022-01-05 15:26:01.000000000","message":"nit: automatically (\"through its config file\" is a bit misleading)","commit_id":"aad03c617345fdd9a9da1069b31a65b349629b86"}],"tests/test_kolla_docker.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"82d854ffc7f4e998472e4530dce230412c240336","unresolved":true,"context_lines":[{"line_number":26,"context_line":"from oslotest import base"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"this_dir \u003d os.path.dirname(sys.modules[__name__].__file__)"},{"line_number":29,"context_line":"kolla_docker_file \u003d os.path.join(this_dir, \u0027..\u0027, \u0027ansible\u0027,"},{"line_number":30,"context_line":"                                 \u0027library\u0027, \u0027kolla_docker.py\u0027)"},{"line_number":31,"context_line":"docker_worker_file \u003d os.path.join(this_dir, \u0027..\u0027, \u0027ansible\u0027,"},{"line_number":32,"context_line":"                                  \u0027module_utils\u0027, \u0027docker_worker.py\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7e72b2e4_eac40f6d","line":29,"range":{"start_line":29,"start_character":20,"end_line":29,"end_character":58},"updated":"2021-12-01 16:15:57.000000000","message":"Maybe add\n\nansible_dir \u003d os.path.join(this_dir, \u0027..\u0027, \u0027ansible\u0027)\n\nas intermediate step to reduce repetition?","commit_id":"3c066c9ab4311e374e885b63b0f317e51d396f6e"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"9a9e18bbc6713730489c4ba5ee1d05a8cadd474e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from oslotest import base"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"this_dir \u003d os.path.dirname(sys.modules[__name__].__file__)"},{"line_number":29,"context_line":"kolla_docker_file \u003d os.path.join(this_dir, \u0027..\u0027, \u0027ansible\u0027,"},{"line_number":30,"context_line":"                                 \u0027library\u0027, \u0027kolla_docker.py\u0027)"},{"line_number":31,"context_line":"docker_worker_file \u003d os.path.join(this_dir, \u0027..\u0027, \u0027ansible\u0027,"},{"line_number":32,"context_line":"                                  \u0027module_utils\u0027, \u0027docker_worker.py\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ec64f5bc_86c7c80c","line":29,"range":{"start_line":29,"start_character":20,"end_line":29,"end_character":58},"in_reply_to":"7e72b2e4_eac40f6d","updated":"2021-12-08 13:40:22.000000000","message":"Done","commit_id":"3c066c9ab4311e374e885b63b0f317e51d396f6e"}],"tools/init-packages":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"82d854ffc7f4e998472e4530dce230412c240336","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"for file_path in ${local_module_utils}/*.py; do"},{"line_number":13,"context_line":"    file_name\u003d$(basename ${file_path})"},{"line_number":14,"context_line":"    ln -f ${file_path} ${env_module_utils}/${file_name}"},{"line_number":15,"context_line":"done"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"882ecb61_7626c034","line":14,"updated":"2021-12-01 16:15:57.000000000","message":"Do these need to be hardlinks? Could be an issue if filesystems are crossed. Better add -s if possible, otherwise please add a note explaining  why hardlinks are needed.","commit_id":"3c066c9ab4311e374e885b63b0f317e51d396f6e"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"9a9e18bbc6713730489c4ba5ee1d05a8cadd474e","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"for file_path in ${local_module_utils}/*.py; do"},{"line_number":13,"context_line":"    file_name\u003d$(basename ${file_path})"},{"line_number":14,"context_line":"    ln -f ${file_path} ${env_module_utils}/${file_name}"},{"line_number":15,"context_line":"done"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3d9ffd80_d6191d0c","line":14,"in_reply_to":"882ecb61_7626c034","updated":"2021-12-08 13:40:22.000000000","message":"Done","commit_id":"3c066c9ab4311e374e885b63b0f317e51d396f6e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"6c121560c25c42d5ecf212dc7124efdb52e68bcc","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# NOTE(hinermar): During deployment, Ansible handles module discovery"},{"line_number":4,"context_line":"# through it\u0027s config file. In testing environment this feature is"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"7958d89b_28c0bb2d","line":1,"updated":"2021-12-22 12:22:09.000000000","message":"I don\u0027t particularly like this, but I couldn\u0027t get my alternative PYTHONPATH method to work. I guess because there is already an ansible module which matches first.\n\nCould you move this to the tests/ directory, and rename to something a bit more specific. How about link-module-utils.sh?","commit_id":"aa84458e070c36cd96286fe47ae769fe7a9cf465"},{"author":{"_account_id":34113,"name":"Martin Hiner","email":"martin.hiner@tietoevry.com","username":"hinermar"},"change_message_id":"4d9a240b599046d887f4fc06046a459f3e903e15","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# NOTE(hinermar): During deployment, Ansible handles module discovery"},{"line_number":4,"context_line":"# through it\u0027s config file. In testing environment this feature is"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"612b3ed3_7ed295d3","line":1,"in_reply_to":"7958d89b_28c0bb2d","updated":"2022-01-04 12:03:38.000000000","message":"Done","commit_id":"aa84458e070c36cd96286fe47ae769fe7a9cf465"}]}
