)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2908eb923ec795e566316c07dc2bafa732541581","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Add vgpu resize tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Commit reorganizes test cases into two test classes. The first is for"},{"line_number":10,"context_line":"standard sanity tests VGPUSanityTest and the second class is for more"},{"line_number":11,"context_line":"scneario style tests, VGPUMultiActionTests. VGPUSanityTest contains a"},{"line_number":12,"context_line":"basic test method validating the creation of an instance with a vgpu"},{"line_number":13,"context_line":"resource, test_boot_instance_with_vgpu. VGPUMultiActionTests has single"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ca81bf86_d019d602","line":10,"range":{"start_line":10,"start_character":22,"end_line":10,"end_character":36},"updated":"2021-07-27 22:02:36.000000000","message":"you are not testign each of the operation indivigually in this class\nso this actully makes testing worse shicne the cold migration and resize test are only run in the\nVGPUMultiActionTests now.","commit_id":"48f3617e94bb8e3d674c8f8913b361836e319760"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2908eb923ec795e566316c07dc2bafa732541581","unresolved":true,"context_lines":[{"line_number":11,"context_line":"scneario style tests, VGPUMultiActionTests. VGPUSanityTest contains a"},{"line_number":12,"context_line":"basic test method validating the creation of an instance with a vgpu"},{"line_number":13,"context_line":"resource, test_boot_instance_with_vgpu. VGPUMultiActionTests has single"},{"line_number":14,"context_line":"test method test_multiple_vgpu_server_actions. This test method contains"},{"line_number":15,"context_line":"multiple tests actions against a single guest instance, rather than"},{"line_number":16,"context_line":"spawing up new resources for every testable server action. Test flow for"},{"line_number":17,"context_line":"the new method is detailed below in this order:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"  * vGPU guest creation"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"cadf2c43_33a5f85c","line":16,"range":{"start_line":14,"start_character":47,"end_line":16,"end_character":58},"updated":"2021-07-27 22:02:36.000000000","message":"we can do this however we must also test each of the action seperately in there own tests as well.","commit_id":"48f3617e94bb8e3d674c8f8913b361836e319760"}],"whitebox_tempest_plugin/api/compute/test_vgpu.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"01afa0af77ea416ea5742f7c883df8384737c4df","unresolved":true,"context_lines":[{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    def test_z_gpu_to_standard_resize(self):"},{"line_number":375,"context_line":"        # NOTE: (jparker) Since this method resizes the vGPU guest used"},{"line_number":376,"context_line":"        # throughout the class it needs to be executed in a speific order to"},{"line_number":377,"context_line":"        # avoid vGPU related test execution against a standard guest. To ensure"},{"line_number":378,"context_line":"        # tests are executed at the end, a z is added in the method name to"},{"line_number":379,"context_line":"        # ensure it will run at the end of the class."}],"source_content_type":"text/x-python","patch_set":1,"id":"e842788a_6c881d94","line":376,"range":{"start_line":376,"start_character":60,"end_line":376,"end_character":67},"updated":"2021-07-19 12:30:14.000000000","message":"specific","commit_id":"3f2bb5539a43b62885967063d39c176be6e0dfaa"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"3afac128d6739be7d6d86aa2f284e00354bfe4f5","unresolved":false,"context_lines":[{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    def test_z_gpu_to_standard_resize(self):"},{"line_number":375,"context_line":"        # NOTE: (jparker) Since this method resizes the vGPU guest used"},{"line_number":376,"context_line":"        # throughout the class it needs to be executed in a speific order to"},{"line_number":377,"context_line":"        # avoid vGPU related test execution against a standard guest. To ensure"},{"line_number":378,"context_line":"        # tests are executed at the end, a z is added in the method name to"},{"line_number":379,"context_line":"        # ensure it will run at the end of the class."}],"source_content_type":"text/x-python","patch_set":1,"id":"53d89caa_5643307d","line":376,"range":{"start_line":376,"start_character":60,"end_line":376,"end_character":67},"in_reply_to":"e842788a_6c881d94","updated":"2021-07-19 18:21:39.000000000","message":"Ack","commit_id":"3f2bb5539a43b62885967063d39c176be6e0dfaa"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"23caf824a183ff545ccfb9cc90d281246b8a2d75","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        # Cold migrate the the instance to the target host"},{"line_number":259,"context_line":"        self._cold_migrate_server(server[\u0027id\u0027],"},{"line_number":260,"context_line":"                                  target_host\u003ddest_host,"},{"line_number":261,"context_line":"                                  revert\u003dFalse)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        self._validate_vgpu_instance("},{"line_number":264,"context_line":"            server,"}],"source_content_type":"text/x-python","patch_set":2,"id":"420e9561_0c17abe6","line":261,"updated":"2021-05-11 04:20:41.000000000","message":"Maybe add a LOG message breadcrumb here indicating the server was cold migrated in prep for the validation on L263.","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"78e11fb35ee91ffb6539c641c16a7f09885259ac","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        # Cold migrate the the instance to the target host"},{"line_number":259,"context_line":"        self._cold_migrate_server(server[\u0027id\u0027],"},{"line_number":260,"context_line":"                                  target_host\u003ddest_host,"},{"line_number":261,"context_line":"                                  revert\u003dFalse)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        self._validate_vgpu_instance("},{"line_number":264,"context_line":"            server,"}],"source_content_type":"text/x-python","patch_set":2,"id":"e8d5a964_f8bfdc62","line":261,"in_reply_to":"420e9561_0c17abe6","updated":"2021-05-11 22:50:33.000000000","message":"Ack","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"23caf824a183ff545ccfb9cc90d281246b8a2d75","unresolved":true,"context_lines":[{"line_number":308,"context_line":"        # original source host"},{"line_number":309,"context_line":"        self._cold_migrate_server(server[\u0027id\u0027],"},{"line_number":310,"context_line":"                                  target_host\u003ddest_host,"},{"line_number":311,"context_line":"                                  revert\u003dTrue)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        # Sanity check the guest, confirming the vgpu XML device is present"},{"line_number":314,"context_line":"        # and the vendor id is present in the sysfs"}],"source_content_type":"text/x-python","patch_set":2,"id":"6ded90b7_43dd5a19","line":311,"updated":"2021-05-11 04:20:41.000000000","message":"Maybe a LOG breadcrumb that the server migration was reverted in prep for the validation on L315.","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"78e11fb35ee91ffb6539c641c16a7f09885259ac","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        # original source host"},{"line_number":309,"context_line":"        self._cold_migrate_server(server[\u0027id\u0027],"},{"line_number":310,"context_line":"                                  target_host\u003ddest_host,"},{"line_number":311,"context_line":"                                  revert\u003dTrue)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        # Sanity check the guest, confirming the vgpu XML device is present"},{"line_number":314,"context_line":"        # and the vendor id is present in the sysfs"}],"source_content_type":"text/x-python","patch_set":2,"id":"61cf2c35_60237e3d","line":311,"in_reply_to":"6ded90b7_43dd5a19","updated":"2021-05-11 22:50:33.000000000","message":"Ack","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"23caf824a183ff545ccfb9cc90d281246b8a2d75","unresolved":true,"context_lines":[{"line_number":338,"context_line":"        # and then resize the guest, after the resize gather the host the"},{"line_number":339,"context_line":"        # guest lands on"},{"line_number":340,"context_line":"        src_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":341,"context_line":"        self.resize_server(server[\u0027id\u0027], standard_flavor[\u0027id\u0027])"},{"line_number":342,"context_line":"        dest_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Gather the VGPU resource usage on both the starting host"}],"source_content_type":"text/x-python","patch_set":2,"id":"a11e2196_d06ec6e0","line":341,"updated":"2021-05-11 04:20:41.000000000","message":"Maybe LOG the resize in prep for validation on L356.","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"78e11fb35ee91ffb6539c641c16a7f09885259ac","unresolved":false,"context_lines":[{"line_number":338,"context_line":"        # and then resize the guest, after the resize gather the host the"},{"line_number":339,"context_line":"        # guest lands on"},{"line_number":340,"context_line":"        src_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":341,"context_line":"        self.resize_server(server[\u0027id\u0027], standard_flavor[\u0027id\u0027])"},{"line_number":342,"context_line":"        dest_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Gather the VGPU resource usage on both the starting host"}],"source_content_type":"text/x-python","patch_set":2,"id":"ed091529_a8e2af2a","line":341,"in_reply_to":"a11e2196_d06ec6e0","updated":"2021-05-11 22:50:33.000000000","message":"Ack","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"23caf824a183ff545ccfb9cc90d281246b8a2d75","unresolved":true,"context_lines":[{"line_number":360,"context_line":"        # back to a vGPU enabled guest, finally determine the guest\u0027s host"},{"line_number":361,"context_line":"        # after resizing"},{"line_number":362,"context_line":"        src_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":363,"context_line":"        self.resize_server(server[\u0027id\u0027], vgpu_flavor[\u0027id\u0027])"},{"line_number":364,"context_line":"        dest_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        # Gather the VGPU resource usage on all compute hosts involved in the"}],"source_content_type":"text/x-python","patch_set":2,"id":"6f8df32d_cf375f61","line":363,"updated":"2021-05-11 04:20:41.000000000","message":"Same.","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"78e11fb35ee91ffb6539c641c16a7f09885259ac","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        # back to a vGPU enabled guest, finally determine the guest\u0027s host"},{"line_number":361,"context_line":"        # after resizing"},{"line_number":362,"context_line":"        src_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":363,"context_line":"        self.resize_server(server[\u0027id\u0027], vgpu_flavor[\u0027id\u0027])"},{"line_number":364,"context_line":"        dest_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        # Gather the VGPU resource usage on all compute hosts involved in the"}],"source_content_type":"text/x-python","patch_set":2,"id":"e175a747_b4b9d0a1","line":363,"in_reply_to":"6f8df32d_cf375f61","updated":"2021-05-11 22:50:33.000000000","message":"Ack","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"23caf824a183ff545ccfb9cc90d281246b8a2d75","unresolved":true,"context_lines":[{"line_number":399,"context_line":"            flavor\u003dself.vgpu_flavor[\u0027id\u0027],"},{"line_number":400,"context_line":"            validatable\u003dTrue,"},{"line_number":401,"context_line":"            validation_resources\u003dvalidation_resources"},{"line_number":402,"context_line":"        )"},{"line_number":403,"context_line":"        self.linux_client \u003d self._create_ssh_client("},{"line_number":404,"context_line":"            server,"},{"line_number":405,"context_line":"            validation_resources)"}],"source_content_type":"text/x-python","patch_set":2,"id":"52418e91_2cc80731","line":402,"updated":"2021-05-11 04:20:41.000000000","message":"Maybe we should add a breadcrumb LOG message here indicating the server was successfully created. That way if self._validate_vgpu_instance fails at L409, we\u0027ll know it failed before migration was initiated.","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"78e11fb35ee91ffb6539c641c16a7f09885259ac","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            flavor\u003dself.vgpu_flavor[\u0027id\u0027],"},{"line_number":400,"context_line":"            validatable\u003dTrue,"},{"line_number":401,"context_line":"            validation_resources\u003dvalidation_resources"},{"line_number":402,"context_line":"        )"},{"line_number":403,"context_line":"        self.linux_client \u003d self._create_ssh_client("},{"line_number":404,"context_line":"            server,"},{"line_number":405,"context_line":"            validation_resources)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3e47d43b_cd405f9e","line":402,"in_reply_to":"52418e91_2cc80731","updated":"2021-05-11 22:50:33.000000000","message":"Ack","commit_id":"ba708a12eceadca52b5acac759ac2dcd546b3deb"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"e56dbf59c15a00adbaf0bf26741b606ec07a5ee5","unresolved":true,"context_lines":[{"line_number":57,"context_line":"        if (CONF.whitebox_hardware.vgpu_vendor_id is None):"},{"line_number":58,"context_line":"            msg \u003d \"CONF.whitebox_hardware.vgpu_vendor_id needs to be set.\""},{"line_number":59,"context_line":"            raise cls.skipException(msg)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def _create_ssh_client(self, server, validation_resources):"},{"line_number":63,"context_line":"        \"\"\"Create an ssh client to execute commands on the guest instance"}],"source_content_type":"text/x-python","patch_set":3,"id":"cbb098e3_745fcf61","line":60,"updated":"2021-07-14 14:55:25.000000000","message":"Why not use the resource_setup method to create a single server used for all the subsequent tests? \nhttps://review.opendev.org/c/openstack/whitebox-tempest-plugin/+/762742/3/whitebox_tempest_plugin/api/compute/test_validate_selinux_labels.py","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"850a3b188eafb6325008e3a9a4ffb473a1060f45","unresolved":true,"context_lines":[{"line_number":57,"context_line":"        if (CONF.whitebox_hardware.vgpu_vendor_id is None):"},{"line_number":58,"context_line":"            msg \u003d \"CONF.whitebox_hardware.vgpu_vendor_id needs to be set.\""},{"line_number":59,"context_line":"            raise cls.skipException(msg)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def _create_ssh_client(self, server, validation_resources):"},{"line_number":63,"context_line":"        \"\"\"Create an ssh client to execute commands on the guest instance"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa9cddc1_d8d717d2","line":60,"in_reply_to":"cbb098e3_745fcf61","updated":"2021-07-14 15:09:11.000000000","message":"That was the original approach and it was coupled with another way of executing the tests in a very specific order (which is critical for this test flow).  The original approach had some concerns so it was suggested to move all the tests to a single test method to allow for more control, this also included creating the single instance in the test method that is used throughout.","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"bc3506143798155d92cec16f998bede6d993f015","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        if (CONF.whitebox_hardware.vgpu_vendor_id is None):"},{"line_number":58,"context_line":"            msg \u003d \"CONF.whitebox_hardware.vgpu_vendor_id needs to be set.\""},{"line_number":59,"context_line":"            raise cls.skipException(msg)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def _create_ssh_client(self, server, validation_resources):"},{"line_number":63,"context_line":"        \"\"\"Create an ssh client to execute commands on the guest instance"}],"source_content_type":"text/x-python","patch_set":3,"id":"f2fad3ec_04187136","line":60,"in_reply_to":"fa9cddc1_d8d717d2","updated":"2021-07-14 16:52:36.000000000","message":"Ack","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"01afa0af77ea416ea5742f7c883df8384737c4df","unresolved":true,"context_lines":[{"line_number":58,"context_line":"            msg \u003d \"CONF.whitebox_hardware.vgpu_vendor_id needs to be set.\""},{"line_number":59,"context_line":"            raise cls.skipException(msg)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def _create_ssh_client(self, server, validation_resources):"},{"line_number":63,"context_line":"        \"\"\"Create an ssh client to execute commands on the guest instance"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ce5a6c69_32ddcb81","line":61,"updated":"2021-07-19 12:30:14.000000000","message":"I think you meant to remove this decorator to no longer have this a as a classmethod","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"3afac128d6739be7d6d86aa2f284e00354bfe4f5","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            msg \u003d \"CONF.whitebox_hardware.vgpu_vendor_id needs to be set.\""},{"line_number":59,"context_line":"            raise cls.skipException(msg)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def _create_ssh_client(self, server, validation_resources):"},{"line_number":63,"context_line":"        \"\"\"Create an ssh client to execute commands on the guest instance"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"a1df0434_47e4e47d","line":61,"in_reply_to":"ce5a6c69_32ddcb81","updated":"2021-07-19 18:21:39.000000000","message":"Ack","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"01afa0af77ea416ea5742f7c883df8384737c4df","unresolved":true,"context_lines":[{"line_number":331,"context_line":""},{"line_number":332,"context_line":"        self.assertEqual("},{"line_number":333,"context_line":"            self.vgpu_amount_per_instance, src_usage, \u0027After migration revert\u0027"},{"line_number":334,"context_line":"            \u0027 host %s expected to have resource class VGPU usage totaling %d \u0027"},{"line_number":335,"context_line":"            \u0027 but instead found %d\u0027 %"},{"line_number":336,"context_line":"            (src_host, self.vgpu_amount_per_instance, src_usage))"},{"line_number":337,"context_line":"        self.assertEqual("}],"source_content_type":"text/x-python","patch_set":3,"id":"044ffbb1_059c0b97","line":334,"updated":"2021-07-19 12:30:14.000000000","message":"nit: this was correct before, the spaces go at the end of the previous line.","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"3afac128d6739be7d6d86aa2f284e00354bfe4f5","unresolved":false,"context_lines":[{"line_number":331,"context_line":""},{"line_number":332,"context_line":"        self.assertEqual("},{"line_number":333,"context_line":"            self.vgpu_amount_per_instance, src_usage, \u0027After migration revert\u0027"},{"line_number":334,"context_line":"            \u0027 host %s expected to have resource class VGPU usage totaling %d \u0027"},{"line_number":335,"context_line":"            \u0027 but instead found %d\u0027 %"},{"line_number":336,"context_line":"            (src_host, self.vgpu_amount_per_instance, src_usage))"},{"line_number":337,"context_line":"        self.assertEqual("}],"source_content_type":"text/x-python","patch_set":3,"id":"299759b3_b5e258ce","line":334,"in_reply_to":"044ffbb1_059c0b97","updated":"2021-07-19 18:21:39.000000000","message":"Ack","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"01afa0af77ea416ea5742f7c883df8384737c4df","unresolved":true,"context_lines":[{"line_number":435,"context_line":"        # Migration/Resize tests are reliant on two or more computes"},{"line_number":436,"context_line":"        if CONF.compute.min_compute_nodes \u003c 2:"},{"line_number":437,"context_line":"            msg \u003d \"Less than 2 compute nodes, skipping multinode tests.\""},{"line_number":438,"context_line":"            raise self.skipException(msg)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        # Cold migrate the vgpu instance, after migration sanity check the"},{"line_number":441,"context_line":"        # vgpu guest. Next confirm the resource providers involved in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"a9a38fd8_0f78053c","line":438,"updated":"2021-07-19 12:30:14.000000000","message":"This will mark the entire test as skipped, even if the initial validation passed. Is this what we want? In addition, resize to same host is a thing.","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"3afac128d6739be7d6d86aa2f284e00354bfe4f5","unresolved":true,"context_lines":[{"line_number":435,"context_line":"        # Migration/Resize tests are reliant on two or more computes"},{"line_number":436,"context_line":"        if CONF.compute.min_compute_nodes \u003c 2:"},{"line_number":437,"context_line":"            msg \u003d \"Less than 2 compute nodes, skipping multinode tests.\""},{"line_number":438,"context_line":"            raise self.skipException(msg)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        # Cold migrate the vgpu instance, after migration sanity check the"},{"line_number":441,"context_line":"        # vgpu guest. Next confirm the resource providers involved in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"ce0666a1_51c6381a","line":438,"in_reply_to":"5fa8c078_c390759f","updated":"2021-07-19 18:21:39.000000000","message":"I think for the scope of this test I would like to require 2 or more computes otherwise skip. I could probably create dynamic actions based on the compute node amount but would rather explicitly test that type of action. I can follow up this commit with a second testclass that explicitly tests resize on the same host regardless of compute node count.  WDYT?","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"c8d2810c31bd00287a88311ada6a7a9dff8b444f","unresolved":true,"context_lines":[{"line_number":435,"context_line":"        # Migration/Resize tests are reliant on two or more computes"},{"line_number":436,"context_line":"        if CONF.compute.min_compute_nodes \u003c 2:"},{"line_number":437,"context_line":"            msg \u003d \"Less than 2 compute nodes, skipping multinode tests.\""},{"line_number":438,"context_line":"            raise self.skipException(msg)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        # Cold migrate the vgpu instance, after migration sanity check the"},{"line_number":441,"context_line":"        # vgpu guest. Next confirm the resource providers involved in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"c91bcc33_1c35cfa5","line":438,"in_reply_to":"67b1895b_e00c493b","updated":"2021-07-19 19:01:31.000000000","message":"\u003e \u003e I think for the scope of this test I would like to require 2 or more computes otherwise skip.\n\u003e \n\u003e Fair enough. I guess we could add a simple \"boot up with VGPU\" sanity check, like the resize test lower down?\n\nWouldn\u0027t #L431 be the sanity check since the server would have already been created by that point and it would confirm vGPU devices were added correctly?  Wouldn\u0027t that be evaluated before the compute node count check? Or do you mean take the sanity test from #L431 and make sure to incorporate it as a precursor to the same host resize tests I will add in a follow up commit?","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6995580efc7fd136a03215cce0b4ca604d7ad001","unresolved":true,"context_lines":[{"line_number":435,"context_line":"        # Migration/Resize tests are reliant on two or more computes"},{"line_number":436,"context_line":"        if CONF.compute.min_compute_nodes \u003c 2:"},{"line_number":437,"context_line":"            msg \u003d \"Less than 2 compute nodes, skipping multinode tests.\""},{"line_number":438,"context_line":"            raise self.skipException(msg)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        # Cold migrate the vgpu instance, after migration sanity check the"},{"line_number":441,"context_line":"        # vgpu guest. Next confirm the resource providers involved in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fa8c078_c390759f","line":438,"in_reply_to":"a9a38fd8_0f78053c","updated":"2021-07-19 13:34:41.000000000","message":"resize to same host is but only vmware support cold migrate to same host so we need to host for the cold migrate parts.","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6ebb45f28f71e7eafd825a9fa21cf19bd1518151","unresolved":true,"context_lines":[{"line_number":435,"context_line":"        # Migration/Resize tests are reliant on two or more computes"},{"line_number":436,"context_line":"        if CONF.compute.min_compute_nodes \u003c 2:"},{"line_number":437,"context_line":"            msg \u003d \"Less than 2 compute nodes, skipping multinode tests.\""},{"line_number":438,"context_line":"            raise self.skipException(msg)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        # Cold migrate the vgpu instance, after migration sanity check the"},{"line_number":441,"context_line":"        # vgpu guest. Next confirm the resource providers involved in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"21bfe7d5_14942485","line":438,"in_reply_to":"c91bcc33_1c35cfa5","updated":"2021-07-19 22:58:35.000000000","message":"the only thing new this test should be doing is validateing that if we do multiple action they all work but each action should be tested seperately first.\nwe shoudl not test multiple new things in one test.\n\nin this case we should add a standalone boot with vgpu test at the top of this test class before doing the more advanced tests.\n\nin general if we dont have a simple \"boot with X\" style test for any feature we shoudl add that first before adding more complex ones.\n\ni also agree we shoudl not have the behaivor of the test cahnge based on the number of hosts.\n\nthe resize tests should work with any number of hosts.\nthe migrate tests must have 2+\nthis this since it uses migrate therefore also must have 2+","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"5b870a055b6c892fb4e1443cecd3b1e294b3c5cc","unresolved":true,"context_lines":[{"line_number":435,"context_line":"        # Migration/Resize tests are reliant on two or more computes"},{"line_number":436,"context_line":"        if CONF.compute.min_compute_nodes \u003c 2:"},{"line_number":437,"context_line":"            msg \u003d \"Less than 2 compute nodes, skipping multinode tests.\""},{"line_number":438,"context_line":"            raise self.skipException(msg)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        # Cold migrate the vgpu instance, after migration sanity check the"},{"line_number":441,"context_line":"        # vgpu guest. Next confirm the resource providers involved in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"67b1895b_e00c493b","line":438,"in_reply_to":"ce0666a1_51c6381a","updated":"2021-07-19 18:42:28.000000000","message":"\u003e I think for the scope of this test I would like to require 2 or more computes otherwise skip.\n\nFair enough. I guess we could add a simple \"boot up with VGPU\" sanity check, like the resize test lower down?\n\n\u003e I could probably create dynamic actions based on the compute node amount but would rather explicitly test that type of action.\n\nYeah, please no dynamic actions. If we want to test resize specifically, then have a test for resize to self host that doesn\u0027t need multinode.\n\n\u003e I can follow up this commit with a second testclass that explicitly tests resize on the same host regardless of compute node count.  WDYT?\n\nYep, sounds legit to me.","commit_id":"8f0c0652c43c698eaa24b6bd76d4a66f6bbbb1ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6e96a023c0ac768bf026db5dab66b0ebfefcbb21","unresolved":true,"context_lines":[{"line_number":409,"context_line":"            expected_device_count\u003dself.vgpu_amount_per_instance)"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"class VGPUSanityTests(VGPUTest):"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    def test_boot_instance_with_vgpu(self):"},{"line_number":415,"context_line":"        \"\"\"Test creating an instance with a vGPU resource\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5c413823_66613ef5","line":412,"range":{"start_line":412,"start_character":6,"end_line":412,"end_character":21},"updated":"2021-07-27 21:59:35.000000000","message":"why break this out into its own class \n\nalso surly the inheritnece is inverted the complex test woudl inhirt form the simple tests class not the other way around.","commit_id":"48f3617e94bb8e3d674c8f8913b361836e319760"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7340e463b7181869969dce2d7717f326bfb6f6e5","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    @classmethod"},{"line_number":96,"context_line":"    def _create_ssh_client(cls, server, validation_resources):"},{"line_number":97,"context_line":"        \"\"\"Create an ssh client to execute commands on the guest instance"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        :param server: the ssh client will be setup to interface with the"},{"line_number":100,"context_line":"        provided server instance"},{"line_number":101,"context_line":"        :param valdiation_resources: necessary validation information to setup"}],"source_content_type":"text/x-python","patch_set":8,"id":"d504e0da_e95db80a","side":"PARENT","line":98,"updated":"2021-08-09 21:16:29.000000000","message":"nit: the blank line was OK :)","commit_id":"d8553cd5d5fc8254c1f487ef06eb58414b39950e"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"83778344efefe605d51d022f08cbab94c3622a38","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    @classmethod"},{"line_number":96,"context_line":"    def _create_ssh_client(cls, server, validation_resources):"},{"line_number":97,"context_line":"        \"\"\"Create an ssh client to execute commands on the guest instance"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        :param server: the ssh client will be setup to interface with the"},{"line_number":100,"context_line":"        provided server instance"},{"line_number":101,"context_line":"        :param valdiation_resources: necessary validation information to setup"}],"source_content_type":"text/x-python","patch_set":8,"id":"59e5aa4c_6549c049","side":"PARENT","line":98,"in_reply_to":"d504e0da_e95db80a","updated":"2021-08-09 21:20:32.000000000","message":"Based on your comment on #L460 I\u0027m going to add a note for usage so I\u0027ll fix this as well.","commit_id":"d8553cd5d5fc8254c1f487ef06eb58414b39950e"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7340e463b7181869969dce2d7717f326bfb6f6e5","unresolved":true,"context_lines":[{"line_number":457,"context_line":"            self.servers_client.get_console_output(server[\u0027id\u0027])"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        # Gather the vGPU resource utilization from the compute host"},{"line_number":460,"context_line":"        post_resize_usage \u003d self._get_vgpu_util_for_host(host)"},{"line_number":461,"context_line":"        expected_usage \u003d pre_resize_usage - self.vgpu_amount_per_instance"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        # Confirm the original host\u0027s vGPU resource usage now accounts for the"}],"source_content_type":"text/x-python","patch_set":8,"id":"537f1458_5916b4b4","line":460,"updated":"2021-08-09 21:16:29.000000000","message":"OK, this looks weird, but actually makes sense. Regardless of whether the resize happened to a different host or not, the usage on the source will have decreased by however many vGPUs the instance was consuming - either because the instance is still on that same host, but without any vGPUs, or because during the resize it got moved to a different host.","commit_id":"53def30485833b62b802b856e9808f3a9898360a"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"83778344efefe605d51d022f08cbab94c3622a38","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            self.servers_client.get_console_output(server[\u0027id\u0027])"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        # Gather the vGPU resource utilization from the compute host"},{"line_number":460,"context_line":"        post_resize_usage \u003d self._get_vgpu_util_for_host(host)"},{"line_number":461,"context_line":"        expected_usage \u003d pre_resize_usage - self.vgpu_amount_per_instance"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        # Confirm the original host\u0027s vGPU resource usage now accounts for the"}],"source_content_type":"text/x-python","patch_set":8,"id":"e3dbe953_1bf561ef","line":460,"in_reply_to":"537f1458_5916b4b4","updated":"2021-08-09 21:20:32.000000000","message":"Yeah, let me add a note to this.","commit_id":"53def30485833b62b802b856e9808f3a9898360a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9a21308211409556c517b9d76ac3c2461cdf824","unresolved":true,"context_lines":[{"line_number":205,"context_line":"        waiters.wait_for_server_status(self.servers_client, server_id,"},{"line_number":206,"context_line":"                                       \u0027VERIFY_RESIZE\u0027)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        if revert:"},{"line_number":209,"context_line":"            self.admin_servers_client.revert_resize_server(server_id)"},{"line_number":210,"context_line":"            assert_func \u003d self.assertEqual"},{"line_number":211,"context_line":"        else:"},{"line_number":212,"context_line":"            self.admin_servers_client.confirm_resize_server(server_id)"},{"line_number":213,"context_line":"            assert_func \u003d self.assertNotEqual"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        waiters.wait_for_server_status(self.servers_client,"},{"line_number":216,"context_line":"                                       server_id, \u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"c32001ad_d39fcde8","line":213,"range":{"start_line":208,"start_character":6,"end_line":213,"end_character":45},"updated":"2021-08-17 18:37:29.000000000","message":"as noted below i think we shoudl split these calls out in the future and not do them automatically.\nthis shoudl also get pullind into a common module with functions for all instance actions that are just reused.","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"ea8de599d836405cc0682f276a3a279e2da005a8","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        waiters.wait_for_server_status(self.servers_client, server_id,"},{"line_number":206,"context_line":"                                       \u0027VERIFY_RESIZE\u0027)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        if revert:"},{"line_number":209,"context_line":"            self.admin_servers_client.revert_resize_server(server_id)"},{"line_number":210,"context_line":"            assert_func \u003d self.assertEqual"},{"line_number":211,"context_line":"        else:"},{"line_number":212,"context_line":"            self.admin_servers_client.confirm_resize_server(server_id)"},{"line_number":213,"context_line":"            assert_func \u003d self.assertNotEqual"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        waiters.wait_for_server_status(self.servers_client,"},{"line_number":216,"context_line":"                                       server_id, \u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"d68d8ebf_e4d0a196","line":213,"range":{"start_line":208,"start_character":6,"end_line":213,"end_character":45},"in_reply_to":"c32001ad_d39fcde8","updated":"2021-08-18 14:28:59.000000000","message":"Ack","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9a21308211409556c517b9d76ac3c2461cdf824","unresolved":true,"context_lines":[{"line_number":277,"context_line":"        return server"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"class VGPUSanity(VGPUTest):"},{"line_number":281,"context_line":"    def test_boot_instance_with_vgpu(self):"},{"line_number":282,"context_line":"        \"\"\"Test creating an instance with a vGPU resource\"\"\""},{"line_number":283,"context_line":"        # Confirm vGPU guest XML contains correct number of vgpu devices. Then"}],"source_content_type":"text/x-python","patch_set":9,"id":"cbe57f3b_8bb5812c","line":280,"range":{"start_line":280,"start_character":6,"end_line":280,"end_character":16},"updated":"2021-08-17 18:37:29.000000000","message":"nit: for pc reasons VGPUSmoke would be better\ni.e. we shoudl prefer the term \"smoke tests\" over \"sanity tests\".","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"ea8de599d836405cc0682f276a3a279e2da005a8","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        return server"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"class VGPUSanity(VGPUTest):"},{"line_number":281,"context_line":"    def test_boot_instance_with_vgpu(self):"},{"line_number":282,"context_line":"        \"\"\"Test creating an instance with a vGPU resource\"\"\""},{"line_number":283,"context_line":"        # Confirm vGPU guest XML contains correct number of vgpu devices. Then"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba948ede_a3ee482f","line":280,"range":{"start_line":280,"start_character":6,"end_line":280,"end_character":16},"in_reply_to":"cbe57f3b_8bb5812c","updated":"2021-08-18 14:28:59.000000000","message":"Did not know this, thanks will do.","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9a21308211409556c517b9d76ac3c2461cdf824","unresolved":true,"context_lines":[{"line_number":338,"context_line":"                 {\u0027server\u0027: server[\u0027id\u0027], \u0027dest_host\u0027: dest_host})"},{"line_number":339,"context_line":"        self._validate_vgpu_instance("},{"line_number":340,"context_line":"            server,"},{"line_number":341,"context_line":"            linux_client\u003dlinux_client,"},{"line_number":342,"context_line":"            expected_device_count\u003dself.vgpu_amount_per_instance)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Regather the VGPU resource usage on both compute hosts involved in"},{"line_number":345,"context_line":"        # the cold migration. Confirm the original source host\u0027s VGPU usage has"}],"source_content_type":"text/x-python","patch_set":9,"id":"c67760e2_074490ab","line":342,"range":{"start_line":341,"start_character":11,"end_line":342,"end_character":63},"updated":"2021-08-17 18:37:29.000000000","message":"nit: here and throught these are postional args not kwargs and while this is allowed\nby python its considerd bad partice to call postional args as keywoard args and even more so to do\nit the other way around.\n\n\npassing keywords arguments as positionals is dangerous as the behavior can change if new parmaters are added. the inverse calling positional as keyword args does not have this issue but it loses clarity in that we expect kwargs to have a valid default and are therefor optional, positional args are not optional and do not have a default so passing them as such makes it unclear if the linux_clinet or expected device count is required or not.\n\nso please fix this in a followup.\n\nim only not -1ing for this since this code was already guilty of this","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"ea8de599d836405cc0682f276a3a279e2da005a8","unresolved":true,"context_lines":[{"line_number":338,"context_line":"                 {\u0027server\u0027: server[\u0027id\u0027], \u0027dest_host\u0027: dest_host})"},{"line_number":339,"context_line":"        self._validate_vgpu_instance("},{"line_number":340,"context_line":"            server,"},{"line_number":341,"context_line":"            linux_client\u003dlinux_client,"},{"line_number":342,"context_line":"            expected_device_count\u003dself.vgpu_amount_per_instance)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Regather the VGPU resource usage on both compute hosts involved in"},{"line_number":345,"context_line":"        # the cold migration. Confirm the original source host\u0027s VGPU usage has"}],"source_content_type":"text/x-python","patch_set":9,"id":"ab133301_07584b9a","line":342,"range":{"start_line":341,"start_character":11,"end_line":342,"end_character":63},"in_reply_to":"c67760e2_074490ab","updated":"2021-08-18 14:28:59.000000000","message":"Thanks for the explanation.","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9a21308211409556c517b9d76ac3c2461cdf824","unresolved":true,"context_lines":[{"line_number":379,"context_line":"        pre_dest_usage \u003d self._get_vgpu_util_for_host(dest_host)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        # Cold migrate the the instance to the target host"},{"line_number":382,"context_line":"        self._cold_migrate_server(server[\u0027id\u0027],"},{"line_number":383,"context_line":"                                  target_host\u003ddest_host,"},{"line_number":384,"context_line":"                                  revert\u003dTrue)"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        # Sanity check the guest, confirming the vgpu XML device is present"},{"line_number":387,"context_line":"        # and the vendor id is present in the sysfs"}],"source_content_type":"text/x-python","patch_set":9,"id":"bb64d197_37045f31","line":384,"range":{"start_line":382,"start_character":7,"end_line":384,"end_character":46},"updated":"2021-08-17 18:37:29.000000000","message":"we should proably split this up into migraget, confirm and revert in the future.\n\nim not sure this is a good api for use to use currently as we cant make assertion about the verify resize state. for example asserting that the source and dest gpus are claimed appropriately on both hosts untill we confirm or revert.","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"ea8de599d836405cc0682f276a3a279e2da005a8","unresolved":false,"context_lines":[{"line_number":379,"context_line":"        pre_dest_usage \u003d self._get_vgpu_util_for_host(dest_host)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        # Cold migrate the the instance to the target host"},{"line_number":382,"context_line":"        self._cold_migrate_server(server[\u0027id\u0027],"},{"line_number":383,"context_line":"                                  target_host\u003ddest_host,"},{"line_number":384,"context_line":"                                  revert\u003dTrue)"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        # Sanity check the guest, confirming the vgpu XML device is present"},{"line_number":387,"context_line":"        # and the vendor id is present in the sysfs"}],"source_content_type":"text/x-python","patch_set":9,"id":"2730f036_e520eaa9","line":384,"range":{"start_line":382,"start_character":7,"end_line":384,"end_character":46},"in_reply_to":"bb64d197_37045f31","updated":"2021-08-18 14:28:59.000000000","message":"Ack","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9a21308211409556c517b9d76ac3c2461cdf824","unresolved":true,"context_lines":[{"line_number":409,"context_line":"            \u0027host %s expected to have resource class VGPU usage totaling %d \u0027"},{"line_number":410,"context_line":"            \u0027but instead found %d\u0027 %"},{"line_number":411,"context_line":"            (src_host, pre_src_usage, current_dest_usage))"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        # Do a final sanity check of the guest after the rever to confirm the"},{"line_number":414,"context_line":"        # vgpu device is present in the XML and vendor id is present in sysfs"},{"line_number":415,"context_line":"        self._validate_vgpu_instance("}],"source_content_type":"text/x-python","patch_set":9,"id":"a3495518_190ed035","line":412,"updated":"2021-08-17 18:37:29.000000000","message":"if we decoupled the revert form the migrate you could have asserted the usage on both host before you made the assertions above.\n\nthis cover the final state which i guess is the minimal coverage we need but it would be nice to have asserted before, during and after.","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"ea8de599d836405cc0682f276a3a279e2da005a8","unresolved":false,"context_lines":[{"line_number":409,"context_line":"            \u0027host %s expected to have resource class VGPU usage totaling %d \u0027"},{"line_number":410,"context_line":"            \u0027but instead found %d\u0027 %"},{"line_number":411,"context_line":"            (src_host, pre_src_usage, current_dest_usage))"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        # Do a final sanity check of the guest after the rever to confirm the"},{"line_number":414,"context_line":"        # vgpu device is present in the XML and vendor id is present in sysfs"},{"line_number":415,"context_line":"        self._validate_vgpu_instance("}],"source_content_type":"text/x-python","patch_set":9,"id":"4fdbc6f1_7bde8a7f","line":412,"in_reply_to":"a3495518_190ed035","updated":"2021-08-18 14:28:59.000000000","message":"Ack","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9a21308211409556c517b9d76ac3c2461cdf824","unresolved":true,"context_lines":[{"line_number":429,"context_line":"    def skip_checks(cls):"},{"line_number":430,"context_line":"        super(VGPUResizeInstance, cls).skip_checks()"},{"line_number":431,"context_line":"        if not CONF.whitebox_hardware.vgpu_cold_migration_supported:"},{"line_number":432,"context_line":"            msg \u003d \"vGPU Cold Migration support needed in order to run \" \\"},{"line_number":433,"context_line":"                  \"resize tests\""},{"line_number":434,"context_line":"            raise cls.skipException(msg)"},{"line_number":435,"context_line":"        if not CONF.compute_feature_enabled.resize:"},{"line_number":436,"context_line":"            msg \u003d \u0027Resize not available.\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"b9fe07d5_53d9765d","line":433,"range":{"start_line":432,"start_character":19,"end_line":433,"end_character":32},"updated":"2021-08-17 18:37:29.000000000","message":"nit: i prefer to avoid line continuations using perns instaed of using \\ were posible\n\nmsg\u003d\"vGPU Cold Migration support needed in order to run \" \\\n    \"resize tests\"\n\n-\u003e\n\nmsg\u003d(\"vGPU Cold Migration support needed in order to run \"\n     \"resize tests\")","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"ea8de599d836405cc0682f276a3a279e2da005a8","unresolved":false,"context_lines":[{"line_number":429,"context_line":"    def skip_checks(cls):"},{"line_number":430,"context_line":"        super(VGPUResizeInstance, cls).skip_checks()"},{"line_number":431,"context_line":"        if not CONF.whitebox_hardware.vgpu_cold_migration_supported:"},{"line_number":432,"context_line":"            msg \u003d \"vGPU Cold Migration support needed in order to run \" \\"},{"line_number":433,"context_line":"                  \"resize tests\""},{"line_number":434,"context_line":"            raise cls.skipException(msg)"},{"line_number":435,"context_line":"        if not CONF.compute_feature_enabled.resize:"},{"line_number":436,"context_line":"            msg \u003d \u0027Resize not available.\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"0e35135f_197b1afb","line":433,"range":{"start_line":432,"start_character":19,"end_line":433,"end_character":32},"in_reply_to":"b9fe07d5_53d9765d","updated":"2021-08-18 14:28:59.000000000","message":"Ack","commit_id":"81ae49ea00eb16cf086338299a15af971d578568"}]}
