)]}'
{"watcher_tempest_plugin/tests/scenario/test_execute_workload_balancing.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"7ed672c2d2454624da20f685e7ee934a294126b0","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            if instance.get(\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027) !\u003d node:"},{"line_number":157,"context_line":"                self._migrate_server_to(instance[\u0027id\u0027], node)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _wait_for_measurements(self, metric, resource_uuids):"},{"line_number":160,"context_line":"        LOG.debug(\"Waiting for at least 1 measurement of type `%s` for %s\","},{"line_number":161,"context_line":"                  metric, resource_uuids)"},{"line_number":162,"context_line":"        for resource_uuid in resource_uuids:"},{"line_number":163,"context_line":"            last_hour \u003d ("},{"line_number":164,"context_line":"                datetime.datetime.utcnow() - datetime.timedelta(hours\u003d1)"},{"line_number":165,"context_line":"            ).isoformat()"},{"line_number":166,"context_line":"            query \u003d ["},{"line_number":167,"context_line":"                {\"field\": \"meter\", \"op\": \"eq\", \"value\": \"cpu_util\"},"},{"line_number":168,"context_line":"                {\"field\": \"resource_id\", \"op\": \"eq\", \"value\": resource_uuid},"},{"line_number":169,"context_line":"                {\"field\": \"timestamp\", \"op\": \"ge\", \"value\": last_hour}"},{"line_number":170,"context_line":"            ]"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"            def has_measurements(q):"},{"line_number":173,"context_line":"                LOG.debug(\"Waiting for at least 1 measurement for query %s\", q)"},{"line_number":174,"context_line":"                return bool(self.ceilometer.new_samples.list(q\u003dq, limit\u003d1))"},{"line_number":175,"context_line":"            try:"},{"line_number":176,"context_line":"                self.assertTrue(test.call_until_true("},{"line_number":177,"context_line":"                    func\u003dlambda: has_measurements(query),"},{"line_number":178,"context_line":"                    # 20 mn because 2 collect cycles of 10mn are needed"},{"line_number":179,"context_line":"                    # by default (with an extra 1mn error margin)"},{"line_number":180,"context_line":"                    duration\u003d21 * 60,"},{"line_number":181,"context_line":"                    sleep_for\u003d10"},{"line_number":182,"context_line":"                ))"},{"line_number":183,"context_line":"            except ValueError:"},{"line_number":184,"context_line":"                self.fail(\"No metrics available with query %s\", query)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def test_execute_workload_stabilization(self):"},{"line_number":187,"context_line":"        \"\"\"Execute an action plan using the workload_stabilization strategy\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a3c09a3_9e4ea994","line":184,"range":{"start_line":159,"start_character":0,"end_line":184,"end_character":70},"updated":"2017-01-16 11:03:36.000000000","message":"TODO: comment this out","commit_id":"8e80f1e08cca2e30a92c85b817223a209dadfdce"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"7ed672c2d2454624da20f685e7ee934a294126b0","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        self.addCleanup(self.rollback_compute_nodes_status)"},{"line_number":189,"context_line":"        instances \u003d self._create_one_instance_per_host()"},{"line_number":190,"context_line":"        self._pack_all_created_instances_on_one_host(instances)"},{"line_number":191,"context_line":"        self._wait_for_measurements("},{"line_number":192,"context_line":"            \"cpu_util\", [inst[\u0027id\u0027] for inst in instances])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        audit_parameters \u003d {"},{"line_number":195,"context_line":"            \"metrics\": [\"cpu_util\"],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a3c09a3_fe5fad3e","line":192,"range":{"start_line":191,"start_character":8,"end_line":192,"end_character":59},"updated":"2017-01-16 11:03:36.000000000","message":"ditto","commit_id":"8e80f1e08cca2e30a92c85b817223a209dadfdce"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"4f806df27ab5425ed7ba6cb885201da689fa9172","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            audit_template[\u0027uuid\u0027], parameters\u003daudit_parameters)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        try:"},{"line_number":178,"context_line":"            self.assertTrue(test.call_until_true("},{"line_number":179,"context_line":"                func\u003dfunctools.partial("},{"line_number":180,"context_line":"                    self.has_audit_finished, audit[\u0027uuid\u0027]),"},{"line_number":181,"context_line":"                duration\u003d600,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a1ced50_c1cf607d","line":178,"range":{"start_line":178,"start_character":28,"end_line":178,"end_character":32},"updated":"2017-03-20 20:16:42.000000000","message":"I was getting a test failure here:  \u0027module\u0027 object has no attribute \u0027call_until_true\u0027.  perhaps you want to `from tempest.lib.common.utils import test_utils` that is what test_execute_basic_optim does","commit_id":"066ddc0774ff08a11c5d53e3453af677cf6ed73d"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"b73c5f21b96eec9066d7caa83f3192dee51a7995","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        return [srv for srv in available_services"},{"line_number":74,"context_line":"                if srv.get(\u0027binary\u0027) \u003d\u003d \u0027nova-compute\u0027]"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _migrate_server_to(self, server_id, dest_host, volume_backed\u003dFalse):"},{"line_number":77,"context_line":"        kwargs \u003d dict()"},{"line_number":78,"context_line":"        kwargs[\u0027disk_over_commit\u0027] \u003d False"},{"line_number":79,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_0e79aaf6","line":76,"range":{"start_line":76,"start_character":8,"end_line":76,"end_character":26},"updated":"2017-03-20 18:03:20.000000000","message":"I don\u0027t see this getting called anywhere, is it still needed?","commit_id":"61ab2248e04a576909c356bd0809ec935bd65b70"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"b09e074a929cc9ad0c0a5b1090527d8855761508","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        return [srv for srv in available_services"},{"line_number":74,"context_line":"                if srv.get(\u0027binary\u0027) \u003d\u003d \u0027nova-compute\u0027]"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _migrate_server_to(self, server_id, dest_host, volume_backed\u003dFalse):"},{"line_number":77,"context_line":"        kwargs \u003d dict()"},{"line_number":78,"context_line":"        kwargs[\u0027disk_over_commit\u0027] \u003d False"},{"line_number":79,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."}],"source_content_type":"text/x-python","patch_set":9,"id":"ffe62b97_28c6f69b","line":76,"range":{"start_line":76,"start_character":8,"end_line":76,"end_character":26},"in_reply_to":"1a1ced50_0e79aaf6","updated":"2017-03-27 08:17:26.000000000","message":"see line 156","commit_id":"61ab2248e04a576909c356bd0809ec935bd65b70"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"29d17e9448334ee6e95f1792e78654122787cc79","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        return [srv for srv in available_services"},{"line_number":74,"context_line":"                if srv.get(\u0027binary\u0027) \u003d\u003d \u0027nova-compute\u0027]"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _migrate_server_to(self, server_id, dest_host, volume_backed\u003dFalse):"},{"line_number":77,"context_line":"        kwargs \u003d dict()"},{"line_number":78,"context_line":"        kwargs[\u0027disk_over_commit\u0027] \u003d False"},{"line_number":79,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."}],"source_content_type":"text/x-python","patch_set":9,"id":"ffe62b97_211ca8bf","line":76,"range":{"start_line":76,"start_character":8,"end_line":76,"end_character":26},"in_reply_to":"ffe62b97_28c6f69b","updated":"2017-03-27 22:00:55.000000000","message":"Done","commit_id":"61ab2248e04a576909c356bd0809ec935bd65b70"}]}
