)]}'
{".zuul.yaml":[{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"6bf6cd7c3eb7e5088e136f4e19c7b1b4347f2693","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    description: |"},{"line_number":61,"context_line":"      Run openstack collections functional tests against a master devstack"},{"line_number":62,"context_line":"      using master of openstacksdk with latest ansible release"},{"line_number":63,"context_line":"    vars:"},{"line_number":64,"context_line":"      # TODO: Remove tox_extra_args once all ci roles pass"},{"line_number":65,"context_line":"      tox_extra_args: \u0026skip_broken_ci_roles \u003e-"},{"line_number":66,"context_line":"        address_scope"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"edfd816d_7331117c","side":"PARENT","line":63,"updated":"2022-11-17 11:18:13.000000000","message":"🥳","commit_id":"961bdb5bd5afb81ff36ba5a21798d34e1d65732b"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"6bf6cd7c3eb7e5088e136f4e19c7b1b4347f2693","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"20b7a3d6_6ddc6007","updated":"2022-11-17 11:18:13.000000000","message":"Looks good, just a few questions from me.","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"6c607467763e726f1459c4bf4ceb4be3728961f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7c45a1e7_54d8cb71","updated":"2022-11-17 19:14:28.000000000","message":"recheck because of unrelated issue","commit_id":"18fc197db303fcd9201e407ea1d8230d3722c0b1"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"0dcc5bf355a0f6dc3f537b746155d96175642c11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"92a6035f_9c014c87","updated":"2022-11-18 08:24:16.000000000","message":"recheck because of yet another unrelated issue","commit_id":"18fc197db303fcd9201e407ea1d8230d3722c0b1"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"328f24cdb203afc331b9da2c5112251234da1262","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fb88918d_3c332dee","updated":"2022-11-18 12:58:00.000000000","message":"recheck oh wow we have a looot of unrelated ci failures recently :/","commit_id":"18fc197db303fcd9201e407ea1d8230d3722c0b1"}],"plugins/modules/neutron_rbac_policies_info.py":[{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"6bf6cd7c3eb7e5088e136f4e19c7b1b4347f2693","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"383d9938_0e29eebe","updated":"2022-11-17 11:18:13.000000000","message":"Do we want to keep the neutron_ prefix for these? Maybe we want other rbac modules in the future?","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"117a69183f5185b9ec4a13b8add7e73de8e7bd8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"aaba5750_540b9f0b","in_reply_to":"383d9938_0e29eebe","updated":"2022-11-17 11:34:02.000000000","message":"Since we decided to strive for consistency with openstackclient commands just recently, most of our modules are not yet in sync. So instead let us rename all modules in one single commit later. Else its getting really confusing 😄","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"6bf6cd7c3eb7e5088e136f4e19c7b1b4347f2693","unresolved":true,"context_lines":[{"line_number":49,"context_line":"      - Filters the RBAC rules based on the project name."},{"line_number":50,"context_line":"      - Logically AND\u0027ed with other filters."},{"line_number":51,"context_line":"    type: str"},{"line_number":52,"context_line":"  project_id:"},{"line_number":53,"context_line":"    description:"},{"line_number":54,"context_line":"      - The ID of the project to which C(object_id) belongs to."},{"line_number":55,"context_line":"      - Filters the RBAC rules based on the project id to which the"}],"source_content_type":"text/x-python","patch_set":1,"id":"e3e1a526_204786e7","line":52,"updated":"2022-11-17 11:18:13.000000000","message":"Can this be combined with the project field above or do they mean different things completely?","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"d9027763af28d5aa2a7cd2a4e49c5ea1028ae482","unresolved":false,"context_lines":[{"line_number":49,"context_line":"      - Filters the RBAC rules based on the project name."},{"line_number":50,"context_line":"      - Logically AND\u0027ed with other filters."},{"line_number":51,"context_line":"    type: str"},{"line_number":52,"context_line":"  project_id:"},{"line_number":53,"context_line":"    description:"},{"line_number":54,"context_line":"      - The ID of the project to which C(object_id) belongs to."},{"line_number":55,"context_line":"      - Filters the RBAC rules based on the project id to which the"}],"source_content_type":"text/x-python","patch_set":1,"id":"2407b50d_d43a32ae","line":52,"in_reply_to":"e3e1a526_204786e7","updated":"2022-11-17 14:04:47.000000000","message":"I think it can, so i did 😄","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"6bf6cd7c3eb7e5088e136f4e19c7b1b4347f2693","unresolved":true,"context_lines":[{"line_number":173,"context_line":"        for k in [\u0027project\u0027, \u0027object_id\u0027, \u0027target_project_id\u0027]:"},{"line_number":174,"context_line":"            if self.params[k] is not None:"},{"line_number":175,"context_line":"                policies \u003d \\"},{"line_number":176,"context_line":"                    self._filter(policies, k, self.params[k])"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        policies \u003d [p.to_dict(computed\u003dFalse) for p in policies]"},{"line_number":179,"context_line":"        self.exit_json(changed\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ff168bd_5a1364a8","line":176,"updated":"2022-11-17 11:18:13.000000000","message":"Why can\u0027t we use the cloud layer filters in this case?","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"117a69183f5185b9ec4a13b8add7e73de8e7bd8e","unresolved":true,"context_lines":[{"line_number":173,"context_line":"        for k in [\u0027project\u0027, \u0027object_id\u0027, \u0027target_project_id\u0027]:"},{"line_number":174,"context_line":"            if self.params[k] is not None:"},{"line_number":175,"context_line":"                policies \u003d \\"},{"line_number":176,"context_line":"                    self._filter(policies, k, self.params[k])"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        policies \u003d [p.to_dict(computed\u003dFalse) for p in policies]"},{"line_number":179,"context_line":"        self.exit_json(changed\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e9211a3a_d91ec3d7","line":176,"in_reply_to":"1ff168bd_5a1364a8","updated":"2022-11-17 11:34:02.000000000","message":"Which do you mean?","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"}],"plugins/modules/neutron_rbac_policy.py":[{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"6bf6cd7c3eb7e5088e136f4e19c7b1b4347f2693","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        policies \u003d self.conn.network.rbac_policies(**kwargs)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        return [p for p in policies"},{"line_number":254,"context_line":"                for k in [\u0027object_id\u0027, \u0027target_project_id\u0027]"},{"line_number":255,"context_line":"                if p[k] is None or p[k] \u003d\u003d self.params[k]]"},{"line_number":256,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"cd492762_7d0dcfd6","line":253,"updated":"2022-11-17 11:18:13.000000000","message":"This is neat :D","commit_id":"560c224e51b35284494d27e74b682b92f0a452a8"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"dfc6829add8fd398c96f1f5fb7dbca7a4dd4fa67","unresolved":true,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        policies \u003d self.conn.network.rbac_policies(**kwargs)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        return [p for p in policies"},{"line_number":267,"context_line":"                for k in [\u0027object_id\u0027, \u0027target_project_id\u0027]"},{"line_number":268,"context_line":"                if p[k] \u003d\u003d self.params[k]]"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff553a50_f00787a2","line":266,"updated":"2022-11-30 04:08:47.000000000","message":"This will return the same policy twice if both object_id and target_project_id match.\n\nI would suggest changing the if clause to use all() instead of the nested list comprehension.","commit_id":"95ab5d8a1a4e60e0954d837113cc6cf1b2a838ca"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"102d217d7a7a824aa2d26d3fa610d589a615a32b","unresolved":false,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        policies \u003d self.conn.network.rbac_policies(**kwargs)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        return [p for p in policies"},{"line_number":267,"context_line":"                for k in [\u0027object_id\u0027, \u0027target_project_id\u0027]"},{"line_number":268,"context_line":"                if p[k] \u003d\u003d self.params[k]]"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"08003c12_3c1cabdc","line":266,"in_reply_to":"ff553a50_f00787a2","updated":"2022-11-30 09:21:45.000000000","message":"Good catch! Fixed 😊","commit_id":"95ab5d8a1a4e60e0954d837113cc6cf1b2a838ca"}]}
