)]}'
{"watcher/decision_engine/model/element/instance.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8866bab133622b2378e11ad3b5c95bb621151e76","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        \"disk\": wfields.IntegerField(),"},{"line_number":49,"context_line":"        \"disk_capacity\": wfields.NonNegativeIntegerField(),"},{"line_number":50,"context_line":"        \"vcpus\": wfields.NonNegativeIntegerField(),"},{"line_number":51,"context_line":"        \"metadata\": wfields.FlexibleDictField(),"},{"line_number":52,"context_line":"    }"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def accept(self, visitor):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_1251add8","line":51,"range":{"start_line":51,"start_character":28,"end_line":51,"end_character":45},"updated":"2017-03-21 10:54:36.000000000","message":"should be a JSON-ish field so it serializes correctly\n\nSince this is a \"complex\" type, can you make sure the tests in test_model.py (https://github.com/openstack/watcher/blob/master/watcher/tests/decision_engine/model/test_model.py#L46 ) still pass if you have a multi-level metadata structure in your metadata, like:\n\n    {\"level1\": \"test1\", \"top\": \"floor\", \"nested\": {\"level2\": \"test2\"}}","commit_id":"b41cd0c910be1c469bb23eec30fbb7afef60962c"}],"watcher/decision_engine/strategy/strategies/basic_consolidation.py":[{"author":{"_account_id":9392,"name":"Prashanth Hari","email":"hvprash@gmail.com","username":"hvprash"},"change_message_id":"07734a429cfc0818f5cd30e1d029bc192f8e5fa5","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            if optimize:"},{"line_number":400,"context_line":"                instances_to_migrate.append(instance)"},{"line_number":401,"context_line":"        return instances_to_migrate"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def node_and_instance_score(self, sorted_scores):"},{"line_number":404,"context_line":"        \"\"\"Get List of VMs from node\"\"\""},{"line_number":405,"context_line":"        node_to_release \u003d sorted_scores[len(sorted_scores) - 1][0]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_95aa636f","line":402,"updated":"2017-03-14 18:47:24.000000000","message":"Can we do this validation in the base strategy class ? So that we don\u0027t have to modify every strategies.","commit_id":"0606483ea65342472a096e7e3e1098d56249c721"}],"watcher/tests/decision_engine/model/data/scenario_1.xml":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8866bab133622b2378e11ad3b5c95bb621151e76","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cModelRoot\u003e"},{"line_number":2,"context_line":"  \u003cComputeNode human_id\u003d\"\" uuid\u003d\"Node_0\" status\u003d\"enabled\" state\u003d\"up\" id\u003d\"0\" hostname\u003d\"hostname_0\" vcpus\u003d\"40\" disk\u003d\"250\" disk_capacity\u003d\"250\" memory\u003d\"132\"\u003e"},{"line_number":3,"context_line":"    \u003cInstance state\u003d\"active\" human_id\u003d\"\" uuid\u003d\"INSTANCE_0\" vcpus\u003d\"10\" disk\u003d\"20\" disk_capacity\u003d\"20\" memory\u003d\"2\" metadata\u003d\"{\u0027optimize\u0027: \u0027True\u0027}\"/\u003e"},{"line_number":4,"context_line":"    \u003cInstance state\u003d\"active\" human_id\u003d\"\" uuid\u003d\"INSTANCE_1\" vcpus\u003d\"10\" disk\u003d\"20\" disk_capacity\u003d\"20\" memory\u003d\"2\" metadata\u003d\"{\u0027optimize\u0027: \u0027True\u0027}\"/\u003e"},{"line_number":5,"context_line":"  \u003c/ComputeNode\u003e"},{"line_number":6,"context_line":"  \u003cComputeNode human_id\u003d\"\" uuid\u003d\"Node_1\" status\u003d\"enabled\" state\u003d\"up\" id\u003d\"1\" hostname\u003d\"hostname_1\" vcpus\u003d\"40\" disk\u003d\"250\" disk_capacity\u003d\"250\" memory\u003d\"132\"\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"1a1ced50_723f4187","line":3,"range":{"start_line":3,"start_character":110,"end_line":3,"end_character":143},"updated":"2017-03-21 10:54:36.000000000","message":"this should be a valid JSON object","commit_id":"b41cd0c910be1c469bb23eec30fbb7afef60962c"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"4c0d05d699673d8bca5742a8ef5c75b5f4ddf61b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    \u003cInstance state\u003d\"active\" human_id\u003d\"\" uuid\u003d\"INSTANCE_1\" vcpus\u003d\"10\" disk\u003d\"20\" disk_capacity\u003d\"20\" memory\u003d\"2\" metadata\u003d\u0027{\"optimize\": \"True\",\"top\": \"floor\", \"nested\": {\"x\": \"y\"}}\u0027/\u003e"},{"line_number":5,"context_line":"  \u003c/ComputeNode\u003e"},{"line_number":6,"context_line":"  \u003cComputeNode human_id\u003d\"\" uuid\u003d\"Node_1\" status\u003d\"enabled\" state\u003d\"up\" id\u003d\"1\" hostname\u003d\"hostname_1\" vcpus\u003d\"40\" disk\u003d\"250\" disk_capacity\u003d\"250\" memory\u003d\"132\"\u003e"},{"line_number":7,"context_line":"    \u003cInstance state\u003d\"active\" human_id\u003d\"\" uuid\u003d\"INSTANCE_2\" vcpus\u003d\"10\" disk\u003d\"20\" disk_capacity\u003d\"20\" memory\u003d\"2\" metadata\u003d\u0027{\"optimize\": \"True\",\"top\": \"floor\", \"nested\": {\"x\": \"y\"}}\u0027/\u003e"},{"line_number":8,"context_line":"  \u003c/ComputeNode\u003e"},{"line_number":9,"context_line":"  \u003cComputeNode human_id\u003d\"\" uuid\u003d\"Node_2\" status\u003d\"enabled\" state\u003d\"up\" id\u003d\"2\" hostname\u003d\"hostname_2\" vcpus\u003d\"40\" disk\u003d\"250\" disk_capacity\u003d\"250\" memory\u003d\"132\"\u003e"},{"line_number":10,"context_line":"    \u003cInstance state\u003d\"active\" human_id\u003d\"\" uuid\u003d\"INSTANCE_3\" vcpus\u003d\"10\" disk\u003d\"20\" disk_capacity\u003d\"20\" memory\u003d\"2\" metadata\u003d\u0027{\"optimize\": \"True\",\"top\": \"floor\", \"nested\": {\"x\": \"y\"}}\u0027/\u003e"}],"source_content_type":"application/xml","patch_set":5,"id":"ffe62b97_399c0a5c","line":7,"range":{"start_line":7,"start_character":133,"end_line":7,"end_character":139},"updated":"2017-03-27 09:08:43.000000000","message":"shouldn\u0027t this be like:\n\n    \"optimize\": true","commit_id":"fa3fccfec2572710c86e4b056fd47439b19782c7"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8fe990797584064c0606e5c1f81b3067ab442071","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003cModelRoot\u003e"},{"line_number":2,"context_line":"  \u003cComputeNode human_id\u003d\"\" uuid\u003d\"Node_0\" status\u003d\"enabled\" state\u003d\"up\" id\u003d\"0\" hostname\u003d\"hostname_0\" vcpus\u003d\"40\" disk\u003d\"250\" disk_capacity\u003d\"250\" memory\u003d\"132\"\u003e"},{"line_number":3,"context_line":"    \u003cInstance state\u003d\"active\" human_id\u003d\"\" uuid\u003d\"INSTANCE_0\" vcpus\u003d\"10\" disk\u003d\"20\" disk_capacity\u003d\"20\" memory\u003d\"2\" metadata\u003d\u0027{\"optimize\": \"true\",\"top\": \"floor\", \"nested\": {\"x\": \"y\"}}\u0027/\u003e"},{"line_number":4,"context_line":"    \u003cInstance state\u003d\"active\" human_id\u003d\"\" uuid\u003d\"INSTANCE_1\" vcpus\u003d\"10\" disk\u003d\"20\" disk_capacity\u003d\"20\" memory\u003d\"2\" metadata\u003d\u0027{\"optimize\": \"true\",\"top\": \"floor\", \"nested\": {\"x\": \"y\"}}\u0027/\u003e"},{"line_number":5,"context_line":"  \u003c/ComputeNode\u003e"},{"line_number":6,"context_line":"  \u003cComputeNode human_id\u003d\"\" uuid\u003d\"Node_1\" status\u003d\"enabled\" state\u003d\"up\" id\u003d\"1\" hostname\u003d\"hostname_1\" vcpus\u003d\"40\" disk\u003d\"250\" disk_capacity\u003d\"250\" memory\u003d\"132\"\u003e"}],"source_content_type":"application/xml","patch_set":7,"id":"ffe62b97_3411afad","line":3,"range":{"start_line":3,"start_character":133,"end_line":3,"end_character":139},"updated":"2017-03-27 09:32:43.000000000","message":"You didn\u0027t get my last comment: my problem is that \"true\" is still a string instead of beeing a real JSON boolean.","commit_id":"6029a6242098bda545fde79b818c1c7fb726fe5b"}]}
