)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"7ed6f33d324caf9d945771bf14fb3daebdecff69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f633e0f4_05362f3e","updated":"2022-12-23 11:29:42.000000000","message":"recheck","commit_id":"2918b2e9f2cfcbd0366b1e59815e0293e06bd623"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"626322a8aa6a3cad5b89ee46e2a0665eda1ba50d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"baf15ebe_a5dcc125","updated":"2023-01-15 21:32:29.000000000","message":"Thanks for contribution! Would you like to add some tests for it?","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"6e6cc04c775c485869ac745758f66a75759a51ca","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e5b18cf3_ca953c24","updated":"2023-01-15 22:28:28.000000000","message":"yes of course totally doable!","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"089ff348abb167627c15546c82d0d653cace50a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1cf1a1c9_0dee69d6","in_reply_to":"159f9cd8_7c012285","updated":"2023-02-20 16:02:16.000000000","message":"Alright! Just pushed the appropriate testing and code, it\u0027s supposed to pass the CI now 😄, thanks a lot for the following and sorry for the delay, I\u0027ve been busy at work lately.","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"a9e757b1d0e148107ea9aaf90a6c4fe92e77fc9a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"159f9cd8_7c012285","in_reply_to":"588fabad_22189bd1","updated":"2023-01-25 18:24:22.000000000","message":"I think you can look at other module as an example. Like volume_info (or any other)\nIncluding testing role: https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/ci/run-collection.yml#L59\nAdding the actual testing role: https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/ci/roles\n\nIn case it overlaps with any current roles, just add a few tests into existing role, like here for example: https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/ci/roles/volume/tasks\n\nThe test should call your module, with a few parameters, also better to ensure idempotency if possible.","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"c6219b28877c985c6263123a8e2e0515285353c2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"588fabad_22189bd1","in_reply_to":"baf15ebe_a5dcc125","updated":"2023-01-19 09:21:34.000000000","message":"If you guide me on this one sure, is there a specific doc to follow about tests?","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"f207de5c667d9058fb3cdc12e9ce7aba78b38c38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1e144dfe_d865969a","in_reply_to":"e5b18cf3_ca953c24","updated":"2023-02-20 16:10:44.000000000","message":"Ack","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"e47b6ed4d6e5c97adb5bb951413268014ac55e99","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dadfdc4d_a3f5ef9d","updated":"2023-02-21 11:15:58.000000000","message":"recheck","commit_id":"d614b6427619c1601b0cfb4b97b789d61be5682f"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"f2026e8fbe4f2db0353182d91f45f2926aa64974","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"7f8f0709_2e8b5c3e","updated":"2023-02-21 11:59:06.000000000","message":"Shnaidman, I\u0027ve just patched the ci role (server_volume) that called for a hardcoded image, is that fine or do we put it on another change?","commit_id":"4def462eec1fcc9fb3e9ef64757f38a9a58c0f7c"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"65bcd0bc8696db25ae493793db72b5d3691cd06b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b64a511b_60db715d","updated":"2023-02-21 12:29:01.000000000","message":"recheck","commit_id":"4def462eec1fcc9fb3e9ef64757f38a9a58c0f7c"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"659b828799b4c2e0c856dffeb5379e648d55f000","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0898b138_53d2f2ca","updated":"2023-02-21 14:51:25.000000000","message":"recheck","commit_id":"bead8850d3721cd47f7ca7852b9a9138d1937cf8"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"bffb679e77f40aee3a85cd16beee4dfcdc3ba513","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"fd2c70b6_8c228e15","updated":"2023-02-21 13:40:34.000000000","message":"recheck","commit_id":"bead8850d3721cd47f7ca7852b9a9138d1937cf8"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"26128a563212914605814a783367b0f2c9d11a71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"5a8bf693_21c4966d","updated":"2023-02-21 23:52:42.000000000","message":"recheck","commit_id":"f979323629caa7b5a413ffa111f449fd6a204a5e"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"70e02c288b44bc7f6f3f5c740a9c4c205c930d3d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"59ca030c_8307cf52","updated":"2023-03-02 17:55:31.000000000","message":"Alright, we need to wait for the following patch as this endpoint doesn\u0027t exist yet on openstackSDK:\n\nhttps://storyboard.openstack.org/#!/story/2010626","commit_id":"e43924f3b36f4c875daaf8fa389fe64d7000a1c0"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"ffd6052cd40920ed96bec8abc4840d57925f87c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"78ecf86d_04ca67e4","updated":"2023-03-09 10:51:29.000000000","message":"When you have a patch in SDK repo, you can put it as a dependency here and run tests.","commit_id":"e43924f3b36f4c875daaf8fa389fe64d7000a1c0"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"cc30603774fc93534be7049d749f228468923269","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"f1aab15e_8753c4bb","in_reply_to":"78ecf86d_04ca67e4","updated":"2023-03-17 10:20:08.000000000","message":"Aaah yes, you\u0027re right, I\u0027ll put it as a dependency as soon as I\u0027ll push it on the openstackSDK repo.","commit_id":"e43924f3b36f4c875daaf8fa389fe64d7000a1c0"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b09250d351a59ce828176dcd95c8fbf17d8cf715","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"4cd3192e_603696c9","updated":"2024-11-04 13:49:59.000000000","message":"@gael.therond@bitswalk.com Can you please remove `.gitignore` file from the patch? All the rest look ok.","commit_id":"568d17cc5dfb2e6f348c8d3a7e8ecd7100778a57"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"b49ac39c069f92a4fa0c6cb880fc159df9a568e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"e92b9771_3e55c0bb","in_reply_to":"4cd3192e_603696c9","updated":"2024-11-04 13:55:27.000000000","message":"Yep, it’s done, although, I didn’t tested the patch since a long time, it may benefit to be tested a bit xD","commit_id":"568d17cc5dfb2e6f348c8d3a7e8ecd7100778a57"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"ae1d6e5d1580eef3c1a14b787327eeb6a1c70b45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"5629699a_9aa5023f","updated":"2024-11-05 10:45:58.000000000","message":"@gael.therond@bitswalk.com all right, so can you please confirm it\u0027s working? 😊 I see tests are executed and pass.","commit_id":"903eeb7db7480e6057de1e6a0ae592e5d4bf2a40"}],"plugins/modules/volume_service_info.py":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"626322a8aa6a3cad5b89ee46e2a0665eda1ba50d","unresolved":true,"context_lines":[{"line_number":98,"context_line":"from ansible_collections.openstack.cloud.plugins.module_utils.openstack import OpenStackModule"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"class volumeServiceInfoModule(OpenStackModule):"},{"line_number":102,"context_line":"    argument_spec \u003d dict("},{"line_number":103,"context_line":"        binary\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":104,"context_line":"        host\u003ddict(min_ver\u003d\u00270.53.0\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"4fe7e58b_bcf8ab38","line":101,"range":{"start_line":101,"start_character":6,"end_line":101,"end_character":7},"updated":"2023-01-15 21:32:29.000000000","message":"Please use CamelCase","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"c6219b28877c985c6263123a8e2e0515285353c2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"from ansible_collections.openstack.cloud.plugins.module_utils.openstack import OpenStackModule"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"class volumeServiceInfoModule(OpenStackModule):"},{"line_number":102,"context_line":"    argument_spec \u003d dict("},{"line_number":103,"context_line":"        binary\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":104,"context_line":"        host\u003ddict(min_ver\u003d\u00270.53.0\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"b497232b_e1e46e6a","line":101,"range":{"start_line":101,"start_character":6,"end_line":101,"end_character":7},"in_reply_to":"4fe7e58b_bcf8ab38","updated":"2023-01-19 09:21:34.000000000","message":"Done","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"626322a8aa6a3cad5b89ee46e2a0665eda1ba50d","unresolved":true,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"class volumeServiceInfoModule(OpenStackModule):"},{"line_number":102,"context_line":"    argument_spec \u003d dict("},{"line_number":103,"context_line":"        binary\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":104,"context_line":"        host\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":105,"context_line":"    )"},{"line_number":106,"context_line":"    module_kwargs \u003d dict("}],"source_content_type":"text/x-python","patch_set":2,"id":"bc28e64d_9604f211","line":103,"range":{"start_line":103,"start_character":20,"end_line":103,"end_character":37},"updated":"2023-01-15 21:32:29.000000000","message":"we can drop it, since this master branch modules anyway will work with version \u003e 1.0.0","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"c6219b28877c985c6263123a8e2e0515285353c2","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"class volumeServiceInfoModule(OpenStackModule):"},{"line_number":102,"context_line":"    argument_spec \u003d dict("},{"line_number":103,"context_line":"        binary\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":104,"context_line":"        host\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":105,"context_line":"    )"},{"line_number":106,"context_line":"    module_kwargs \u003d dict("}],"source_content_type":"text/x-python","patch_set":2,"id":"151514aa_84329706","line":103,"range":{"start_line":103,"start_character":20,"end_line":103,"end_character":37},"in_reply_to":"b3b7a321_598b62eb","updated":"2023-01-19 09:21:34.000000000","message":"Done","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"847e80b8e526ee323e9d9900c9edaf28387f4032","unresolved":true,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"class volumeServiceInfoModule(OpenStackModule):"},{"line_number":102,"context_line":"    argument_spec \u003d dict("},{"line_number":103,"context_line":"        binary\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":104,"context_line":"        host\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":105,"context_line":"    )"},{"line_number":106,"context_line":"    module_kwargs \u003d dict("}],"source_content_type":"text/x-python","patch_set":2,"id":"b3b7a321_598b62eb","line":103,"range":{"start_line":103,"start_character":20,"end_line":103,"end_character":37},"in_reply_to":"bc28e64d_9604f211","updated":"2023-01-19 08:53:21.000000000","message":"Do you want me to completely drop the dict or do we keep it in case OpenstackSDK do nasty things again later on?","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"626322a8aa6a3cad5b89ee46e2a0665eda1ba50d","unresolved":true,"context_lines":[{"line_number":101,"context_line":"class volumeServiceInfoModule(OpenStackModule):"},{"line_number":102,"context_line":"    argument_spec \u003d dict("},{"line_number":103,"context_line":"        binary\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":104,"context_line":"        host\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":105,"context_line":"    )"},{"line_number":106,"context_line":"    module_kwargs \u003d dict("},{"line_number":107,"context_line":"        supports_check_mode\u003dTrue"}],"source_content_type":"text/x-python","patch_set":2,"id":"76685fc1_b93fee38","line":104,"range":{"start_line":104,"start_character":27,"end_line":104,"end_character":34},"updated":"2023-01-15 21:32:29.000000000","message":"ditto","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"c6219b28877c985c6263123a8e2e0515285353c2","unresolved":false,"context_lines":[{"line_number":101,"context_line":"class volumeServiceInfoModule(OpenStackModule):"},{"line_number":102,"context_line":"    argument_spec \u003d dict("},{"line_number":103,"context_line":"        binary\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":104,"context_line":"        host\u003ddict(min_ver\u003d\u00270.53.0\u0027),"},{"line_number":105,"context_line":"    )"},{"line_number":106,"context_line":"    module_kwargs \u003d dict("},{"line_number":107,"context_line":"        supports_check_mode\u003dTrue"}],"source_content_type":"text/x-python","patch_set":2,"id":"9d4afff8_d3e30bb9","line":104,"range":{"start_line":104,"start_character":27,"end_line":104,"end_character":34},"in_reply_to":"76685fc1_b93fee38","updated":"2023-01-19 09:21:34.000000000","message":"Done","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"626322a8aa6a3cad5b89ee46e2a0665eda1ba50d","unresolved":true,"context_lines":[{"line_number":108,"context_line":"    )"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def run(self):"},{"line_number":111,"context_line":"        filters \u003d self.check_versioned(binary\u003dself.params[\u0027binary\u0027], host\u003dself.params[\u0027host\u0027])"},{"line_number":112,"context_line":"        filters \u003d {k: v for k, v in filters.items() if v is not None}"},{"line_number":113,"context_line":"        services \u003d self.conn.volume.services(**filters)"},{"line_number":114,"context_line":"        services \u003d [service.to_dict(computed\u003dFalse) for service in services]"}],"source_content_type":"text/x-python","patch_set":2,"id":"cc5047e6_ee8e12e8","line":111,"range":{"start_line":111,"start_character":18,"end_line":111,"end_character":38},"updated":"2023-01-15 21:32:29.000000000","message":"ditto, can be removed","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"c6219b28877c985c6263123a8e2e0515285353c2","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    )"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def run(self):"},{"line_number":111,"context_line":"        filters \u003d self.check_versioned(binary\u003dself.params[\u0027binary\u0027], host\u003dself.params[\u0027host\u0027])"},{"line_number":112,"context_line":"        filters \u003d {k: v for k, v in filters.items() if v is not None}"},{"line_number":113,"context_line":"        services \u003d self.conn.volume.services(**filters)"},{"line_number":114,"context_line":"        services \u003d [service.to_dict(computed\u003dFalse) for service in services]"}],"source_content_type":"text/x-python","patch_set":2,"id":"689f9aaa_c8a45ae8","line":111,"range":{"start_line":111,"start_character":18,"end_line":111,"end_character":38},"in_reply_to":"cc5047e6_ee8e12e8","updated":"2023-01-19 09:21:34.000000000","message":"Done","commit_id":"abaf3c5df7e1961e92ea0c1d6542839e13b7f3d6"}]}
