)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"f7842fdc21293a474aeef50ada3d4699907f4318","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"56ba4164_85bac81f","updated":"2025-06-19 12:02:20.000000000","message":"recheck","commit_id":"007b212491e6a41e211a3ea63edbd1f3786a1f6a"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"de6920bf43f6ef4a1c45f225cae611024bc55a68","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"be85bf53_2aedf64c","updated":"2025-06-20 08:33:52.000000000","message":"I think this makes the tests quite simpler to understand, thanks! I left a tiny nit, but I think it only makes sense to fix if you have to update the patch for some other reason","commit_id":"a59602a5c3b91df0a5885c13e579b76066c0ffa0"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"49103373005651f2bfe1a9708499e9670f066291","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c58bb381_671ef09b","updated":"2025-06-20 08:25:05.000000000","message":"Thanks for this, I think this is an improvement and clarifies the approach for future tests.","commit_id":"a59602a5c3b91df0a5885c13e579b76066c0ffa0"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"082e796f2a39b09d4a3cf256ed13bc51414d458a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ff9887f3_a779195a","updated":"2025-06-20 17:08:52.000000000","message":"lgtm, thanks for the hard work here David.\n+2: it simplifies the usage of internal resource creation methods and tests more readable wrt to resources setup before executing the strategy.","commit_id":"6b02184cd954373d376942b467fe82db2e8062a4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cb7472004c8f514446afe25f636a05b520e28e6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a5766c1e_a41aaf2f","updated":"2025-06-20 17:24:43.000000000","message":"there are a couple of nits inline but we can proceed with this as is and impove in followups","commit_id":"6b02184cd954373d376942b467fe82db2e8062a4"}],"watcher_tempest_plugin/tests/scenario/base.py":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"de6920bf43f6ef4a1c45f225cae611024bc55a68","unresolved":true,"context_lines":[{"line_number":261,"context_line":"        self.assertEqual(target_host, server_host, msg)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _create_one_instance_per_host(self, run_command\u003dNone):"},{"line_number":264,"context_line":"        \"\"\"Create instance per compute node"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        This goes up to the min_compute_nodes threshold so that things don\u0027t"},{"line_number":267,"context_line":"        get crazy if you have 1000 compute nodes but set min to 3."}],"source_content_type":"text/x-python","patch_set":5,"id":"5377d5c8_1de7ddc2","line":264,"updated":"2025-06-20 08:33:52.000000000","message":"tiny nit for clarity, only in case you need to push another patchset \n```suggestion\n        \"\"\"Create one instance per compute node\n```","commit_id":"a59602a5c3b91df0a5885c13e579b76066c0ffa0"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"a1c04c713e2c4646cd34f07eff58b43277a72443","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        self.assertEqual(target_host, server_host, msg)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _create_one_instance_per_host(self, run_command\u003dNone):"},{"line_number":264,"context_line":"        \"\"\"Create instance per compute node"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        This goes up to the min_compute_nodes threshold so that things don\u0027t"},{"line_number":267,"context_line":"        get crazy if you have 1000 compute nodes but set min to 3."}],"source_content_type":"text/x-python","patch_set":5,"id":"cd8c05a4_173b1933","line":264,"in_reply_to":"5377d5c8_1de7ddc2","updated":"2025-06-20 08:45:39.000000000","message":"Done","commit_id":"a59602a5c3b91df0a5885c13e579b76066c0ffa0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cb7472004c8f514446afe25f636a05b520e28e6e","unresolved":true,"context_lines":[{"line_number":19,"context_line":"import base64"},{"line_number":20,"context_line":"import functools"},{"line_number":21,"context_line":"import json"},{"line_number":22,"context_line":"import os_traits"},{"line_number":23,"context_line":"import random"},{"line_number":24,"context_line":"import textwrap"},{"line_number":25,"context_line":"import time"}],"source_content_type":"text/x-python","patch_set":7,"id":"892f290c_137637b7","line":22,"updated":"2025-06-20 17:24:43.000000000","message":"nit: we shoudl fix this laer but this was in the wrong place before and its stilll in the wrong place\n\nwe are ment ot have 4 groups \n```\nstd lib\n\nexternal packages\n\nother openstack packages\n\nmodules form this repo\n```\n\neach subgroup shoudl be split between \n\nimports and from imports.","commit_id":"6b02184cd954373d376942b467fe82db2e8062a4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cb7472004c8f514446afe25f636a05b520e28e6e","unresolved":true,"context_lines":[{"line_number":328,"context_line":"            script_b64 \u003d base64.b64encode(script_clean)"},{"line_number":329,"context_line":"            kwargs_server[\u0027user_data\u0027] \u003d script_b64"},{"line_number":330,"context_line":"        instance \u003d self.create_server("},{"line_number":331,"context_line":"            image_id\u003dCONF.compute.image_ref, wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":332,"context_line":"            clients\u003dself.os_admin, validatable\u003dvalidatable,"},{"line_number":333,"context_line":"            validation_resources\u003dvalidation_resources,"},{"line_number":334,"context_line":"            **kwargs_server)"}],"source_content_type":"text/x-python","patch_set":7,"id":"55b8cb8e_7f26c19a","line":331,"range":{"start_line":331,"start_character":57,"end_line":331,"end_character":63},"updated":"2025-06-20 17:24:43.000000000","message":"we shoudl actully be using `SSHABLE` here\n\n\ncan you fix this in a follow up","commit_id":"6b02184cd954373d376942b467fe82db2e8062a4"}],"watcher_tempest_plugin/tests/scenario/test_execute_actuator.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cb7472004c8f514446afe25f636a05b520e28e6e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        source_node \u003d self.get_host_for_server(created_instances[0][\u0027id\u0027])"},{"line_number":89,"context_line":"        destination_node \u003d self.get_host_other_than(created_instances[0][\u0027id\u0027])"},{"line_number":90,"context_line":"        for instance in created_instances:"},{"line_number":91,"context_line":"            self.make_instance_statistic(instance)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        parameters \u003d {"},{"line_number":94,"context_line":"            \"resource_id\": created_instances[0][\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"889839ed_de102956","line":91,"updated":"2025-06-20 17:24:43.000000000","message":"+1","commit_id":"6b02184cd954373d376942b467fe82db2e8062a4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cb7472004c8f514446afe25f636a05b520e28e6e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        # This test requires metrics injection"},{"line_number":104,"context_line":"        created_instances \u003d self._create_one_instance_per_host()"},{"line_number":105,"context_line":"        for instance in created_instances:"},{"line_number":106,"context_line":"            self.make_instance_statistic(instance)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        instance \u003d created_instances[0]"},{"line_number":109,"context_line":"        current_flavor_name \u003d instance[\u0027flavor\u0027][\u0027original_name\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a624cb8_698c22ea","line":106,"updated":"2025-06-20 17:24:43.000000000","message":"+1\n\nthis is much cleaner.","commit_id":"6b02184cd954373d376942b467fe82db2e8062a4"}],"watcher_tempest_plugin/tests/scenario/test_execute_strategies.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"082e796f2a39b09d4a3cf256ed13bc51414d458a","unresolved":true,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        self.addCleanup(self.rollback_compute_nodes_status)"},{"line_number":133,"context_line":"        self.addCleanup(self.wait_delete_instances_from_model)"},{"line_number":134,"context_line":"        host \u003d self.get_enabled_compute_nodes()[0][\u0027host\u0027]"},{"line_number":135,"context_line":"        instances \u003d []"},{"line_number":136,"context_line":"        for _ in range(2):"},{"line_number":137,"context_line":"            instance \u003d self._create_instance(host\u003dhost)"},{"line_number":138,"context_line":"            instances.append(instance)"},{"line_number":139,"context_line":"        # wait for compute model updates"},{"line_number":140,"context_line":"        self.wait_for_instances_in_model(instances)"},{"line_number":141,"context_line":"        self.make_host_statistic(loaded_hosts\u003d[host])"},{"line_number":142,"context_line":"        for instance in instances:"},{"line_number":143,"context_line":"            self.make_instance_statistic(instance)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        audit_parameters \u003d {"},{"line_number":146,"context_line":"            \"metrics\": [\"instance_cpu_usage\"],"}],"source_content_type":"text/x-python","patch_set":7,"id":"d86b3094_1875b708","line":143,"range":{"start_line":134,"start_character":7,"end_line":143,"end_character":50},"updated":"2025-06-20 17:08:52.000000000","message":"+1\nif we compare with previous code:\n1) it is more clear which resources and metrics are needed for this test.\n2) We don\u0027t need to migrate instances from one node to another, just to have 2 instances in the same host.","commit_id":"6b02184cd954373d376942b467fe82db2e8062a4"}]}
