)]}'
{"openstack/compute/v2/_proxy.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"acdf6f9d9497f1eb27f24e85f7c54b9e108b9a09","unresolved":false,"context_lines":[{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Hypervisors \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":"    def hypervisors(self, details\u003dFalse, **query):"},{"line_number":1357,"context_line":"        \"\"\"Return a generator of hypervisor"},{"line_number":1358,"context_line":""},{"line_number":1359,"context_line":"        :param bool details: When set to the default, ``False``,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fffc6b78_7d50d233","line":1356,"updated":"2020-11-20 11:49:35.000000000","message":"maybe add hypervisor_hostname_pattern as an explicit argument?","commit_id":"51e03f7b5079daa983ca9b78456a0dbf4dcb8e76"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"33a4e4d9d20cd57def41d0ac57548698fe268666","unresolved":false,"context_lines":[{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Hypervisors \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":"    def hypervisors(self, details\u003dFalse, **query):"},{"line_number":1357,"context_line":"        \"\"\"Return a generator of hypervisor"},{"line_number":1358,"context_line":""},{"line_number":1359,"context_line":"        :param bool details: When set to the default, ``False``,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fffc6b78_a0c68d15","line":1356,"in_reply_to":"fffc6b78_7d50d233","updated":"2020-11-20 13:02:09.000000000","message":"we do this pretty seldom. If I do new PS here will take it in (currently depending code in OSC looks very ugly, so we might take some more stuff in here)","commit_id":"51e03f7b5079daa983ca9b78456a0dbf4dcb8e76"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"acdf6f9d9497f1eb27f24e85f7c54b9e108b9a09","unresolved":false,"context_lines":[{"line_number":1370,"context_line":"            and not utils.supports_microversion(self, \u00272.53\u0027)"},{"line_number":1371,"context_line":"        ):"},{"line_number":1372,"context_line":"            # Until 2.53 we need to use other API"},{"line_number":1373,"context_line":"            base_path \u003d \u0027/os-hypervisors/{pattern}/search\u0027.format("},{"line_number":1374,"context_line":"                pattern\u003dquery.pop(\u0027hypervisor_hostname_pattern\u0027))"},{"line_number":1375,"context_line":"        return self._list(_hypervisor.Hypervisor, base_path\u003dbase_path, **query)"},{"line_number":1376,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fffc6b78_dd457e72","line":1373,"updated":"2020-11-20 11:49:35.000000000","message":"I guess it does not depend on details?","commit_id":"51e03f7b5079daa983ca9b78456a0dbf4dcb8e76"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"33a4e4d9d20cd57def41d0ac57548698fe268666","unresolved":false,"context_lines":[{"line_number":1370,"context_line":"            and not utils.supports_microversion(self, \u00272.53\u0027)"},{"line_number":1371,"context_line":"        ):"},{"line_number":1372,"context_line":"            # Until 2.53 we need to use other API"},{"line_number":1373,"context_line":"            base_path \u003d \u0027/os-hypervisors/{pattern}/search\u0027.format("},{"line_number":1374,"context_line":"                pattern\u003dquery.pop(\u0027hypervisor_hostname_pattern\u0027))"},{"line_number":1375,"context_line":"        return self._list(_hypervisor.Hypervisor, base_path\u003dbase_path, **query)"},{"line_number":1376,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fffc6b78_0052f967","line":1373,"in_reply_to":"fffc6b78_dd457e72","updated":"2020-11-20 13:02:09.000000000","message":"nope, it\u0027s not","commit_id":"51e03f7b5079daa983ca9b78456a0dbf4dcb8e76"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":1416,"context_line":"            when no resource can be found."},{"line_number":1417,"context_line":"        \"\"\""},{"line_number":1418,"context_line":"        hypervisor \u003d self._get_resource(_hypervisor.Hypervisor, hypervisor)"},{"line_number":1419,"context_line":"        return hypervisor.get_uptime(self)"},{"line_number":1420,"context_line":""},{"line_number":1421,"context_line":"    def get_hypervisor_statistics(self):"},{"line_number":1422,"context_line":"        \"\"\"Shows summary statistics for all enabled hypervisors over all compute nodes."}],"source_content_type":"text/x-python","patch_set":6,"id":"efc5690c_559f695b","line":1419,"updated":"2021-01-11 11:43:56.000000000","message":"Note that this is changing in the forthcoming 2.88 microversion, and the \u0027/os-hypervisors/{hypervisor}/uptime\u0027 API will be disappearing in favor of including an \u0027uptime\u0027 field in \u0027/os-hypervisors/{hypervisor}\u0027.\n\n[1] https://review.opendev.org/c/openstack/nova/+/764040","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":1427,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound`"},{"line_number":1428,"context_line":"                 when no resource can be found."},{"line_number":1429,"context_line":"        \"\"\""},{"line_number":1430,"context_line":"        return self._get(_hypervisor.HypervisorStatistics, requires_id\u003dFalse)"},{"line_number":1431,"context_line":""},{"line_number":1432,"context_line":"    def force_service_down(self, service, host, binary):"},{"line_number":1433,"context_line":"        \"\"\"Force a service down"}],"source_content_type":"text/x-python","patch_set":6,"id":"dceb3ecb_0256faef","line":1430,"updated":"2021-01-11 11:43:56.000000000","message":"This API is being deleted in the 2.88 microversion\n\n[1] https://review.opendev.org/c/openstack/nova/+/764040","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b954dbf6d3e15bb29e96f44d3cb8d874e6c0599d","unresolved":true,"context_lines":[{"line_number":1380,"context_line":"            \u0027hypervisor_hostname_pattern\u0027 in query"},{"line_number":1381,"context_line":"            and not utils.supports_microversion(self, \u00272.53\u0027)"},{"line_number":1382,"context_line":"        ):"},{"line_number":1383,"context_line":"            # Until 2.53 we need to use other API"},{"line_number":1384,"context_line":"            base_path \u003d \u0027/os-hypervisors/{pattern}/search\u0027.format("},{"line_number":1385,"context_line":"                pattern\u003dquery.pop(\u0027hypervisor_hostname_pattern\u0027))"},{"line_number":1386,"context_line":"        return self._list(_hypervisor.Hypervisor, base_path\u003dbase_path, **query)"}],"source_content_type":"text/x-python","patch_set":11,"id":"68cbb6ed_5f301d02","line":1383,"range":{"start_line":1383,"start_character":40,"end_line":1383,"end_character":45},"updated":"2021-01-27 10:31:04.000000000","message":"another","commit_id":"30116cf3c2f6eeabc662f3579b4f4e8fca9d150e"}],"openstack/compute/v2/hypervisor.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    # Properties"},{"line_number":34,"context_line":"    #: Information about the hypervisor\u0027s CPU. Up to 2.28 it was string."},{"line_number":35,"context_line":"    cpu_info \u003d resource.Body(\u0027cpu_info\u0027)"},{"line_number":36,"context_line":"    #: Measurement of the hypervisor\u0027s current workload"},{"line_number":37,"context_line":"    current_workload \u003d resource.Body(\u0027current_workload\u0027, type\u003dint)"},{"line_number":38,"context_line":"    #: Disk space available to the scheduler"},{"line_number":39,"context_line":"    disk_available \u003d resource.Body(\"disk_available_least\", type\u003dint)"},{"line_number":40,"context_line":"    #: IP address of the host"},{"line_number":41,"context_line":"    host_ip \u003d resource.Body(\u0027host_ip\u0027)"},{"line_number":42,"context_line":"    #: The type of hypervisor"}],"source_content_type":"text/x-python","patch_set":6,"id":"a052ffc5_950c9bc1","line":39,"range":{"start_line":36,"start_character":0,"end_line":39,"end_character":68},"updated":"2021-01-11 11:43:56.000000000","message":"These fields are being removed in API microversion 2.88\n\n[1] https://review.opendev.org/c/openstack/nova/+/764040","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":43,"context_line":"    hypervisor_type \u003d resource.Body(\u0027hypervisor_type\u0027)"},{"line_number":44,"context_line":"    #: Version of the hypervisor"},{"line_number":45,"context_line":"    hypervisor_version \u003d resource.Body(\u0027hypervisor_version\u0027)"},{"line_number":46,"context_line":"    #: The amount, in gigabytes, of free space on the local storage device"},{"line_number":47,"context_line":"    local_disk_free \u003d resource.Body(\u0027free_disk_gb\u0027, type\u003dint)"},{"line_number":48,"context_line":"    #: The amount, in gigabytes, of the local storage device"},{"line_number":49,"context_line":"    local_disk_size \u003d resource.Body(\u0027local_gb\u0027, type\u003dint)"},{"line_number":50,"context_line":"    #: The amount, in gigabytes, of local storage used"},{"line_number":51,"context_line":"    local_disk_used \u003d resource.Body(\u0027local_gb_used\u0027, type\u003dint)"},{"line_number":52,"context_line":"    #: The amount, in megabytes, of available memory"},{"line_number":53,"context_line":"    memory_free \u003d resource.Body(\u0027free_ram_mb\u0027, type\u003dint)"},{"line_number":54,"context_line":"    #: The amount, in megabytes, of total memory"},{"line_number":55,"context_line":"    memory_size \u003d resource.Body(\u0027memory_mb\u0027, type\u003dint)"},{"line_number":56,"context_line":"    #: The amount, in megabytes, of memory"},{"line_number":57,"context_line":"    memory_used \u003d resource.Body(\u0027memory_mb_used\u0027, type\u003dint)"},{"line_number":58,"context_line":"    #: Name of hypervisor"},{"line_number":59,"context_line":"    name \u003d resource.Body(\u0027hypervisor_hostname\u0027)"},{"line_number":60,"context_line":"    #: Count of the running virtual machines"},{"line_number":61,"context_line":"    running_vms \u003d resource.Body(\u0027running_vms\u0027, type\u003dint)"}],"source_content_type":"text/x-python","patch_set":6,"id":"e7bb007b_ab8e3ff4","line":58,"range":{"start_line":46,"start_character":4,"end_line":58,"end_character":25},"updated":"2021-01-11 11:43:56.000000000","message":"...and these","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":58,"context_line":"    #: Name of hypervisor"},{"line_number":59,"context_line":"    name \u003d resource.Body(\u0027hypervisor_hostname\u0027)"},{"line_number":60,"context_line":"    #: Count of the running virtual machines"},{"line_number":61,"context_line":"    running_vms \u003d resource.Body(\u0027running_vms\u0027, type\u003dint)"},{"line_number":62,"context_line":"    #: Service details"},{"line_number":63,"context_line":"    service_details \u003d resource.Body(\u0027service\u0027, type\u003ddict)"},{"line_number":64,"context_line":"    #: List of Servers"},{"line_number":65,"context_line":"    servers \u003d resource.Body(\u0027servers\u0027, type\u003dlist, list_type\u003ddict)"}],"source_content_type":"text/x-python","patch_set":6,"id":"4c1357d9_4a8517a5","line":62,"range":{"start_line":61,"start_character":0,"end_line":62,"end_character":22},"updated":"2021-01-11 11:43:56.000000000","message":"...and this","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":68,"context_line":"    #: Status of hypervisor"},{"line_number":69,"context_line":"    status \u003d resource.Body(\u0027status\u0027)"},{"line_number":70,"context_line":"    #: The total uptime of the hypervisor and information about average load."},{"line_number":71,"context_line":"    #: This attribute is set only when querying uptime explicitly."},{"line_number":72,"context_line":"    uptime \u003d resource.Body(\u0027uptime\u0027)"},{"line_number":73,"context_line":"    #: Count of all VCPUs"},{"line_number":74,"context_line":"    vcpus \u003d resource.Body(\u0027vcpus\u0027, type\u003dint)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7568e8fa_089a4ea1","line":71,"updated":"2021-01-11 11:43:56.000000000","message":"Until 2.88","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":70,"context_line":"    #: The total uptime of the hypervisor and information about average load."},{"line_number":71,"context_line":"    #: This attribute is set only when querying uptime explicitly."},{"line_number":72,"context_line":"    uptime \u003d resource.Body(\u0027uptime\u0027)"},{"line_number":73,"context_line":"    #: Count of all VCPUs"},{"line_number":74,"context_line":"    vcpus \u003d resource.Body(\u0027vcpus\u0027, type\u003dint)"},{"line_number":75,"context_line":"    #: Count of the VCPUs in use"},{"line_number":76,"context_line":"    vcpus_used \u003d resource.Body(\u0027vcpus_used\u0027, type\u003dint)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def get_uptime(self, session):"},{"line_number":79,"context_line":"        \"\"\"Get uptime information for the hypervisor"}],"source_content_type":"text/x-python","patch_set":6,"id":"add96183_f5f1fbd6","line":76,"range":{"start_line":73,"start_character":0,"end_line":76,"end_character":54},"updated":"2021-01-11 11:43:56.000000000","message":"...and these","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6119f0b0b7f5e87a497782d09ee12481bc35fe2","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    # capabilities"},{"line_number":99,"context_line":"    allow_fetch \u003d True"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    _max_microversion \u003d \u00272.53\u0027"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    # Properties"},{"line_number":104,"context_line":"    #: The number of hypervisors."}],"source_content_type":"text/x-python","patch_set":6,"id":"7147d12a_de5feb96","line":101,"updated":"2021-01-11 11:43:56.000000000","message":"I guess 2.53 is equivalent to 2.87. This won\u0027t exist starting in 2.88","commit_id":"17489a4e28b1e26047ebd5ef3ebd960ae79fd716"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ccebfedb5913ece4d4709844ba0af996bcefa9e","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        Updates uptime attribute of the hypervisor object"},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        warnings.warn("},{"line_number":65,"context_line":"            \"This call is deprecated and is only avaiable until Nova 2.88\")"},{"line_number":66,"context_line":"        if utils.supports_microversion(self, \u00272.88\u0027):"},{"line_number":67,"context_line":"            raise exceptions.SDKException("},{"line_number":68,"context_line":"                \u0027Hypervisor.get_update is not supported anymore\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"b685e9d0_3ea99a60","line":65,"range":{"start_line":65,"start_character":49,"end_line":65,"end_character":57},"updated":"2021-01-13 11:45:10.000000000","message":"available","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"d7d477689abbea8c233e624dd695f29738591ace","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        Updates uptime attribute of the hypervisor object"},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        warnings.warn("},{"line_number":65,"context_line":"            \"This call is deprecated and is only avaiable until Nova 2.88\")"},{"line_number":66,"context_line":"        if utils.supports_microversion(self, \u00272.88\u0027):"},{"line_number":67,"context_line":"            raise exceptions.SDKException("},{"line_number":68,"context_line":"                \u0027Hypervisor.get_update is not supported anymore\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"eab9e201_6424129f","line":65,"range":{"start_line":65,"start_character":49,"end_line":65,"end_character":57},"in_reply_to":"b685e9d0_3ea99a60","updated":"2021-01-13 11:53:26.000000000","message":"Done","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ccebfedb5913ece4d4709844ba0af996bcefa9e","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        warnings.warn("},{"line_number":65,"context_line":"            \"This call is deprecated and is only avaiable until Nova 2.88\")"},{"line_number":66,"context_line":"        if utils.supports_microversion(self, \u00272.88\u0027):"},{"line_number":67,"context_line":"            raise exceptions.SDKException("},{"line_number":68,"context_line":"                \u0027Hypervisor.get_update is not supported anymore\u0027)"},{"line_number":69,"context_line":"        url \u003d utils.urljoin(self.base_path, self.id, \u0027uptime\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"d04fffca_e952a56e","line":66,"range":{"start_line":66,"start_character":17,"end_line":66,"end_character":38},"updated":"2021-01-13 11:45:10.000000000","message":"Is this the correct API? This reads like it\u0027s checking if 2.88 is supported by the server, not what version the client has requested (i.e. the server could support 2.88 but the client could request 2.1, in which case this should work?","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"d7d477689abbea8c233e624dd695f29738591ace","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        warnings.warn("},{"line_number":65,"context_line":"            \"This call is deprecated and is only avaiable until Nova 2.88\")"},{"line_number":66,"context_line":"        if utils.supports_microversion(self, \u00272.88\u0027):"},{"line_number":67,"context_line":"            raise exceptions.SDKException("},{"line_number":68,"context_line":"                \u0027Hypervisor.get_update is not supported anymore\u0027)"},{"line_number":69,"context_line":"        url \u003d utils.urljoin(self.base_path, self.id, \u0027uptime\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"07a40214_05239333","line":66,"range":{"start_line":66,"start_character":17,"end_line":66,"end_character":38},"in_reply_to":"d04fffca_e952a56e","updated":"2021-01-13 11:53:26.000000000","message":"in https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/utils.py#L123 we verify, that 2.88 is supported by both server and client (this is how supports_microversion is working now - verify MV is possible by both server and client).\nI agree this is not the best type of usage for this function.","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ccebfedb5913ece4d4709844ba0af996bcefa9e","unresolved":true,"context_lines":[{"line_number":65,"context_line":"            \"This call is deprecated and is only avaiable until Nova 2.88\")"},{"line_number":66,"context_line":"        if utils.supports_microversion(self, \u00272.88\u0027):"},{"line_number":67,"context_line":"            raise exceptions.SDKException("},{"line_number":68,"context_line":"                \u0027Hypervisor.get_update is not supported anymore\u0027)"},{"line_number":69,"context_line":"        url \u003d utils.urljoin(self.base_path, self.id, \u0027uptime\u0027)"},{"line_number":70,"context_line":"        microversion \u003d self._get_microversion_for(session, \u0027fetch\u0027)"},{"line_number":71,"context_line":"        response \u003d session.get("}],"source_content_type":"text/x-python","patch_set":7,"id":"d845d487_6f7c1326","line":68,"range":{"start_line":68,"start_character":32,"end_line":68,"end_character":38},"updated":"2021-01-13 11:45:10.000000000","message":"uptime","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"d7d477689abbea8c233e624dd695f29738591ace","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            \"This call is deprecated and is only avaiable until Nova 2.88\")"},{"line_number":66,"context_line":"        if utils.supports_microversion(self, \u00272.88\u0027):"},{"line_number":67,"context_line":"            raise exceptions.SDKException("},{"line_number":68,"context_line":"                \u0027Hypervisor.get_update is not supported anymore\u0027)"},{"line_number":69,"context_line":"        url \u003d utils.urljoin(self.base_path, self.id, \u0027uptime\u0027)"},{"line_number":70,"context_line":"        microversion \u003d self._get_microversion_for(session, \u0027fetch\u0027)"},{"line_number":71,"context_line":"        response \u003d session.get("}],"source_content_type":"text/x-python","patch_set":7,"id":"cc94439e_f5740755","line":68,"range":{"start_line":68,"start_character":32,"end_line":68,"end_character":38},"in_reply_to":"d845d487_6f7c1326","updated":"2021-01-13 11:53:26.000000000","message":"Done","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"}],"openstack/tests/functional/compute/v2/test_hypervisor.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ccebfedb5913ece4d4709844ba0af996bcefa9e","unresolved":true,"context_lines":[{"line_number":31,"context_line":"            self.conn.compute.find_hypervisor(hypervisor.id)"},{"line_number":32,"context_line":"            self.conn.compute.get_hypervisor_uptime(hypervisor.id)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_get_hypervisor_statiscits(self):"},{"line_number":35,"context_line":"        res \u003d self.conn.compute.get_hypervisor_statistics()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.assertIsNotNone(res)"}],"source_content_type":"text/x-python","patch_set":7,"id":"de10dd9c_af7fdde1","line":34,"range":{"start_line":34,"start_character":28,"end_line":34,"end_character":38},"updated":"2021-01-13 11:45:10.000000000","message":"statistics","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"d7d477689abbea8c233e624dd695f29738591ace","unresolved":true,"context_lines":[{"line_number":31,"context_line":"            self.conn.compute.find_hypervisor(hypervisor.id)"},{"line_number":32,"context_line":"            self.conn.compute.get_hypervisor_uptime(hypervisor.id)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_get_hypervisor_statiscits(self):"},{"line_number":35,"context_line":"        res \u003d self.conn.compute.get_hypervisor_statistics()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.assertIsNotNone(res)"}],"source_content_type":"text/x-python","patch_set":7,"id":"44124cea_bf72baab","line":34,"range":{"start_line":34,"start_character":28,"end_line":34,"end_character":38},"in_reply_to":"de10dd9c_af7fdde1","updated":"2021-01-13 11:53:26.000000000","message":"Completely missed func test. Dropped it since we drop stats at all","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b954dbf6d3e15bb29e96f44d3cb8d874e6c0599d","unresolved":true,"context_lines":[{"line_number":16,"context_line":"class TestHypervisor(base.BaseFunctionalTest):"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    def setUp(self):"},{"line_number":19,"context_line":"        super(TestHypervisor, self).setUp()"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def test_list_hypervisors(self):"},{"line_number":22,"context_line":"        rslt \u003d list(self.conn.compute.hypervisors())"}],"source_content_type":"text/x-python","patch_set":11,"id":"5949f56c_d93c4c43","line":19,"updated":"2021-01-27 10:31:04.000000000","message":"This isn\u0027t necessary, since you\u0027re just calling the superclass\u0027 implementation","commit_id":"30116cf3c2f6eeabc662f3579b4f4e8fca9d150e"}],"openstack/tests/unit/compute/v2/test_hypervisor.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b954dbf6d3e15bb29e96f44d3cb8d874e6c0599d","unresolved":true,"context_lines":[{"line_number":9,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":"import copy"},{"line_number":13,"context_line":"from unittest import mock"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from keystoneauth1 import adapter"}],"source_content_type":"text/x-python","patch_set":11,"id":"141aeeef_c335d785","line":12,"updated":"2021-01-27 10:31:04.000000000","message":"nit: newline above this would be nice","commit_id":"30116cf3c2f6eeabc662f3579b4f4e8fca9d150e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b954dbf6d3e15bb29e96f44d3cb8d874e6c0599d","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from openstack import exceptions"},{"line_number":18,"context_line":"from openstack.tests.unit import base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from openstack.compute.v2 import hypervisor"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"EXAMPLE \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"0d9b5423_f7ba67ba","line":19,"updated":"2021-01-27 10:31:04.000000000","message":"nit: this newline shouldn\u0027t be here (but that wasn\u0027t you, I realize)","commit_id":"30116cf3c2f6eeabc662f3579b4f4e8fca9d150e"}],"releasenotes/notes/rework-compute-hypervisor-a62f275a0fd1f074.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ccebfedb5913ece4d4709844ba0af996bcefa9e","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Compute Hypervisor resource and functions are reworked to comply 2.88 microversion with dropping of misleading attributes."},{"line_number":5,"context_line":"deprecations:"},{"line_number":6,"context_line":"  - |"},{"line_number":7,"context_line":"    Compute.v2.HypervisorStatistics resource and proxy method for fetching it is dropped due to removal from Nova in 2.88."},{"line_number":8,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"deaa74ce_d9aa5e72","line":5,"updated":"2021-01-13 11:45:10.000000000","message":"nit: wrap at \u003c 80 chars?","commit_id":"794d9b2d7488b859489d6d07d320ed7cb1938c81"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1a7aaa04631f5f5904d76415981c7987f9e5da5f","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Compute Hypervisor resource and functions are reworked to comply 2.88"},{"line_number":5,"context_line":"    microversion with dropping of misleading attributes."},{"line_number":6,"context_line":"deprecations:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Compute.v2.HypervisorStatistics resource and proxy method for fetching it"},{"line_number":9,"context_line":"    is dropped due to removal from Nova in 2.88."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"8b3d999b_94444f93","line":6,"updated":"2021-01-18 16:16:24.000000000","message":"Removals are not deprecations and have to go to \"upgrade\" section.","commit_id":"a9bc297dcf19c12ecd06a29505c1b8ca121ce782"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1a7aaa04631f5f5904d76415981c7987f9e5da5f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    is dropped due to removal from Nova in 2.88."},{"line_number":10,"context_line":"  - |"},{"line_number":11,"context_line":"    Multiple attributes are dropped from Compute.v2.Hypervisor due to their"},{"line_number":12,"context_line":"    removal from Nova v2.88."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"a196e30e_dacc8e25","line":12,"updated":"2021-01-18 16:16:24.000000000","message":"What about earlier microversions? People using SDK against stable branches?","commit_id":"a9bc297dcf19c12ecd06a29505c1b8ca121ce782"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"5150ad22569c33e49f37848ad46e87bd3520b576","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    is dropped due to removal from Nova in 2.88."},{"line_number":10,"context_line":"  - |"},{"line_number":11,"context_line":"    Multiple attributes are dropped from Compute.v2.Hypervisor due to their"},{"line_number":12,"context_line":"    removal from Nova v2.88."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"214454d3_7f2225b8","line":12,"in_reply_to":"a196e30e_dacc8e25","updated":"2021-01-18 16:23:01.000000000","message":"Well, that is exactly the question. Nova says - do not use it, since it is not really useful and/or correct, and was never proper. So assuming there are only very few using SDK for working with hypervisors (pretty much admin oriented) I thought it make sense to drop them completely.\nIf other cores say - no, I am ok with that and will turn those back. Otherwise those attrs go away (with no backport to any previous stable branches), and those fall out of OSC away as well.","commit_id":"a9bc297dcf19c12ecd06a29505c1b8ca121ce782"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b954dbf6d3e15bb29e96f44d3cb8d874e6c0599d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Compute Hypervisor resource and functions are reworked to comply 2.88"},{"line_number":5,"context_line":"    microversion with deprecating misleading attributes."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"8aea3dd2_5960fecb","line":4,"range":{"start_line":4,"start_character":69,"end_line":4,"end_character":73},"updated":"2021-01-27 10:31:04.000000000","message":"with the 2.88","commit_id":"30116cf3c2f6eeabc662f3579b4f4e8fca9d150e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b954dbf6d3e15bb29e96f44d3cb8d874e6c0599d","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Compute Hypervisor resource and functions are reworked to comply 2.88"},{"line_number":5,"context_line":"    microversion with deprecating misleading attributes."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"d80ca7c0_32167789","line":5,"range":{"start_line":5,"start_character":16,"end_line":5,"end_character":22},"updated":"2021-01-27 10:31:04.000000000","message":", including","commit_id":"30116cf3c2f6eeabc662f3579b4f4e8fca9d150e"}]}
