)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"74ee2407902131df1070a5de6248561ed20f372c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8df81691_e73c57a0","updated":"2022-05-04 13:01:16.000000000","message":"Nice one! Looks like this module behaves differently than other modules, see comment below. Not sure yet what to do about it :/","commit_id":"3a88e34e4d1374fb09fabd6d2aa8111a876452e6"}],"plugins/modules/identity_domain_info.py":[{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"74ee2407902131df1070a5de6248561ed20f372c","unresolved":true,"context_lines":[{"line_number":107,"context_line":"        name \u003d self.params[\u0027name\u0027]"},{"line_number":108,"context_line":"        filters \u003d self.params[\u0027filters\u0027] or {}"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        domains \u003d []"},{"line_number":111,"context_line":"        if name:"},{"line_number":112,"context_line":"            domain \u003d self.conn.identity.find_domain(name)"},{"line_number":113,"context_line":"            if domain:"}],"source_content_type":"text/x-python","patch_set":4,"id":"19053356_eb4b964b","line":110,"updated":"2022-05-04 13:01:16.000000000","message":"Your code exactly behaves as the previous code.\n\nUnfortunately, the previous code duplicates code from the sdk and behaves differently than what is documented. For example, it looks like the filters doc \"A dictionary of meta data to use for further filtering\" was copied from another module because it is not correct. In Yoga\u0027s SDK the filters dict is used to construct query args when listing domains (and no name was given) and not to filter results after they have been received (which other search_* functions do).\n\nhttps://opendev.org/openstack/openstacksdk/src/branch/stable/yoga/openstack/cloud/_identity.py#L890\n\nThe issue is now that \u0027filters\u0027 has different semantics than in other modules. Which sucks. We could rename \u0027filters\u0027 to \u0027query\u0027/\u0027args\u0027/\u0027query_args\u0027 or something to highlight the difference to other modules. Or we could change our behavior here to match that of other modules. Not sure what is best. Any ideas?","commit_id":"3a88e34e4d1374fb09fabd6d2aa8111a876452e6"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"8c1987dedf5bdb10526b437596c22eebb39372be","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        name \u003d self.params[\u0027name\u0027]"},{"line_number":108,"context_line":"        filters \u003d self.params[\u0027filters\u0027] or {}"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        domains \u003d []"},{"line_number":111,"context_line":"        if name:"},{"line_number":112,"context_line":"            domain \u003d self.conn.identity.find_domain(name)"},{"line_number":113,"context_line":"            if domain:"}],"source_content_type":"text/x-python","patch_set":4,"id":"58c2bee6_3c075758","line":110,"in_reply_to":"19053356_eb4b964b","updated":"2022-05-09 08:28:50.000000000","message":"The \"solution\" was to pass parameter name as \u0027name_or_id\u0027 to search_domains(). Then we can drop the whole if clause. This is possible because the new sdk does replicate the same logic inside and returns proxy objects.","commit_id":"3a88e34e4d1374fb09fabd6d2aa8111a876452e6"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"74ee2407902131df1070a5de6248561ed20f372c","unresolved":true,"context_lines":[{"line_number":115,"context_line":"        else:"},{"line_number":116,"context_line":"            domains \u003d list(self.conn.identity.domains(**filters))"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.exit_json(changed\u003dFalse, openstack_domains\u003ddomains)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":4,"id":"ed9545ab_03a7518e","line":118,"updated":"2022-05-04 13:01:16.000000000","message":"Please convert to dict before returning domains.","commit_id":"3a88e34e4d1374fb09fabd6d2aa8111a876452e6"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"8c1987dedf5bdb10526b437596c22eebb39372be","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        else:"},{"line_number":116,"context_line":"            domains \u003d list(self.conn.identity.domains(**filters))"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.exit_json(changed\u003dFalse, openstack_domains\u003ddomains)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":4,"id":"f3516c06_ea4a90d3","line":118,"in_reply_to":"ed9545ab_03a7518e","updated":"2022-05-09 08:28:50.000000000","message":"Done","commit_id":"3a88e34e4d1374fb09fabd6d2aa8111a876452e6"},{"author":{"_account_id":32458,"name":"Ananya","display_name":"Ananya Banerjee","email":"anbanerj@redhat.com","username":"frenzyfriday"},"change_message_id":"40d08ffd2eaf6c558a04e81745a785dc50169c65","unresolved":true,"context_lines":[{"line_number":111,"context_line":"        args[\u0027filters\u0027] \u003d filters"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        domains \u003d [d.to_dict(computed\u003dFalse) for d in self.conn.search_domains(**args)]"},{"line_number":114,"context_line":"        self.exit_json(changed\u003dFalse, openstack_domains\u003ddomains)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":8,"id":"6ee5d1c4_98a92b22","line":114,"range":{"start_line":114,"start_character":38,"end_line":114,"end_character":55},"updated":"2022-05-09 08:35:37.000000000","message":"Should we change this to domains? Or it can be done in a later patch also.","commit_id":"b31fdf8320af1a39ecee9277f90213a26b81a5b1"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"c6375a6bc497f8c61122e91916337cf1715b2ae5","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        args[\u0027filters\u0027] \u003d filters"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        domains \u003d [d.to_dict(computed\u003dFalse) for d in self.conn.search_domains(**args)]"},{"line_number":114,"context_line":"        self.exit_json(changed\u003dFalse, openstack_domains\u003ddomains)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":8,"id":"9265423f_198b1cf8","line":114,"range":{"start_line":114,"start_character":38,"end_line":114,"end_character":55},"in_reply_to":"6ee5d1c4_98a92b22","updated":"2022-05-09 09:17:38.000000000","message":"We can change that later in a separate patch which drops openstack_ prefixes from all modules.","commit_id":"b31fdf8320af1a39ecee9277f90213a26b81a5b1"}]}
