)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"5d2ce0b7fbc951d2e87bd3fe912f26faaa8ada11","unresolved":false,"context_lines":[{"line_number":20,"context_line":"This updates the model API version to 2 due to the new event. As this"},{"line_number":21,"context_line":"change only affects the schedulers we extended the API for getting the"},{"line_number":22,"context_line":"minimum model API version to allow filtering for a specific component"},{"line_number":23,"context_line":"type."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Id390ddd95b27c3fabda14c07a524a1c6f71ef72f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1590aa03_fd3acd5c","line":23,"updated":"2022-02-08 16:15:19.000000000","message":"I would rather not do this.  I think there is a significant risk of error by setting this, and it will be very hard for developers and operators to follow.  We will be emitting log lines saying that the cluster is at a certain API level but the behavior of individual components will not be at that API level because they aren\u0027t looking at the whole cluster.  There may be dependencies between some of our migrations which would get even more complicated if we can\u0027t assume the whole cluster is behaving consistently.","commit_id":"6004ab9840ee40a6c1c935ededf3938a4f36229e"},{"author":{"_account_id":27582,"name":"Simon Westphahl","email":"simon.westphahl@bmw.de","username":"simon.westphahl"},"change_message_id":"6d097fa1f623f985bf93a63ca4a7b1b5eaecce1c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"This updates the model API version to 2 due to the new event. As this"},{"line_number":21,"context_line":"change only affects the schedulers we extended the API for getting the"},{"line_number":22,"context_line":"minimum model API version to allow filtering for a specific component"},{"line_number":23,"context_line":"type."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Id390ddd95b27c3fabda14c07a524a1c6f71ef72f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7eedb2cc_c6933a03","line":23,"in_reply_to":"1590aa03_fd3acd5c","updated":"2022-02-08 18:18:02.000000000","message":"ack","commit_id":"6004ab9840ee40a6c1c935ededf3938a4f36229e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"4b25386dbdf496eded21a112fc1b8d03630f4592","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"375cf429_2206e4ca","updated":"2022-02-08 21:40:03.000000000","message":"I think this change has the same general concern of the parent change. We need some way of communicating the upgrade path so that people don\u0027t jump too far ahead and avoid compatibility code that they may need. However, in this case we may be able to work around that more gracefully simply ignoring events we don\u0027t understand in the manager event queue?","commit_id":"b9a6b4dc32ef04700aea8211506752ac2fbf8450"}],"tests/unit/test_model_upgrade.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"4b25386dbdf496eded21a112fc1b8d03630f4592","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        self.waitUntilSettled()"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        self.assertEqual(len(self.builds), 1)"},{"line_number":81,"context_line":"        self.assertEqual(self.builds[0].name, \u0027test-job\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        A.addApproval(\u0027Code-Review\u0027, 2)"},{"line_number":84,"context_line":"        self.fake_gerrit.addEvent(A.addApproval(\u0027Approved\u0027, 1))"}],"source_content_type":"text/x-python","patch_set":4,"id":"2d4579e2_97316f47","line":81,"updated":"2022-02-08 21:40:03.000000000","message":"Why not assert the build pipeline is check here before the approval? I think that may be good if we need to assert the gate pipeline below.","commit_id":"b9a6b4dc32ef04700aea8211506752ac2fbf8450"}],"zuul/manager/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"8c5cf266e0354b1a0ee22ad47da4268efa46a1c5","unresolved":false,"context_lines":[{"line_number":719,"context_line":"            if not other_pipeline:"},{"line_number":720,"context_line":"                continue"},{"line_number":721,"context_line":""},{"line_number":722,"context_line":"            model_api \u003d self.sched.component_registry.getMinimumModelApi()"},{"line_number":723,"context_line":"            # MODEL_API: \u003e1"},{"line_number":724,"context_line":"            if model_api \u003e 1:"},{"line_number":725,"context_line":"                event \u003d model.SupercedeEvent("}],"source_content_type":"text/x-python","patch_set":2,"id":"d4c1eebd_4005a891","line":722,"updated":"2022-02-08 17:29:43.000000000","message":"You can just do: registry.model_api","commit_id":"b04cef69aa6a2786ad2e34c398e4dc8c94fb03d0"},{"author":{"_account_id":27582,"name":"Simon Westphahl","email":"simon.westphahl@bmw.de","username":"simon.westphahl"},"change_message_id":"6d097fa1f623f985bf93a63ca4a7b1b5eaecce1c","unresolved":false,"context_lines":[{"line_number":719,"context_line":"            if not other_pipeline:"},{"line_number":720,"context_line":"                continue"},{"line_number":721,"context_line":""},{"line_number":722,"context_line":"            model_api \u003d self.sched.component_registry.getMinimumModelApi()"},{"line_number":723,"context_line":"            # MODEL_API: \u003e1"},{"line_number":724,"context_line":"            if model_api \u003e 1:"},{"line_number":725,"context_line":"                event \u003d model.SupercedeEvent("}],"source_content_type":"text/x-python","patch_set":2,"id":"55c548ec_9abf67f8","line":722,"in_reply_to":"d4c1eebd_4005a891","updated":"2022-02-08 18:18:02.000000000","message":"makes sense. thanks for fixing that!","commit_id":"b04cef69aa6a2786ad2e34c398e4dc8c94fb03d0"}],"zuul/zk/event_queues.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"8c5cf266e0354b1a0ee22ad47da4268efa46a1c5","unresolved":false,"context_lines":[{"line_number":734,"context_line":"            \"event_data\": event.toDict(),"},{"line_number":735,"context_line":"            \"driver_name\": None,"},{"line_number":736,"context_line":"        }"},{"line_number":737,"context_line":"        self._put(data)"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"    def __iter__(self):"},{"line_number":740,"context_line":"        for data, ack_ref, _ in self._iterEvents():"}],"source_content_type":"text/x-python","patch_set":2,"id":"ed967f92_9b777f70","line":737,"updated":"2022-02-08 17:29:43.000000000","message":"Another way of doing this would be to use the Zuul driver.  We\u0027d still need the change in scheduler.py, but we may be able to avoid special casing anything here.","commit_id":"b04cef69aa6a2786ad2e34c398e4dc8c94fb03d0"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"b4a628769c15f2a2ea7da34ba8bfaddf6d03dc36","unresolved":false,"context_lines":[{"line_number":734,"context_line":"            \"event_data\": event.toDict(),"},{"line_number":735,"context_line":"            \"driver_name\": None,"},{"line_number":736,"context_line":"        }"},{"line_number":737,"context_line":"        self._put(data)"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"    def __iter__(self):"},{"line_number":740,"context_line":"        for data, ack_ref, _ in self._iterEvents():"}],"source_content_type":"text/x-python","patch_set":2,"id":"15054e69_6299ddc5","line":737,"updated":"2022-02-08 17:34:33.000000000","message":"On further inspection, it looks like drivers can only have one trigger event class, so that\u0027s not any easier than this.  We might want to polish this API at some point in the future, but this seems good for now.","commit_id":"b04cef69aa6a2786ad2e34c398e4dc8c94fb03d0"}]}
