)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d5d1d822bd5467e6f6638a4e55e0bd5cf176ed7e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This test case will guarantee us that no unsafe contract scripts are"},{"line_number":10,"context_line":"landed. Since in Ocata timeframe any contract script is unsafe, we"},{"line_number":11,"context_line":"forbid them globally. Later in Pike, we may revisit the approach taken"},{"line_number":12,"context_line":"here."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I5e72288ead653bdd4b5bc7e8e602a615826334fe"},{"line_number":15,"context_line":"Partially-Implements: blueprint online-upgrades"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a77a97e_b0e68f42","line":12,"updated":"2016-11-21 18:03:39.000000000","message":"I agree with the intention here. After all we did say that we were going to draw a line at some point. Now let\u0027s assume that during the Ocata timeframe we realize we do want a contract migration. Can we make exceptions on a case by case basis and still maintain this test or do we need to skip the test until Pike and open the gates for contract migrations for Ocata?","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"76be530111ace58f9dc2fd66dd43d7238635cf0f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This test case will guarantee us that no unsafe contract scripts are"},{"line_number":10,"context_line":"landed. Since in Ocata timeframe any contract script is unsafe, we"},{"line_number":11,"context_line":"forbid them globally. Later in Pike, we may revisit the approach taken"},{"line_number":12,"context_line":"here."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I5e72288ead653bdd4b5bc7e8e602a615826334fe"},{"line_number":15,"context_line":"Partially-Implements: blueprint online-upgrades"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a77a97e_3ecdd1b7","line":12,"in_reply_to":"7a77a97e_1458f755","updated":"2016-11-22 10:30:20.000000000","message":"Right. I think I mentioned that in my previous comment. If that\u0027s the case, we will just put the operation into expand branch (with explicit exception), so it does not break the test; alternatively, we will revisit the test then.","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"745e667ada2261f2c23dfc2cf264d018d5069560","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This test case will guarantee us that no unsafe contract scripts are"},{"line_number":10,"context_line":"landed. Since in Ocata timeframe any contract script is unsafe, we"},{"line_number":11,"context_line":"forbid them globally. Later in Pike, we may revisit the approach taken"},{"line_number":12,"context_line":"here."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I5e72288ead653bdd4b5bc7e8e602a615826334fe"},{"line_number":15,"context_line":"Partially-Implements: blueprint online-upgrades"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a77a97e_1458f755","line":12,"in_reply_to":"7a77a97e_34e253a0","updated":"2016-11-22 10:23:40.000000000","message":"Theoretically contract migration can be interoduce if it will touch something obsolete, that is not used in Newton.","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c9ff522657b18512985506cfffa0a14ea3fd5b24","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This test case will guarantee us that no unsafe contract scripts are"},{"line_number":10,"context_line":"landed. Since in Ocata timeframe any contract script is unsafe, we"},{"line_number":11,"context_line":"forbid them globally. Later in Pike, we may revisit the approach taken"},{"line_number":12,"context_line":"here."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I5e72288ead653bdd4b5bc7e8e602a615826334fe"},{"line_number":15,"context_line":"Partially-Implements: blueprint online-upgrades"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a77a97e_34e253a0","line":12,"in_reply_to":"7a77a97e_b0e68f42","updated":"2016-11-22 10:20:39.000000000","message":"I think we can always back up, but it will make the blueprint not completed for the cycle (unless a proposed contract script indeed cleans up some unused schema bits, f.e. for some obsolete vendor plugin).\n\nI think it\u0027s healthy to allow to revisit the decision later in the cycle if we see legit benefit from doing it. Upgrades team will work with broader community to make sure we don\u0027t get to the point where we are forced to consider that option.","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"}],"neutron/tests/functional/db/test_migrations.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"bf5b822b975c5b6189517ae31eae0c0cd8753afb","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            migration.do_alembic_command("},{"line_number":333,"context_line":"                self.alembic_config, \u0027upgrade\u0027, revision)"},{"line_number":334,"context_line":"        self.assertFalse(migration.has_offline_migrations("},{"line_number":335,"context_line":"            self.alembic_config, \u0027unused\u0027))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"class TestModelsMigrationsMysql(testlib_api.MySQLTestCaseMixin,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a77a97e_a41ca06b","line":335,"updated":"2016-11-21 13:03:45.000000000","message":"You could add a nice msg kwarg to the assertFalse call that has the nice comment you typed up on 322...","commit_id":"263feec7624b9c6382edd9b84c6b57c53fb13b6d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f77b8b2cca9d7462b1cf3e76ff53e03c28214c32","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            migration.do_alembic_command("},{"line_number":333,"context_line":"                self.alembic_config, \u0027upgrade\u0027, revision)"},{"line_number":334,"context_line":"        self.assertFalse(migration.has_offline_migrations("},{"line_number":335,"context_line":"            self.alembic_config, \u0027unused\u0027))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"class TestModelsMigrationsMysql(testlib_api.MySQLTestCaseMixin,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a77a97e_e4e77844","line":335,"in_reply_to":"7a77a97e_a41ca06b","updated":"2016-11-21 13:07:22.000000000","message":"Done","commit_id":"263feec7624b9c6382edd9b84c6b57c53fb13b6d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"92dfd232acf38e30c677e0e37863553ae13f6589","unresolved":false,"context_lines":[{"line_number":324,"context_line":"    # contradiction to blueprint online-upgrades"},{"line_number":325,"context_line":"    # TODO(ihrachys): revisit later in Pike+ where some contract scripts may be"},{"line_number":326,"context_line":"    # safe again"},{"line_number":327,"context_line":"    def test_forbid_offline_migrations_starting_newton(self):"},{"line_number":328,"context_line":"        engine \u003d self.get_engine()"},{"line_number":329,"context_line":"        cfg.CONF.set_override(\u0027connection\u0027, engine.url, group\u003d\u0027database\u0027)"},{"line_number":330,"context_line":"        # the following revisions are Newton heads"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_87c6c647","line":327,"updated":"2016-11-21 13:36:46.000000000","message":"It seems like this whole function can be written using the _test_has_offline_migrations:\n\n for revision in (\u00275cd92597d11d\u0027, \u00275c85685d616d\u0027):\n     self._test_has_offline_migrations(revision, False)","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"fbc4ede30f0eaab2db5f5fd7f5570142e4b43a08","unresolved":false,"context_lines":[{"line_number":324,"context_line":"    # contradiction to blueprint online-upgrades"},{"line_number":325,"context_line":"    # TODO(ihrachys): revisit later in Pike+ where some contract scripts may be"},{"line_number":326,"context_line":"    # safe again"},{"line_number":327,"context_line":"    def test_forbid_offline_migrations_starting_newton(self):"},{"line_number":328,"context_line":"        engine \u003d self.get_engine()"},{"line_number":329,"context_line":"        cfg.CONF.set_override(\u0027connection\u0027, engine.url, group\u003d\u0027database\u0027)"},{"line_number":330,"context_line":"        # the following revisions are Newton heads"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_4a72f5ae","line":327,"in_reply_to":"7a77a97e_8708862f","updated":"2016-11-21 13:48:59.000000000","message":"Aha, I see, sorry for bad suggestion.","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8a85a54cf2c897b87ebfe16048ba0092e6617ce1","unresolved":false,"context_lines":[{"line_number":324,"context_line":"    # contradiction to blueprint online-upgrades"},{"line_number":325,"context_line":"    # TODO(ihrachys): revisit later in Pike+ where some contract scripts may be"},{"line_number":326,"context_line":"    # safe again"},{"line_number":327,"context_line":"    def test_forbid_offline_migrations_starting_newton(self):"},{"line_number":328,"context_line":"        engine \u003d self.get_engine()"},{"line_number":329,"context_line":"        cfg.CONF.set_override(\u0027connection\u0027, engine.url, group\u003d\u0027database\u0027)"},{"line_number":330,"context_line":"        # the following revisions are Newton heads"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_8708862f","line":327,"in_reply_to":"7a77a97e_87c6c647","updated":"2016-11-21 13:39:24.000000000","message":"There may be offline migrations after you apply the first revision (because they would be pulled by the second).","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"92dfd232acf38e30c677e0e37863553ae13f6589","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            migration.do_alembic_command("},{"line_number":333,"context_line":"                self.alembic_config, \u0027upgrade\u0027, revision)"},{"line_number":334,"context_line":"        self.assertFalse(migration.has_offline_migrations("},{"line_number":335,"context_line":"            self.alembic_config, \u0027unused\u0027),"},{"line_number":336,"context_line":"            msg\u003d\u0027Offline contract migration scripts are forbidden for Ocata+\u0027)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_a76bc284","line":335,"range":{"start_line":335,"start_character":33,"end_line":335,"end_character":41},"updated":"2016-11-21 13:36:46.000000000","message":"It took me some time to find out what kind of revision is this :)","commit_id":"1a696c5604b3dadb1eb78879d966c4f1d2c65263"}]}
