)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fc83acac1c66f716615284d707a84d7b27c2888e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cd5b684b_cd36eb5a","updated":"2023-10-06 17:53:51.000000000","message":"Not done yet, just showing my work","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"34d57aa15fff6e18401bc4938456a87ae6c8d613","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0e167cb9_f1a74083","updated":"2023-10-06 21:16:02.000000000","message":"Hmm, this works for me, but perhaps not however our guests are configured by the host clouds:\n\nOct 06 20:08:43.195137 np0035436890 nova-compute[104711]: ERROR oslo_service.service nova.exception.FileNotFound: File /sys/devices/system/cpu/cpu0/online could not be found.","commit_id":"1bb0a0cc9e12a06e7d0b608003e4d7e0ba5bc8b3"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b1df2d03ce6e8dec88e3cb396e5a46595dca51a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6d920224_6b184e0f","in_reply_to":"0e167cb9_f1a74083","updated":"2023-10-09 14:12:54.000000000","message":"Oh nevermind, I bet this is because we have cpu zero in our dedicated set.","commit_id":"1bb0a0cc9e12a06e7d0b608003e4d7e0ba5bc8b3"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"59fe345d945a34110a75ebbea77a0a6903a497fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"02f8f21e_3472a721","updated":"2023-10-09 19:01:16.000000000","message":"Apologies for the noise, my devstack machine is busy in a different config today","commit_id":"80e15e4f5dbfe5da5cdc89132cfe3fa3554d149e"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"747ac15e6b9961ff7d01fe586ff65a4d8d202e57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"c0aecdbd_97e77cf9","updated":"2023-10-09 23:41:42.000000000","message":"recheck my test passed, but not sure if the failure is fallout or not","commit_id":"49c8c7c3db89379ab6389afe0eeddd693c1b9209"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fc6a6dec7cc555ab038624ea66fec7016303a3a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"472dfa47_4a9b8049","updated":"2023-10-16 14:08:10.000000000","message":"Is this good to go, or is there anything else?","commit_id":"bc41316adb3bbede393f1e6c6f3a7fc3b2bc9e32"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"569f7f117d1ec4d396d7134ddfbd45b811155746","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"093f364c_1f2cc09d","updated":"2023-10-16 17:23:26.000000000","message":"Let\u0027s just get rid of the introspection, and then LGTM","commit_id":"bc41316adb3bbede393f1e6c6f3a7fc3b2bc9e32"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"db24cf75101a0958f44d1b2eaf750f8a71a335c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"9bc077f5_02a34993","updated":"2023-10-16 20:05:54.000000000","message":"recheck ceph failed to... install?","commit_id":"5fff0da47a5f446ef5a36d05c432dd5886dd5e37"}],"devstack/settings":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"cfe1d67d3ce29967677ef7be9758281f68134114","unresolved":true,"context_lines":[{"line_number":17,"context_line":"WHITEBOX_LIBVIRT_UNMASK_COMMAND\u003d${WHITEBOX_LIBVIRT_UNMASK_COMMAND:-\u0027systemctl unmask libvirtd\u0027}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"WHITEBOX_CPU_TOPOLOGY\u003d${WHITEBOX_CPU_TOPOLOGY:-\u0027\u0027}"},{"line_number":20,"context_line":"WHITEBOX_DEDICATED_CPUS_PER_NUMA\u003d${WHITEBOX_DEDICATED_CPUS_PER_NUMA:-4}"},{"line_number":21,"context_line":"WHITEBOX_SHARED_CPUS_PER_NUMA\u003d${WHITEBOX_SHARED_CPUS_PER_NUMA:-2}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"COMPUTE_FEATURE_VIRTIO_RNG\u003d${COMPUTE_FEATURE_VIRTIO_RNG:-\u0027True\u0027}"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"43cb94d1_45c63513","line":20,"updated":"2023-10-10 18:43:47.000000000","message":"So this would need to get dropped down to 3, and really now that I think about it it should not be a devstack default, it should be set in zuul.yaml because that\u0027s where we set the cpu_dedicated_set","commit_id":"b836a0aa290aa4d2c41620708ad54212de7868bc"}],"whitebox_tempest_plugin/api/compute/test_cpu_pinning.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"cfe1d67d3ce29967677ef7be9758281f68134114","unresolved":true,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"class CPUPolicyTest(BasePinningTest):"},{"line_number":126,"context_line":"    \"\"\"Validate CPU policy support.\"\"\""},{"line_number":127,"context_line":"    vcpus \u003d 2"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def test_cpu_shared(self):"},{"line_number":130,"context_line":"        \"\"\"Ensure an instance with an explicit \u0027shared\u0027 policy work.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"18429171_fd7b4cbd","line":127,"updated":"2023-10-10 18:43:47.000000000","message":"This would need to be dropped down to 1, because currently this assumes 4 dedicated CPUs (2 per VM). And really it should be a deployment-configurable...","commit_id":"b836a0aa290aa4d2c41620708ad54212de7868bc"}],"whitebox_tempest_plugin/api/compute/test_cpu_state_mgmt.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ba9632f184df913ab4c3bd4228a4380b4365d38a","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestCPUStateMgmt(base.BaseWhiteboxComputeTest):"},{"line_number":21,"context_line":"    \"\"\"Test the support of file backed memory in resize"},{"line_number":22,"context_line":"    and live migration testcase with validating the memory"},{"line_number":23,"context_line":"    backed source type and access mode of an instance"},{"line_number":24,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"fe81e827_df114cde","line":21,"updated":"2023-10-06 18:21:33.000000000","message":"Copy/paste cleanup needed :)","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6d945fabbf4345c18918571b685bf9d78ab89672","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestCPUStateMgmt(base.BaseWhiteboxComputeTest):"},{"line_number":21,"context_line":"    \"\"\"Test the support of file backed memory in resize"},{"line_number":22,"context_line":"    and live migration testcase with validating the memory"},{"line_number":23,"context_line":"    backed source type and access mode of an instance"},{"line_number":24,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc6cb86_fdd3a249","line":21,"in_reply_to":"a9eec46d_1cd1cb2b","updated":"2023-10-06 19:19:50.000000000","message":"Done","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ae555f3c577477889d748d5855b3137f4c1ff569","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestCPUStateMgmt(base.BaseWhiteboxComputeTest):"},{"line_number":21,"context_line":"    \"\"\"Test the support of file backed memory in resize"},{"line_number":22,"context_line":"    and live migration testcase with validating the memory"},{"line_number":23,"context_line":"    backed source type and access mode of an instance"},{"line_number":24,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"a9eec46d_1cd1cb2b","line":21,"in_reply_to":"fe81e827_df114cde","updated":"2023-10-06 18:31:33.000000000","message":"No idea what you\u0027re talking about :)","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ba9632f184df913ab4c3bd4228a4380b4365d38a","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    and live migration testcase with validating the memory"},{"line_number":23,"context_line":"    backed source type and access mode of an instance"},{"line_number":24,"context_line":"    \"\"\""},{"line_number":25,"context_line":"    min_microversion \u003d \u00272.25\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"6ee35720_67805035","line":25,"updated":"2023-10-06 18:21:33.000000000","message":"This will have to get bumped to whatever min microversion can serve as a proxy of CPU state management existing in Nova. If no such microversion exists, we can add a new item in the compute-features-enabled conf option to gate this whole test class on.","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ae555f3c577477889d748d5855b3137f4c1ff569","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    and live migration testcase with validating the memory"},{"line_number":23,"context_line":"    backed source type and access mode of an instance"},{"line_number":24,"context_line":"    \"\"\""},{"line_number":25,"context_line":"    min_microversion \u003d \u00272.25\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"dc7a5f66_556d478a","line":25,"in_reply_to":"6ee35720_67805035","updated":"2023-10-06 18:31:33.000000000","message":"Already changed locally to something newer, but yeah.","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6d945fabbf4345c18918571b685bf9d78ab89672","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    and live migration testcase with validating the memory"},{"line_number":23,"context_line":"    backed source type and access mode of an instance"},{"line_number":24,"context_line":"    \"\"\""},{"line_number":25,"context_line":"    min_microversion \u003d \u00272.25\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"d41765d8_20e82fd5","line":25,"in_reply_to":"dc7a5f66_556d478a","updated":"2023-10-06 19:19:50.000000000","message":"Done","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ba9632f184df913ab4c3bd4228a4380b4365d38a","unresolved":true,"context_lines":[{"line_number":68,"context_line":"        sm \u003d clients.NovaServiceManager(host, \u0027nova-compute\u0027,"},{"line_number":69,"context_line":"                                        self.os_admin.services_client)"},{"line_number":70,"context_line":"        with sm.config_options("},{"line_number":71,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":72,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":73,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":74,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"}],"source_content_type":"text/x-python","patch_set":1,"id":"547c97c3_9e1ffd24","line":71,"updated":"2023-10-06 18:21:33.000000000","message":"So I wonder - if we turn these all on in our Zuul job, would the test become easier/better if we can assume they\u0027ve been set for us? Or would be want to test different strategies, so we do it dynamically?\n\nThe other option, if we want to be more declarative, is to set one strategy per host in our Zuul config. We\u0027re lucky in that our \"default\" job is multihost with an allinone and a compute, so if we ever add a third strategy we\u0027re screwed... If we do end up going down this route, we can have a config option that tells us which host is which, and that can proxy as this feature being available (see comment on L25)","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ae555f3c577477889d748d5855b3137f4c1ff569","unresolved":true,"context_lines":[{"line_number":68,"context_line":"        sm \u003d clients.NovaServiceManager(host, \u0027nova-compute\u0027,"},{"line_number":69,"context_line":"                                        self.os_admin.services_client)"},{"line_number":70,"context_line":"        with sm.config_options("},{"line_number":71,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":72,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":73,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":74,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"}],"source_content_type":"text/x-python","patch_set":1,"id":"d9ab5a37_b4223a01","line":71,"in_reply_to":"547c97c3_9e1ffd24","updated":"2023-10-06 18:31:33.000000000","message":"The less we have to have pre-set for us in tests like this, or complex config that has to be set right, the better, IMHO. If it\u0027s something we really can\u0027t do, then that\u0027s fine. But switching it ourselves here means that this will just run on most everything someone can point it at, which I think means it\u0027s more likely to be exercised. This test works with one or ten nodes already.\n\nAlso, if you notice, this is checking that startup behavior is correct. Meaning, all cpus are enabled, then we start nova in \"manage my cpus mode\" and we see that it offlines the dedicated ones as it should. It also made me realize that we\u0027re not onlining those CPUs when we shut down nova-compute, which most people would probably want and which makes it harder to repeat-run this test. I wouldn\u0027t have realized that if it was just already set enabled for me :)","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6d945fabbf4345c18918571b685bf9d78ab89672","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        sm \u003d clients.NovaServiceManager(host, \u0027nova-compute\u0027,"},{"line_number":69,"context_line":"                                        self.os_admin.services_client)"},{"line_number":70,"context_line":"        with sm.config_options("},{"line_number":71,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":72,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":73,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":74,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1b7fde4d_3eeeaf3a","line":71,"in_reply_to":"764eeb03_2ce38ff5","updated":"2023-10-06 19:19:50.000000000","message":"Done","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"fc99ff50f4ff4c418e80a081442af47900e8d5f5","unresolved":true,"context_lines":[{"line_number":68,"context_line":"        sm \u003d clients.NovaServiceManager(host, \u0027nova-compute\u0027,"},{"line_number":69,"context_line":"                                        self.os_admin.services_client)"},{"line_number":70,"context_line":"        with sm.config_options("},{"line_number":71,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":72,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":73,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":74,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"}],"source_content_type":"text/x-python","patch_set":1,"id":"764eeb03_2ce38ff5","line":71,"in_reply_to":"d9ab5a37_b4223a01","updated":"2023-10-06 18:42:54.000000000","message":"Good points on the startup/cleanup behaviour.","commit_id":"12953ddc84a73f68a85d948ffbf0b42db5cca77b"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"fc99ff50f4ff4c418e80a081442af47900e8d5f5","unresolved":true,"context_lines":[{"line_number":92,"context_line":"        with sm.config_options("},{"line_number":93,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":94,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":95,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":96,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"},{"line_number":97,"context_line":"                                            sysfsclient)"},{"line_number":98,"context_line":"            self._assert_cpu_onlined_guest(host, dedicated_cpu, sysfsclient)"}],"source_content_type":"text/x-python","patch_set":2,"id":"6edbfc8d_cf6f8fd8","line":95,"updated":"2023-10-06 18:42:54.000000000","message":"We\u0027ll wait for CI to run - but we actually set this on both hosts via Zuul, so I\u0027m worried changing cpu_dedicated_set on the fly might cause issues with resource tracking. It\u0027s the reason we converted to just setting them outright. Would this test continue to work if you were to consume the existing cpu_dedicated_set value?","commit_id":"ce96e4a100703fb551450056034a86d424daec0a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c6e1e1b46718eb9fa9d1e806fed2376143f1b35d","unresolved":true,"context_lines":[{"line_number":92,"context_line":"        with sm.config_options("},{"line_number":93,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":94,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":95,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":96,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"},{"line_number":97,"context_line":"                                            sysfsclient)"},{"line_number":98,"context_line":"            self._assert_cpu_onlined_guest(host, dedicated_cpu, sysfsclient)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9030df8c_51815a5b","line":95,"in_reply_to":"6edbfc8d_cf6f8fd8","updated":"2023-10-06 18:45:08.000000000","message":"Ah, okay, fair point. Yeah, I just need to do more complex detection of \"is this one of the dedicated ones\" in that case. It\u0027s just simpler to snip one off the end and know it\u0027s going to be that one. It still seems like it should be okay since we (shouldn\u0027t, right?) have any instances in place when we make the switch.","commit_id":"ce96e4a100703fb551450056034a86d424daec0a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"bc0b6c96b9ec10cb75ca7dcb256b9b7192522629","unresolved":true,"context_lines":[{"line_number":92,"context_line":"        with sm.config_options("},{"line_number":93,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":94,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":95,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":96,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"},{"line_number":97,"context_line":"                                            sysfsclient)"},{"line_number":98,"context_line":"            self._assert_cpu_onlined_guest(host, dedicated_cpu, sysfsclient)"}],"source_content_type":"text/x-python","patch_set":2,"id":"a27f6a30_fd102aaa","line":95,"in_reply_to":"9030df8c_51815a5b","updated":"2023-10-06 18:52:50.000000000","message":"Right, maybe we were being sloppy with cleanup before (or more precisely, misunderstanding the class cleanup mechanics and leaving instances running, we\u0027re now doing proper per-test cleanup), and that this dynamic config changes will work fine.\n\nIn case you do decide to change, there\u0027s a helper that can get the cpu_dedicated_set value for you.","commit_id":"ce96e4a100703fb551450056034a86d424daec0a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1bb1d012a95c75fabd85abfae9d27c4f6463db6e","unresolved":true,"context_lines":[{"line_number":92,"context_line":"        with sm.config_options("},{"line_number":93,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":94,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":95,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":96,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"},{"line_number":97,"context_line":"                                            sysfsclient)"},{"line_number":98,"context_line":"            self._assert_cpu_onlined_guest(host, dedicated_cpu, sysfsclient)"}],"source_content_type":"text/x-python","patch_set":2,"id":"de851918_4de7e69b","line":95,"in_reply_to":"a27f6a30_fd102aaa","updated":"2023-10-06 18:56:11.000000000","message":"\u003e In case you do decide to change, there\u0027s a helper that can get the cpu_dedicated_set value for you.\n\nYep, working on it.","commit_id":"ce96e4a100703fb551450056034a86d424daec0a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6d945fabbf4345c18918571b685bf9d78ab89672","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        with sm.config_options("},{"line_number":93,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":94,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027),"},{"line_number":95,"context_line":"                (\u0027compute\u0027, \u0027cpu_dedicated_set\u0027, \u0027%i\u0027 % dedicated_cpu)):"},{"line_number":96,"context_line":"            self._assert_cpus_initial_state(host, other_cpus, dedicated_cpu,"},{"line_number":97,"context_line":"                                            sysfsclient)"},{"line_number":98,"context_line":"            self._assert_cpu_onlined_guest(host, dedicated_cpu, sysfsclient)"}],"source_content_type":"text/x-python","patch_set":2,"id":"77ca62ce_4ae1cbdf","line":95,"in_reply_to":"de851918_4de7e69b","updated":"2023-10-06 19:19:50.000000000","message":"Done","commit_id":"ce96e4a100703fb551450056034a86d424daec0a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"569f7f117d1ec4d396d7134ddfbd45b811155746","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        opts \u003d [(\u0027libvirt\u0027, \u0027cpu_power_management\u0027, \u0027True\u0027),"},{"line_number":94,"context_line":"                (\u0027libvirt\u0027, \u0027cpu_power_management_strategy\u0027, \u0027cpu_state\u0027)]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        if not dedicated_cpus:"},{"line_number":97,"context_line":"            # If we are not configured for dedicated CPUs, pick the last CPU"},{"line_number":98,"context_line":"            # to make dedicated/managed so we can do the needful."},{"line_number":99,"context_line":"            host_cpus \u003d sysfsclient.get_sysfs_value("}],"source_content_type":"text/x-python","patch_set":19,"id":"bc1a3eb4_d02f4b04","line":96,"updated":"2023-10-16 17:23:26.000000000","message":"We can lose this whole block - I understand why you did this, and we should really be documenting whitebox\u0027s assumption about where it\u0027s deployed better, but we try to avoid introspection wherever we can help it.","commit_id":"bc41316adb3bbede393f1e6c6f3a7fc3b2bc9e32"}],"whitebox_tempest_plugin/services/clients.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"bc0b6c96b9ec10cb75ca7dcb256b9b7192522629","unresolved":true,"context_lines":[{"line_number":249,"context_line":"        shared_set \u003d self.get_conf_opt(\u0027compute\u0027, \u0027cpu_shared_set\u0027)"},{"line_number":250,"context_line":"        return hardware.parse_cpu_spec(shared_set)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def get_cpu_dedicated_set(self):"},{"line_number":253,"context_line":"        dedicated_set \u003d self.get_conf_opt(\u0027compute\u0027, \u0027cpu_dedicated_set\u0027)"},{"line_number":254,"context_line":"        dedicated_set \u003d (dedicated_set if dedicated_set is not None else"},{"line_number":255,"context_line":"                         self.get_conf_opt(\u0027DEFAULT\u0027, \u0027vcpu_pin_set\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"0548bb00_b7395315","line":252,"updated":"2023-10-06 18:52:50.000000000","message":"Here\u0027s the helper","commit_id":"ce96e4a100703fb551450056034a86d424daec0a"}]}
