)]}'
{"openstackclient/compute/v2/hypervisor.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de455281090567e6a003cbc2823a4b1f75838a6d","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    def get_parser(self, prog_name):"},{"line_number":35,"context_line":"        parser \u003d super(ListHypervisor, self).get_parser(prog_name)"},{"line_number":36,"context_line":"        parser.add_argument("},{"line_number":37,"context_line":"            \u0027--matching\u0027,"},{"line_number":38,"context_line":"            metavar\u003d\u0027\u003chostname\u003e\u0027,"},{"line_number":39,"context_line":"            help\u003d_(\"Filter hypervisors using \u003chostname\u003e substring\")"},{"line_number":40,"context_line":"        )"},{"line_number":41,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":8,"id":"232120e0_f602fcbe","line":38,"range":{"start_line":37,"start_character":10,"end_line":38,"end_character":33},"updated":"2021-01-12 15:19:15.000000000","message":"nit technically unrelated but you are normalising to \u0027\u0027\nwhen adding the other options so i guess its fine\n\nthat said given the use of \"\" for the help string you proably should have changed those too or normallised to \"\"\n\n\n\u0027\u0027 vs \"\" really does not matter in this context","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a5862a70bb2b0db7559f56bc271e8f533250958","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def get_parser(self, prog_name):"},{"line_number":35,"context_line":"        parser \u003d super(ListHypervisor, self).get_parser(prog_name)"},{"line_number":36,"context_line":"        parser.add_argument("},{"line_number":37,"context_line":"            \u0027--matching\u0027,"},{"line_number":38,"context_line":"            metavar\u003d\u0027\u003chostname\u003e\u0027,"},{"line_number":39,"context_line":"            help\u003d_(\"Filter hypervisors using \u003chostname\u003e substring\")"},{"line_number":40,"context_line":"        )"},{"line_number":41,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":8,"id":"b412a9dd_0471768f","line":38,"range":{"start_line":37,"start_character":10,"end_line":38,"end_character":33},"in_reply_to":"232120e0_f602fcbe","updated":"2021-01-12 17:07:16.000000000","message":"I kept double quotes for the help string since I was using single quotes inside and didn\u0027t want to escape them","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"39a5cfca060fe3be7ea35ffddd59b50f1606f3e4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def get_parser(self, prog_name):"},{"line_number":35,"context_line":"        parser \u003d super(ListHypervisor, self).get_parser(prog_name)"},{"line_number":36,"context_line":"        parser.add_argument("},{"line_number":37,"context_line":"            \u0027--matching\u0027,"},{"line_number":38,"context_line":"            metavar\u003d\u0027\u003chostname\u003e\u0027,"},{"line_number":39,"context_line":"            help\u003d_(\"Filter hypervisors using \u003chostname\u003e substring\")"},{"line_number":40,"context_line":"        )"},{"line_number":41,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":8,"id":"593481a8_80f4f011","line":38,"range":{"start_line":37,"start_character":10,"end_line":38,"end_character":33},"in_reply_to":"b412a9dd_0471768f","updated":"2021-01-12 17:21:42.000000000","message":"ah right makes sense","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de455281090567e6a003cbc2823a4b1f75838a6d","unresolved":true,"context_lines":[{"line_number":52,"context_line":"            metavar\u003d\u0027\u003climit\u003e\u0027,"},{"line_number":53,"context_line":"            type\u003dint,"},{"line_number":54,"context_line":"            help\u003d_("},{"line_number":55,"context_line":"                \"Maximum number of migrations to display. Note that there \""},{"line_number":56,"context_line":"                \"is a configurable max limit on the server, and the limit \""},{"line_number":57,"context_line":"                \"that is used will be the minimum of what is requested \""},{"line_number":58,"context_line":"                \"here and what is configured in the server. \""}],"source_content_type":"text/x-python","patch_set":8,"id":"39aa442a_bfd3357e","line":55,"range":{"start_line":55,"start_character":35,"end_line":55,"end_character":45},"updated":"2021-01-12 15:19:15.000000000","message":"hypervisors\n\nalthough you could make this generic and say records or results.","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a5862a70bb2b0db7559f56bc271e8f533250958","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            metavar\u003d\u0027\u003climit\u003e\u0027,"},{"line_number":53,"context_line":"            type\u003dint,"},{"line_number":54,"context_line":"            help\u003d_("},{"line_number":55,"context_line":"                \"Maximum number of migrations to display. Note that there \""},{"line_number":56,"context_line":"                \"is a configurable max limit on the server, and the limit \""},{"line_number":57,"context_line":"                \"that is used will be the minimum of what is requested \""},{"line_number":58,"context_line":"                \"here and what is configured in the server. \""}],"source_content_type":"text/x-python","patch_set":8,"id":"1334a495_121bfc12","line":55,"range":{"start_line":55,"start_character":35,"end_line":55,"end_character":45},"in_reply_to":"39aa442a_bfd3357e","updated":"2021-01-12 17:07:16.000000000","message":"Good catch. Done","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de455281090567e6a003cbc2823a4b1f75838a6d","unresolved":true,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        if parsed_args.matching and (parsed_args.marker or parsed_args.limit):"},{"line_number":75,"context_line":"            msg \u003d _("},{"line_number":76,"context_line":"                \u0027--matching is not compatible with --marker or --limit\u0027"},{"line_number":77,"context_line":"            )"},{"line_number":78,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"220a03d9_f53b65e6","line":76,"range":{"start_line":76,"start_character":17,"end_line":76,"end_character":27},"updated":"2021-01-12 15:19:15.000000000","message":"am are you sure.\n\nthe api allows a hypervisor_hostname_pattern  which i belive the value of matching is passed too\n\nso it a pattern/regex not a specific host name so there may be many and you might what to paginate them.\nhttps://docs.openstack.org/api-ref/compute/?expanded\u003dlist-hypervisors-detail","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a5862a70bb2b0db7559f56bc271e8f533250958","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        if parsed_args.matching and (parsed_args.marker or parsed_args.limit):"},{"line_number":75,"context_line":"            msg \u003d _("},{"line_number":76,"context_line":"                \u0027--matching is not compatible with --marker or --limit\u0027"},{"line_number":77,"context_line":"            )"},{"line_number":78,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"792de026_5d69b87d","line":76,"range":{"start_line":76,"start_character":17,"end_line":76,"end_character":27},"in_reply_to":"220a03d9_f53b65e6","updated":"2021-01-12 17:07:16.000000000","message":"Yes. Starting with microversion 2.53, we can use the \u0027hypervisor_hostname_pattern\u0027 querystring parameter to either \u0027/os-hypervisors\u0027 or \u0027/os-hypervisors/detail\u0027. That explicitly errors out if these are specified [1]. Prior to microversion 2.53, we had to us a separate  \u0027/os-hypervisors/search/{hypervisor_hostname_pattern}\u0027 endpoint. That ignores the pagination information entirely [1]. As such, this is a fair thing to state.\n\nNote that the \u0027search\u0027 library API from novaclient we\u0027re using below automatically switches between these endpoints [3] based on the microversion so we don\u0027t need to do this ourselves.\n\n[1] https://github.com/openstack/nova/blob/e6f5e8140/nova/api/openstack/compute/hypervisors.py#L166-L174\n[2] https://github.com/openstack/nova/blob/e6f5e8140/nova/api/openstack/compute/hypervisors.py#L430-L466\n[3] https://github.com/openstack/python-novaclient/blob/e85d845b1aa/novaclient/v2/hypervisors.py#L79-L107","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"39a5cfca060fe3be7ea35ffddd59b50f1606f3e4","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        if parsed_args.matching and (parsed_args.marker or parsed_args.limit):"},{"line_number":75,"context_line":"            msg \u003d _("},{"line_number":76,"context_line":"                \u0027--matching is not compatible with --marker or --limit\u0027"},{"line_number":77,"context_line":"            )"},{"line_number":78,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"f80b7022_1dcdf8f3","line":76,"range":{"start_line":76,"start_character":17,"end_line":76,"end_character":27},"in_reply_to":"792de026_5d69b87d","updated":"2021-01-12 17:21:42.000000000","message":"ok as a todo we might want to add an option to use the regex form  that does not use the search endpoint\nasuming that support pagination? e.g. to eventually allow both but i think this makes snes for now to block and we can expose the ablity to use both in a different  patch","commit_id":"c66016201fe06f1087edbe2f3ebb43678b2ae69d"}]}
