)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"63409e50531553b4c2bc62deb714b585ce7b4b73","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"72d3ca9b_3da162a8","updated":"2022-09-30 15:58:03.000000000","message":"A few thoughts, at least about the reliability of the subsystem IDs in terms of 1:1 mapping with types.","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"33cb41875d4af1a4c95d5c37d136cfef8654f108","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ceddb4b3_7ccedb4e","updated":"2022-09-23 15:23:20.000000000","message":"Downstream results:\n(overcloud) [stack@undercloud-0 tempest-dir]$ tempest run --regex whitebox_tempest_plugin.api.compute.test_vgpu.VGPUMultiTypes.test_deploy_multiple_vgpu_types\n{0} whitebox_tempest_plugin.api.compute.test_vgpu.VGPUMultiTypes.test_deploy_multiple_vgpu_types [43.301294s] ... ok\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 1 tests in 43.3013 sec.\n - Passed: 1\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 0\nSum of execute time for each test: 43.3013 sec.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWorker Balance\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n - Worker 0 (1 tests) \u003d\u003e 0:00:43.301294\n","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"3dd4660bf188abbe92882e3babc0987edf36b731","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"de3dda63_c4b86745","updated":"2022-10-13 15:13:54.000000000","message":"Updated to check the host versus the guest based on Sean\u0027s feedback downstream.  Results below:\n(overcloud) [stack@undercloud-0 tempest-dir]$ tempest run --serial --regex whitebox_tempest_plugin.api.compute.test_vgpu.VGPUMultiTypes.test_deploy_multiple_vgpu_types\n{0} whitebox_tempest_plugin.api.compute.test_vgpu.VGPUMultiTypes.test_deploy_multiple_vgpu_types [34.195096s] ... ok\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 1 tests in 34.1951 sec.\n - Passed: 1\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 0\nSum of execute time for each test: 34.1951 sec.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWorker Balance\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n - Worker 0 (1 tests) \u003d\u003e 0:00:34.195096\n","commit_id":"c2500cceecc87b81b947459937929cef4e3b1d6e"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"f5350d2d1e2371ce4b937cb2328a85b6ee31b4bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e9ac4cc7_4bcc696d","updated":"2022-10-13 16:30:48.000000000","message":"recheck","commit_id":"c2500cceecc87b81b947459937929cef4e3b1d6e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35d33347d08cab66d7eb0eb75bb920c194372404","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"145e15ec_543bbf63","updated":"2022-12-12 18:29:22.000000000","message":"this looks ok to me.","commit_id":"c2500cceecc87b81b947459937929cef4e3b1d6e"}],"whitebox_tempest_plugin/api/compute/test_vgpu.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"63409e50531553b4c2bc62deb714b585ce7b4b73","unresolved":true,"context_lines":[{"line_number":546,"context_line":"        cmd \u003d \"grep -nr 0x%s /sys/bus/pci/devices/*/subsystem_device | \" \\"},{"line_number":547,"context_line":"              \"grep -E \u0027[0-9a-e]{4}:[0-9a-e]{2}:[0-9a-e]{2}.[0-9a-e]{1}\u0027 \" \\"},{"line_number":548,"context_line":"              \"| wc -l\" % subsystem_device"},{"line_number":549,"context_line":"        sys_out \u003d linux_client.exec_command(cmd)"},{"line_number":550,"context_line":"        self.assertIsNotNone("},{"line_number":551,"context_line":"            sys_out, \u0027Unable to find subsystem device %s when checking the \u0027"},{"line_number":552,"context_line":"            \u0027guest\u0027 % subsystem_device)"}],"source_content_type":"text/x-python","patch_set":2,"id":"e047cb83_c6f0e755","line":549,"updated":"2022-09-30 15:58:03.000000000","message":"I trust you on this command honestly.","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"c505c39d06badda82154512de4a13dc5561fb8c9","unresolved":false,"context_lines":[{"line_number":546,"context_line":"        cmd \u003d \"grep -nr 0x%s /sys/bus/pci/devices/*/subsystem_device | \" \\"},{"line_number":547,"context_line":"              \"grep -E \u0027[0-9a-e]{4}:[0-9a-e]{2}:[0-9a-e]{2}.[0-9a-e]{1}\u0027 \" \\"},{"line_number":548,"context_line":"              \"| wc -l\" % subsystem_device"},{"line_number":549,"context_line":"        sys_out \u003d linux_client.exec_command(cmd)"},{"line_number":550,"context_line":"        self.assertIsNotNone("},{"line_number":551,"context_line":"            sys_out, \u0027Unable to find subsystem device %s when checking the \u0027"},{"line_number":552,"context_line":"            \u0027guest\u0027 % subsystem_device)"}],"source_content_type":"text/x-python","patch_set":2,"id":"0e451faa_1a83cc60","line":549,"in_reply_to":"e047cb83_c6f0e755","updated":"2022-10-03 15:20:25.000000000","message":"Ack","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"63409e50531553b4c2bc62deb714b585ce7b4b73","unresolved":true,"context_lines":[{"line_number":574,"context_line":"            is_public\u003d\u0027True\u0027,)[\u0027flavor\u0027]"},{"line_number":575,"context_line":"        self.os_admin.flavors_client.set_flavor_extra_spec("},{"line_number":576,"context_line":"            vgpu_flavor[\u0027id\u0027],"},{"line_number":577,"context_line":"            **extra_specs)"},{"line_number":578,"context_line":"        self.addClassResourceCleanup("},{"line_number":579,"context_line":"            self.admin_flavors_client.wait_for_resource_deletion,"},{"line_number":580,"context_line":"            vgpu_flavor[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"8ca99dd3_68e01013","line":577,"updated":"2022-09-30 15:58:03.000000000","message":"yeah so this may fail if the custom trait wasn\u0027t created before. You said it in the commit msg, but shall we maybe check before if the trait exists ?","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"c505c39d06badda82154512de4a13dc5561fb8c9","unresolved":true,"context_lines":[{"line_number":574,"context_line":"            is_public\u003d\u0027True\u0027,)[\u0027flavor\u0027]"},{"line_number":575,"context_line":"        self.os_admin.flavors_client.set_flavor_extra_spec("},{"line_number":576,"context_line":"            vgpu_flavor[\u0027id\u0027],"},{"line_number":577,"context_line":"            **extra_specs)"},{"line_number":578,"context_line":"        self.addClassResourceCleanup("},{"line_number":579,"context_line":"            self.admin_flavors_client.wait_for_resource_deletion,"},{"line_number":580,"context_line":"            vgpu_flavor[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"c614856a_0e7ee4d9","line":577,"in_reply_to":"8ca99dd3_68e01013","updated":"2022-10-03 15:20:25.000000000","message":"There\u0027s a skip check at #L536 where the test is skipped if the expected custom trait mapping is not provided.  The assumption being if the operator provides those custom traits in the tempest configuration, they are expected to be configured. I can add an additional check that skips the test though if it still makes it here and the traits are not present.","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"63409e50531553b4c2bc62deb714b585ce7b4b73","unresolved":true,"context_lines":[{"line_number":598,"context_line":"            validation_resources \u003d self.get_test_validation_resources("},{"line_number":599,"context_line":"                self.os_primary)"},{"line_number":600,"context_line":"            server \u003d self.create_validateable_instance("},{"line_number":601,"context_line":"                vgpu_flavor,"},{"line_number":602,"context_line":"                validation_resources)"},{"line_number":603,"context_line":"            linux_client \u003d self._create_ssh_client(server,"},{"line_number":604,"context_line":"                                                   validation_resources)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1e5852a0_013f7923","line":601,"updated":"2022-09-30 15:58:03.000000000","message":"this only works if the child resource provider is tagged with the custom trait.\nI don\u0027t see where this setup is done.","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"c505c39d06badda82154512de4a13dc5561fb8c9","unresolved":true,"context_lines":[{"line_number":598,"context_line":"            validation_resources \u003d self.get_test_validation_resources("},{"line_number":599,"context_line":"                self.os_primary)"},{"line_number":600,"context_line":"            server \u003d self.create_validateable_instance("},{"line_number":601,"context_line":"                vgpu_flavor,"},{"line_number":602,"context_line":"                validation_resources)"},{"line_number":603,"context_line":"            linux_client \u003d self._create_ssh_client(server,"},{"line_number":604,"context_line":"                                                   validation_resources)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4d5c7829_e2275bfd","line":601,"in_reply_to":"1e5852a0_013f7923","updated":"2022-10-03 15:20:25.000000000","message":"The test assumes that the traits are created otherwise it is skipped due to #536.","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"}],"whitebox_tempest_plugin/config.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"63409e50531553b4c2bc62deb714b585ce7b4b73","unresolved":true,"context_lines":[{"line_number":280,"context_line":"        default\u003dNone,"},{"line_number":281,"context_line":"        help\u003d\u0027Dictionary mapping of the vGPU custom traits to the unique \u0027"},{"line_number":282,"context_line":"             \u0027subsystem id that corresponds with the vGPU device e.g. \u0027"},{"line_number":283,"context_line":"             \u0027CUSTOM_NVIDIA_11:139b,CUSTOM_NVIDIA_12:139a\u0027)"},{"line_number":284,"context_line":"]"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"compute_features_group_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"fbaaa8ad_b8692937","line":283,"range":{"start_line":283,"start_character":31,"end_line":283,"end_character":35},"updated":"2022-09-30 15:58:03.000000000","message":"ouch, I didn\u0027t know about it and so I wonder how much this is reliable.\n\nIdeally, the only way from an inside guest perspective to check the type is to use nvidia-smi (proprietary tool) which gives you the type in question.","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35d33347d08cab66d7eb0eb75bb920c194372404","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        default\u003dNone,"},{"line_number":281,"context_line":"        help\u003d\u0027Dictionary mapping of the vGPU custom traits to the unique \u0027"},{"line_number":282,"context_line":"             \u0027subsystem id that corresponds with the vGPU device e.g. \u0027"},{"line_number":283,"context_line":"             \u0027CUSTOM_NVIDIA_11:139b,CUSTOM_NVIDIA_12:139a\u0027)"},{"line_number":284,"context_line":"]"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"compute_features_group_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"c2888f52_5727f8c6","line":283,"range":{"start_line":283,"start_character":31,"end_line":283,"end_character":35},"in_reply_to":"00cf1f0a_0624c78f","updated":"2022-12-12 18:29:22.000000000","message":"Ack","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"c505c39d06badda82154512de4a13dc5561fb8c9","unresolved":true,"context_lines":[{"line_number":280,"context_line":"        default\u003dNone,"},{"line_number":281,"context_line":"        help\u003d\u0027Dictionary mapping of the vGPU custom traits to the unique \u0027"},{"line_number":282,"context_line":"             \u0027subsystem id that corresponds with the vGPU device e.g. \u0027"},{"line_number":283,"context_line":"             \u0027CUSTOM_NVIDIA_11:139b,CUSTOM_NVIDIA_12:139a\u0027)"},{"line_number":284,"context_line":"]"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"compute_features_group_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"00cf1f0a_0624c78f","line":283,"range":{"start_line":283,"start_character":31,"end_line":283,"end_character":35},"in_reply_to":"fbaaa8ad_b8692937","updated":"2022-10-03 15:20:25.000000000","message":"I agree, I am not really sure how feasible it would be to create a specialized image that either has the nvidia-smi already installed or have the test install it on the guest after it is deployed though so this seemed like an ok alternative.  Managing the correct nvidia-smi to provided based on the guest image might prove difficult to manage long term.","commit_id":"85eb37571548c161dc27652eff76b47d54588f8c"}]}
