)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7096209f61997b78b6b714df04bff509098a9595","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0af057ab_e90592eb","updated":"2021-10-18 20:13:11.000000000","message":"-1 just to get a discussion going, really.","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"8a1f848ebec7f8a5833c0177923f675abb9203b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3af3f057_0b606922","updated":"2021-10-18 22:41:47.000000000","message":"I\u0027ve started looking at NSM removal for some other tests as well, so tomorrow I will try to map out if there are an issues with deployments having only one host with cpu_ids that have NUMA affinity and the remaining host(s) have dedicated_cpus from another NUMA.  I think I prefer having a uniform approach for every compute (just with different values) like in example from L309 but if it does simplify the code and make creation of new cases easier I\u0027m all for it. ","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"fead9d5c8513812b8ca431f9de6029b34da48704","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f47e990e_511bc574","updated":"2022-02-04 14:02:33.000000000","message":"Downstream results:\n(overcloud) (.tempest) [stack@undercloud-0 tempest-dir]$ tempest run --serial --regex whitebox_tempest_plugin.api.compute.test_sriov | tee sriov_fail.log\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVMigration.test_sriov_direct_live_migration [29.943016s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVMigration.test_sriov_macvtap_live_migration [28.159207s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVNumaAffinity.test_sriov_affinity_preferred [19.088312s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVNumaAffinity.test_sriov_affinity_required [15.648135s] ... ok\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 4 tests in 97.2133 sec.\n - Passed: 4\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 0\nSum of execute time for each test: 92.8387 sec.\n","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7fa528ecfcfb0559a969c4a224fb525a46d37dca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"05d1e790_b74fa9c1","updated":"2022-02-04 23:01:22.000000000","message":"Just the two admin client nits, I keep forgetting whether deleting servers \"manually\" is still a requirement...","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"5139bd0e9a489fd49ed28e758e16a020b5b220f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"42712a5c_b160ffb8","updated":"2022-02-10 21:51:54.000000000","message":"Comments have been addressed, LGTM.","commit_id":"60cce7e64711f119045335512d2ef867596c1ab6"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"500cf913edc59f9757fe3524b48801ddb059d7ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"23f4391e_a8daaf29","updated":"2022-02-10 21:20:03.000000000","message":"Results based on ps3:\n(.tempest) (overcloud) [stack@undercloud-0 tempest-dir]$ tempest run --serial --regex whitebox_tempest_plugin.api.compute.test_sriov | tee sriov_fail.log\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVMigration.test_sriov_direct_live_migration [36.998237s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVMigration.test_sriov_macvtap_live_migration [30.072878s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVNumaAffinity.test_sriov_affinity_preferred [19.954749s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_sriov.SRIOVNumaAffinity.test_sriov_affinity_required [14.633665s] ... ok\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 4 tests in 106.0416 sec.\n - Passed: 4\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 0\nSum of execute time for each test: 101.6595 sec.\n\n","commit_id":"60cce7e64711f119045335512d2ef867596c1ab6"}],"whitebox_tempest_plugin/api/compute/test_sriov.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6e461472035d32723b8cc1e0a0656fab2cf09d63","unresolved":true,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def setUp(self):"},{"line_number":253,"context_line":"        super(SRIOVNumaAffinity, self).setUp()"},{"line_number":254,"context_line":"        affinity_node \u003d str(CONF.whitebox_hardware.physnet_numa_affinity)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.host \u003d self.list_compute_hosts()[0]"},{"line_number":257,"context_line":"        host_sm \u003d clients.NovaServiceManager(self.host, \u0027nova-compute\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"05e6a533_97dd2ccd","line":254,"updated":"2021-10-07 16:37:44.000000000","message":"So quick initial first remark: I was imagining this would get turned into a list of CPUs, I think it would simplify a lot of the logic below.","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"af8d52565798572e1a60bd657abfc282d2f53823","unresolved":true,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def setUp(self):"},{"line_number":253,"context_line":"        super(SRIOVNumaAffinity, self).setUp()"},{"line_number":254,"context_line":"        affinity_node \u003d str(CONF.whitebox_hardware.physnet_numa_affinity)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.host \u003d self.list_compute_hosts()[0]"},{"line_number":257,"context_line":"        host_sm \u003d clients.NovaServiceManager(self.host, \u0027nova-compute\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4fef3a2d_51cba6e6","line":254,"in_reply_to":"05e6a533_97dd2ccd","updated":"2022-02-03 22:34:27.000000000","message":"I believe the method for #L269 of the new PS should address this.","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"500cf913edc59f9757fe3524b48801ddb059d7ec","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def setUp(self):"},{"line_number":253,"context_line":"        super(SRIOVNumaAffinity, self).setUp()"},{"line_number":254,"context_line":"        affinity_node \u003d str(CONF.whitebox_hardware.physnet_numa_affinity)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.host \u003d self.list_compute_hosts()[0]"},{"line_number":257,"context_line":"        host_sm \u003d clients.NovaServiceManager(self.host, \u0027nova-compute\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"8fe24b6a_1b35c926","line":254,"in_reply_to":"4fef3a2d_51cba6e6","updated":"2022-02-10 21:20:03.000000000","message":"Done","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7096209f61997b78b6b714df04bff509098a9595","unresolved":true,"context_lines":[{"line_number":253,"context_line":"        super(SRIOVNumaAffinity, self).setUp()"},{"line_number":254,"context_line":"        affinity_node \u003d str(CONF.whitebox_hardware.physnet_numa_affinity)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.host \u003d self.list_compute_hosts()[0]"},{"line_number":257,"context_line":"        host_sm \u003d clients.NovaServiceManager(self.host, \u0027nova-compute\u0027,"},{"line_number":258,"context_line":"                                             self.os_admin.services_client)"},{"line_number":259,"context_line":"        self.cpu_dedicated_set \u003d host_sm.get_cpu_dedicated_set()"}],"source_content_type":"text/x-python","patch_set":1,"id":"c073f617_36717d66","line":256,"updated":"2021-10-18 20:13:11.000000000","message":"I would ideally like to avoid adding new uses of list_compute_hosts(), and eventually replace everything we currently have and remove the method entirely. It starts to get problematic for envs with more than 2 hosts.","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"af8d52565798572e1a60bd657abfc282d2f53823","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        super(SRIOVNumaAffinity, self).setUp()"},{"line_number":254,"context_line":"        affinity_node \u003d str(CONF.whitebox_hardware.physnet_numa_affinity)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.host \u003d self.list_compute_hosts()[0]"},{"line_number":257,"context_line":"        host_sm \u003d clients.NovaServiceManager(self.host, \u0027nova-compute\u0027,"},{"line_number":258,"context_line":"                                             self.os_admin.services_client)"},{"line_number":259,"context_line":"        self.cpu_dedicated_set \u003d host_sm.get_cpu_dedicated_set()"}],"source_content_type":"text/x-python","patch_set":1,"id":"b100719e_f2490495","line":256,"in_reply_to":"12f4fc45_44ff0918","updated":"2022-02-03 22:34:27.000000000","message":"Done","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"8a1f848ebec7f8a5833c0177923f675abb9203b9","unresolved":true,"context_lines":[{"line_number":253,"context_line":"        super(SRIOVNumaAffinity, self).setUp()"},{"line_number":254,"context_line":"        affinity_node \u003d str(CONF.whitebox_hardware.physnet_numa_affinity)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.host \u003d self.list_compute_hosts()[0]"},{"line_number":257,"context_line":"        host_sm \u003d clients.NovaServiceManager(self.host, \u0027nova-compute\u0027,"},{"line_number":258,"context_line":"                                             self.os_admin.services_client)"},{"line_number":259,"context_line":"        self.cpu_dedicated_set \u003d host_sm.get_cpu_dedicated_set()"}],"source_content_type":"text/x-python","patch_set":1,"id":"12f4fc45_44ff0918","line":256,"in_reply_to":"c073f617_36717d66","updated":"2021-10-18 22:41:47.000000000","message":"I agree I just started doing the NSM removal for some other tests and I am not super crazy about this approach there either.  If there is a path that can remove this I think that is the right move.","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7096209f61997b78b6b714df04bff509098a9595","unresolved":true,"context_lines":[{"line_number":306,"context_line":"    def test_sriov_affinity_preferred(self):"},{"line_number":307,"context_line":"        \"\"\"Validate instance will schedule to NUMA without nic affinity"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        1. Pick a single compute host and gather its cpu_dedicated_set"},{"line_number":310,"context_line":"        configuration. Determine which of these dedicated PCPU\u0027s have affinity"},{"line_number":311,"context_line":"        and do not have affinity with the SRIOV physnet."},{"line_number":312,"context_line":"        2. Create flavors with preferred NUMA policy and"}],"source_content_type":"text/x-python","patch_set":1,"id":"88010bf9_632036d2","line":309,"updated":"2021-10-18 20:13:11.000000000","message":"Building on the theme of wanting to avoid list_compute_hosts() and only inspection of the host we landed on to figure out the dedicated_set config, I keep coming back to thinking there\u0027s a way to make all of this simpler.\n\nI think if we make a couple of assumptions about how the environment is deployed, we can make the test code simpler and quicker...\n\nWith two compute hosts A and B, we need dedicated_set(A) disjoint from dedicated_set(B).\n\nIf we assume that the SRIOV card is on the same NUMA node on all compute hosts, we can make CONF.whitebox_hardware.physnet_numa_affinity to be a list of CPUs (or create a new option for backwards compatibility with tests that haven\u0027t been converted yet), and have dedicated_set(A) such that physnet_numa_affinity is a subet of dedicated_set(A)\n\nWe then boot a VM with num_cpus \u003d len(physnet_numa_affinity)\n\nAt this point we have no choice but to go on the host to read its dedicated_set. \n\nWe create a new flavor with num_cpus \u003d len(dedicated_set) - len(physnet_numa_affinity)\n\nBoot a VM with that flavor, assert it\u0027s pinned to dedicated_set but outside physnet_numa_affinity.\n\nAs an example, if we have two compute hosts with both NUMA0 \u003d 0,1,2,3 and NUMA1 \u003d 4,5,6,7, we can have cpu_dediated_set \u003d 0,1,2,3,4,5 on A and cpu_dedicated_set \u003d 6,7 on B. We\u0027d have physnet_numa_affinity \u003d 0,1,2,3. We boot a VM with cpus\u003d4, it lands on A, we boot another VM on host A with cpus\u003d2 (computed from len(0,1,2,3,4,5) - len(0,1,2,3)), and assert that it lands on the correct CPUs 5,6.\n\nMakes sense? Or are we swinging the pendulum too far in the other direction (everything declarative) now?","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"af8d52565798572e1a60bd657abfc282d2f53823","unresolved":true,"context_lines":[{"line_number":306,"context_line":"    def test_sriov_affinity_preferred(self):"},{"line_number":307,"context_line":"        \"\"\"Validate instance will schedule to NUMA without nic affinity"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        1. Pick a single compute host and gather its cpu_dedicated_set"},{"line_number":310,"context_line":"        configuration. Determine which of these dedicated PCPU\u0027s have affinity"},{"line_number":311,"context_line":"        and do not have affinity with the SRIOV physnet."},{"line_number":312,"context_line":"        2. Create flavors with preferred NUMA policy and"}],"source_content_type":"text/x-python","patch_set":1,"id":"aa715fb4_12c0f5a1","line":309,"in_reply_to":"248f1ea6_2a909b62","updated":"2022-02-03 22:34:27.000000000","message":"I believe the latest PS should address simplifying the code, removes NSM, and adds declarations without being too declartive. Let me know what you think though.","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"8a1f848ebec7f8a5833c0177923f675abb9203b9","unresolved":true,"context_lines":[{"line_number":306,"context_line":"    def test_sriov_affinity_preferred(self):"},{"line_number":307,"context_line":"        \"\"\"Validate instance will schedule to NUMA without nic affinity"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        1. Pick a single compute host and gather its cpu_dedicated_set"},{"line_number":310,"context_line":"        configuration. Determine which of these dedicated PCPU\u0027s have affinity"},{"line_number":311,"context_line":"        and do not have affinity with the SRIOV physnet."},{"line_number":312,"context_line":"        2. Create flavors with preferred NUMA policy and"}],"source_content_type":"text/x-python","patch_set":1,"id":"248f1ea6_2a909b62","line":309,"in_reply_to":"88010bf9_632036d2","updated":"2021-10-18 22:41:47.000000000","message":"I\u0027ll need to look at the current tests we have and the future pci numa affinity we have planned. My only concern is for this to work we\u0027d have to make the assumption that:\n#1) cpu_dedicated_sets are different for every host in the deployment\n#2) cpu_dedicated_set for one and only one host is on the NUMA with affinity.  All other hosts would have to have a cpu_dedicated_set that does not have affinity.\n\nI just worry if this could impose any restrictions on other tests now or in the future if only one host can use cpu_dedicated_sets from a specific NUMA and all other hosts must divide up their dedicated_sets to some other NUMA(s) for the test to work.\n\nJust to clarify our AMD Sev and SR-IOV deployments are setup to follow the assumption from #1 but they still have cpu_dedicated_sets that can exists on a NUMA with affinity without them all being the same value for each compute e.g.\n\nCompute Topology:\nNUMA node0 CPU(s):   0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38\nNUMA node1 CPU(s):   1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39\n\ncomputesriov-0 -\u003e cpu_dedicated_set: 0,2,4,6,8,1,3,5,7,9,11\ncomputesriov-1 -\u003e cpu_dedicated_set: 10,12,14,16,18,13,15,17,19,21","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"500cf913edc59f9757fe3524b48801ddb059d7ec","unresolved":false,"context_lines":[{"line_number":306,"context_line":"    def test_sriov_affinity_preferred(self):"},{"line_number":307,"context_line":"        \"\"\"Validate instance will schedule to NUMA without nic affinity"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        1. Pick a single compute host and gather its cpu_dedicated_set"},{"line_number":310,"context_line":"        configuration. Determine which of these dedicated PCPU\u0027s have affinity"},{"line_number":311,"context_line":"        and do not have affinity with the SRIOV physnet."},{"line_number":312,"context_line":"        2. Create flavors with preferred NUMA policy and"}],"source_content_type":"text/x-python","patch_set":1,"id":"20017027_bdde8c5b","line":309,"in_reply_to":"aa715fb4_12c0f5a1","updated":"2022-02-10 21:20:03.000000000","message":"Done","commit_id":"2f9b7fe5b58cb9290dd1ee093f424a6172ab43c3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7fa528ecfcfb0559a969c4a224fb525a46d37dca","unresolved":true,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        server_a \u003d self.create_test_server("},{"line_number":298,"context_line":"            flavor\u003dflavor[\u0027id\u0027],"},{"line_number":299,"context_line":"            clients\u003dself.os_admin,"},{"line_number":300,"context_line":"            networks\u003d[{\u0027port\u0027: self.port_a[\u0027port\u0027][\u0027id\u0027]}],"},{"line_number":301,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027"},{"line_number":302,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"2d76d6a0_029bf654","line":299,"updated":"2022-02-04 23:01:22.000000000","message":"Why do we need the admin client here again?","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"bdb35c40104bcd325b1a35a48007928494e8063c","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        server_a \u003d self.create_test_server("},{"line_number":298,"context_line":"            flavor\u003dflavor[\u0027id\u0027],"},{"line_number":299,"context_line":"            clients\u003dself.os_admin,"},{"line_number":300,"context_line":"            networks\u003d[{\u0027port\u0027: self.port_a[\u0027port\u0027][\u0027id\u0027]}],"},{"line_number":301,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027"},{"line_number":302,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"e6102e8f_1bae5ac3","line":299,"in_reply_to":"2d76d6a0_029bf654","updated":"2022-02-04 23:11:12.000000000","message":"We don\u0027t for server_a since it\u0027s not using the host parameter I\u0027ll remove it.","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7fa528ecfcfb0559a969c4a224fb525a46d37dca","unresolved":true,"context_lines":[{"line_number":349,"context_line":"                interface_xml_element,"},{"line_number":350,"context_line":"                net_vlan)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        self.os_admin.servers_client.delete_server(server_a[\u0027id\u0027])"},{"line_number":353,"context_line":"        self.os_admin.servers_client.delete_server(server_b[\u0027id\u0027])"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    def test_sriov_affinity_required(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"288efac2_098d0385","line":352,"updated":"2022-02-04 23:01:22.000000000","message":"Do we still need these even we\u0027re not changing cpu_dedicated_set on the fly?","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"bdb35c40104bcd325b1a35a48007928494e8063c","unresolved":true,"context_lines":[{"line_number":349,"context_line":"                interface_xml_element,"},{"line_number":350,"context_line":"                net_vlan)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        self.os_admin.servers_client.delete_server(server_a[\u0027id\u0027])"},{"line_number":353,"context_line":"        self.os_admin.servers_client.delete_server(server_b[\u0027id\u0027])"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    def test_sriov_affinity_required(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ad559f9_5c2a83b0","line":352,"in_reply_to":"288efac2_098d0385","updated":"2022-02-04 23:11:12.000000000","message":"Yes only because tempest does not delete servers until after the entire class is finalized. For this specific instance the second numa_affinity required test would fail early because the instance from the preferred test was still ACTIVE and when the required test attempted to schedule server_a for it\u0027s own test method there would be no available hosts to schedule.  I also needed to change it to self.os_admin because due to the client changes \u0027self.delete_server\u0027 would execute but never actually delete the instance.  It also wouldn\u0027t fail the test even though the DELETE failed.","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7fa528ecfcfb0559a969c4a224fb525a46d37dca","unresolved":true,"context_lines":[{"line_number":384,"context_line":"        server_a \u003d self.create_test_server("},{"line_number":385,"context_line":"            flavor\u003dflavor[\u0027id\u0027],"},{"line_number":386,"context_line":"            networks\u003d[{\u0027port\u0027: self.port_a[\u0027port\u0027][\u0027id\u0027]}],"},{"line_number":387,"context_line":"            clients\u003dself.os_admin,"},{"line_number":388,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"        host \u003d self.get_host_for_server(server_a[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"d668fd9a_089a0279","line":387,"updated":"2022-02-04 23:01:22.000000000","message":"admin client?","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"bdb35c40104bcd325b1a35a48007928494e8063c","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        server_a \u003d self.create_test_server("},{"line_number":385,"context_line":"            flavor\u003dflavor[\u0027id\u0027],"},{"line_number":386,"context_line":"            networks\u003d[{\u0027port\u0027: self.port_a[\u0027port\u0027][\u0027id\u0027]}],"},{"line_number":387,"context_line":"            clients\u003dself.os_admin,"},{"line_number":388,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"        host \u003d self.get_host_for_server(server_a[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9be56829_48d7ad0f","line":387,"in_reply_to":"d668fd9a_089a0279","updated":"2022-02-04 23:11:12.000000000","message":"Same as before this can be removed.","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7fa528ecfcfb0559a969c4a224fb525a46d37dca","unresolved":true,"context_lines":[{"line_number":426,"context_line":"        )"},{"line_number":427,"context_line":"        self._validate_port_xml_vlan_tag(interface_xml_element, net_vlan)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        self.os_admin.servers_client.delete_server(server_a[\u0027id\u0027])"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"class SRIOVMigration(SRIOVBase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"160e740f_fd2f7fd5","line":429,"updated":"2022-02-04 23:01:22.000000000","message":"Ditto - re: server deletion?","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"bdb35c40104bcd325b1a35a48007928494e8063c","unresolved":true,"context_lines":[{"line_number":426,"context_line":"        )"},{"line_number":427,"context_line":"        self._validate_port_xml_vlan_tag(interface_xml_element, net_vlan)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        self.os_admin.servers_client.delete_server(server_a[\u0027id\u0027])"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"class SRIOVMigration(SRIOVBase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"551f5417_f2fe0061","line":429,"in_reply_to":"160e740f_fd2f7fd5","updated":"2022-02-04 23:11:12.000000000","message":"Similar idea as the NUMA affinity tests only this time the pci allocated count for the second serial test would always be 2 instead of the expected 1.  This is due to the previous server not being deleted yet so 2 pci devices have been correctly allocated. It\u0027s only when it\u0027s explicitly deleted, will the resources checks reflect accurately for each individual test, otherwise the cleanup is done after all class test methods are complete.","commit_id":"cb12533a76dadc7178b6f96b1c9ef421a50346c4"}]}
