)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"bcbe943ba54ece6d4c4782f23f80f6cc5cf63f22","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Obviously the scheduler code needs to be more robust also, but those"},{"line_number":54,"context_line":"improvements are left for separate changes related to the other bugs"},{"line_number":55,"context_line":"mentioned above."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Also, ComputeNode.update_from_virt_driver could be updated to set"},{"line_number":58,"context_line":"free_disk_gb if possible to workaround the tight coupling in the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_0056e12a","line":55,"updated":"2019-07-05 11:31:22.000000000","message":"Somewhat related: In the next few days I\u0027m going to start investigating cases where where _update_to_placement can fail during _update, after a workload has successfully landed, causing the workload to be rescheduled even though it worked, and even though the _update_to_placement is doing stuff that has mostly nothing to do with the workload.\n\n(As you can probably tell, I\u0027m the leading edge of even knowing there is an issue here, not what\u0027s really going on.)","commit_id":"e699d4ac29e5223bc4c5719c75eed81b9f1e8cb7"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"4902757df9fbe6e235cb1f851cde6d55710372a0","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"                # Restore the previous state in self.old_resources so that on"},{"line_number":1019,"context_line":"                # the next trip through here _resource_change does not have"},{"line_number":1020,"context_line":"                # stale data to compare."},{"line_number":1021,"context_line":"                with excutils.save_and_reraise_exception(logger\u003dLOG):"},{"line_number":1022,"context_line":"                    self.old_resources[nodename] \u003d old_compute"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"        self._update_to_placement(context, compute_node, startup)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_da5e9544","line":1021,"range":{"start_line":1021,"start_character":57,"end_line":1021,"end_character":67},"updated":"2019-07-03 21:29:55.000000000","message":"Haven\u0027t seen this before. Should we do this everywhere we call save_and_reraise_exception?","commit_id":"e699d4ac29e5223bc4c5719c75eed81b9f1e8cb7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"83bdc693494de3bf22245a05582602fbcbfabc7b","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"                # Restore the previous state in self.old_resources so that on"},{"line_number":1019,"context_line":"                # the next trip through here _resource_change does not have"},{"line_number":1020,"context_line":"                # stale data to compare."},{"line_number":1021,"context_line":"                with excutils.save_and_reraise_exception(logger\u003dLOG):"},{"line_number":1022,"context_line":"                    self.old_resources[nodename] \u003d old_compute"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"        self._update_to_placement(context, compute_node, startup)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_84dadee6","line":1021,"range":{"start_line":1021,"start_character":57,"end_line":1021,"end_character":67},"in_reply_to":"7faddb67_da5e9544","updated":"2019-07-05 18:45:16.000000000","message":"I\u0027m not sure if it\u0027s necessary but it\u0027s there so I use it.","commit_id":"e699d4ac29e5223bc4c5719c75eed81b9f1e8cb7"}],"nova/tests/unit/compute/test_resource_tracker.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"4902757df9fbe6e235cb1f851cde6d55710372a0","unresolved":false,"context_lines":[{"line_number":1583,"context_line":"    def test_update_compute_node_save_fails_restores_old_resources(self):"},{"line_number":1584,"context_line":"        \"\"\"Tests the scenario that compute_node.save() fails and the"},{"line_number":1585,"context_line":"        old_resources value for the node is restored to its previous value"},{"line_number":1586,"context_line":"        before calling _resource_change updated it."},{"line_number":1587,"context_line":"        \"\"\""},{"line_number":1588,"context_line":"        self._setup_rt()"},{"line_number":1589,"context_line":"        orig_compute \u003d _COMPUTE_NODE_FIXTURES[0].obj_clone()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_15f2be07","line":1586,"range":{"start_line":1586,"start_character":40,"end_line":1586,"end_character":47},"updated":"2019-07-03 21:29:55.000000000","message":"to update it?","commit_id":"e699d4ac29e5223bc4c5719c75eed81b9f1e8cb7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"83bdc693494de3bf22245a05582602fbcbfabc7b","unresolved":false,"context_lines":[{"line_number":1583,"context_line":"    def test_update_compute_node_save_fails_restores_old_resources(self):"},{"line_number":1584,"context_line":"        \"\"\"Tests the scenario that compute_node.save() fails and the"},{"line_number":1585,"context_line":"        old_resources value for the node is restored to its previous value"},{"line_number":1586,"context_line":"        before calling _resource_change updated it."},{"line_number":1587,"context_line":"        \"\"\""},{"line_number":1588,"context_line":"        self._setup_rt()"},{"line_number":1589,"context_line":"        orig_compute \u003d _COMPUTE_NODE_FIXTURES[0].obj_clone()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_04f02e67","line":1586,"range":{"start_line":1586,"start_character":40,"end_line":1586,"end_character":47},"in_reply_to":"7faddb67_15f2be07","updated":"2019-07-05 18:45:16.000000000","message":"No, meaning at t0 old_resources has some value x, then we call _resource_change which updates old_resources to have some value y, and this is testing that after the failure old_resources still has x.","commit_id":"e699d4ac29e5223bc4c5719c75eed81b9f1e8cb7"}]}
