)]}'
{"ironic/cmd/dbsync.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fbaf23460ab27fcd24cf6d26a1ebb4ddbf2d37e4","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            sys.stderr.write("},{"line_number":108,"context_line":"                _(\u0027The database version is not compatible with this \u0027"},{"line_number":109,"context_line":"                  \u0027release of ironic (%s). This can happen if you are \u0027"},{"line_number":110,"context_line":"                  \u0027attempting to skip versions. This is unsupported. \u0027"},{"line_number":111,"context_line":"                  \u0027Please run \"ironic-dbsync upgrade\" using the previous \u0027"},{"line_number":112,"context_line":"                  \u0027releases for a fast-forward upgrade.\\n\u0027)"},{"line_number":113,"context_line":"                % version.version_info.release_string())"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_75bf29aa","line":110,"updated":"2018-06-18 16:47:05.000000000","message":"Do people know what \u0027skip versions\u0027 mean? Maybe something like s/skip versions/upgrade ironic to a release version that is more than one release newer than your current release/","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"341c626c2093dc28fbc7d71ad81960ed37c43386","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            sys.stderr.write("},{"line_number":108,"context_line":"                _(\u0027The database version is not compatible with this \u0027"},{"line_number":109,"context_line":"                  \u0027release of ironic (%s). This can happen if you are \u0027"},{"line_number":110,"context_line":"                  \u0027attempting to skip versions. This is unsupported. \u0027"},{"line_number":111,"context_line":"                  \u0027Please run \"ironic-dbsync upgrade\" using the previous \u0027"},{"line_number":112,"context_line":"                  \u0027releases for a fast-forward upgrade.\\n\u0027)"},{"line_number":113,"context_line":"                % version.version_info.release_string())"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_bde9271a","line":110,"in_reply_to":"5f7c97a3_75bf29aa","updated":"2018-06-18 17:32:23.000000000","message":"Done","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"970abcde24927de93211433aff85ef6eb16ebcc3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                _(\u0027The database version is not compatible with this \u0027"},{"line_number":109,"context_line":"                  \u0027release of ironic (%s). This can happen if you are \u0027"},{"line_number":110,"context_line":"                  \u0027attempting to upgrade from a version older than \u0027"},{"line_number":111,"context_line":"                  \u0027the previous release. (skip versions upgrade). \u0027"},{"line_number":112,"context_line":"                  \u0027This is an unsupported upgrade method. \u0027"},{"line_number":113,"context_line":"                  \u0027Please run \"ironic-dbsync upgrade\" using the previous \u0027"},{"line_number":114,"context_line":"                  \u0027releases for a fast-forward upgrade.\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_3610b200","line":111,"updated":"2018-06-20 01:30:05.000000000","message":"nit s/release. (/release (/","commit_id":"2d630afa911e091a95c8fbcb1bf44c4e7706160d"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"b6f683129e2545bd66ac697aa6513ff13a437bc5","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                _(\u0027The database version is not compatible with this \u0027"},{"line_number":109,"context_line":"                  \u0027release of ironic (%s). This can happen if you are \u0027"},{"line_number":110,"context_line":"                  \u0027attempting to upgrade from a version older than \u0027"},{"line_number":111,"context_line":"                  \u0027the previous release. (skip versions upgrade). \u0027"},{"line_number":112,"context_line":"                  \u0027This is an unsupported upgrade method. \u0027"},{"line_number":113,"context_line":"                  \u0027Please run \"ironic-dbsync upgrade\" using the previous \u0027"},{"line_number":114,"context_line":"                  \u0027releases for a fast-forward upgrade.\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_1ccb26a4","line":111,"in_reply_to":"5f7c97a3_3610b200","updated":"2018-07-04 22:54:23.000000000","message":"Done","commit_id":"2d630afa911e091a95c8fbcb1bf44c4e7706160d"}],"ironic/common/exception.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fbaf23460ab27fcd24cf6d26a1ebb4ddbf2d37e4","unresolved":false,"context_lines":[{"line_number":788,"context_line":""},{"line_number":789,"context_line":""},{"line_number":790,"context_line":"class DatabaseVersionTooOld(IronicException):"},{"line_number":791,"context_line":"    _msg_fmt \u003d _(\"Database version is too old.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_9591a556","line":791,"updated":"2018-06-18 16:47:05.000000000","message":"nit, if you do another revision. I see that most of the other strings above do not end with a period (maybe the underlying code adds one in). Anyway, not a big deal since this never gets to the user.","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"970abcde24927de93211433aff85ef6eb16ebcc3","unresolved":false,"context_lines":[{"line_number":788,"context_line":""},{"line_number":789,"context_line":""},{"line_number":790,"context_line":"class DatabaseVersionTooOld(IronicException):"},{"line_number":791,"context_line":"    _msg_fmt \u003d _(\"Database version is too old.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_f6c8fa75","line":791,"in_reply_to":"5f7c97a3_1dda9b78","updated":"2018-06-20 01:30:05.000000000","message":"I know. Makes me sad, but I didn\u0027t review it and I suppose no one noticed or cared. Yours is a nit cuz it isn\u0027t going to be viewed by the end user or be logged (I don\u0027t think).","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"341c626c2093dc28fbc7d71ad81960ed37c43386","unresolved":false,"context_lines":[{"line_number":788,"context_line":""},{"line_number":789,"context_line":""},{"line_number":790,"context_line":"class DatabaseVersionTooOld(IronicException):"},{"line_number":791,"context_line":"    _msg_fmt \u003d _(\"Database version is too old.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_1dda9b78","line":791,"in_reply_to":"5f7c97a3_9591a556","updated":"2018-06-18 17:32:23.000000000","message":"There is one right in BIOSSettingAlreadyExists above.","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"}],"ironic/tests/unit/db/test_api.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dbeb57b46bdbe7b84d8d15619baa69c15f50f57c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        # nothing in the DB"},{"line_number":36,"context_line":"        self.assertTrue(self.dbapi.check_versions())"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @mock.patch.object(db_utils, \u0027column_exists\u0027)"},{"line_number":39,"context_line":"    def test_check_versions_missing_version_columns(self, column_exists):"},{"line_number":40,"context_line":"        column_exists.return_value \u003d False"},{"line_number":41,"context_line":"        self.assertRaises(exception.DatabaseVersionTooOld,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_d6ebb975","line":38,"updated":"2018-06-17 10:41:18.000000000","message":"nit: autospec\u003dTrue","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"341c626c2093dc28fbc7d71ad81960ed37c43386","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        # nothing in the DB"},{"line_number":36,"context_line":"        self.assertTrue(self.dbapi.check_versions())"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @mock.patch.object(db_utils, \u0027column_exists\u0027)"},{"line_number":39,"context_line":"    def test_check_versions_missing_version_columns(self, column_exists):"},{"line_number":40,"context_line":"        column_exists.return_value \u003d False"},{"line_number":41,"context_line":"        self.assertRaises(exception.DatabaseVersionTooOld,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_fd4c7f40","line":38,"in_reply_to":"5f7c97a3_d6ebb975","updated":"2018-06-18 17:32:23.000000000","message":"Done","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"}],"releasenotes/notes/better-handle-skip-upgrade-3b6f06ac24937aa4.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dbeb57b46bdbe7b84d8d15619baa69c15f50f57c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Better handle the case when an operator attempts to perform"},{"line_number":5,"context_line":"    a skip version upgrade from a release older than Pike."},{"line_number":6,"context_line":"    Instead of crashing, the operator will be informed that"},{"line_number":7,"context_line":"    skip version upgrades are not supported and that all database migrations"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_b6e63db0","line":4,"updated":"2018-06-17 10:41:18.000000000","message":"nit: \"handles\"","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fbaf23460ab27fcd24cf6d26a1ebb4ddbf2d37e4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Better handle the case when an operator attempts to perform"},{"line_number":5,"context_line":"    a skip version upgrade from a release older than Pike."},{"line_number":6,"context_line":"    Instead of crashing, the operator will be informed that"},{"line_number":7,"context_line":"    skip version upgrades are not supported and that all database migrations"},{"line_number":8,"context_line":"    need to be performed using the previous releases"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_a90a4e24","line":5,"updated":"2018-06-18 16:47:05.000000000","message":"what does \u0027skip version upgrade\u0027 mean?\n\nOh, I think you mean, someone trying to go directly from release A (older than pike) to release B (newer than pike).\n\nI think it is worth clarifying.\n\nDo you know what happens if they try to go from older-than-pike to pike? Does it work there?","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"341c626c2093dc28fbc7d71ad81960ed37c43386","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Better handle the case when an operator attempts to perform"},{"line_number":5,"context_line":"    a skip version upgrade from a release older than Pike."},{"line_number":6,"context_line":"    Instead of crashing, the operator will be informed that"},{"line_number":7,"context_line":"    skip version upgrades are not supported and that all database migrations"},{"line_number":8,"context_line":"    need to be performed using the previous releases"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_dd5183db","line":5,"in_reply_to":"5f7c97a3_a90a4e24","updated":"2018-06-18 17:32:23.000000000","message":"Done. This only applies to Queens and master. Pike didn\u0027t have the check since it was the release that introduced the version columns. Queens introduced the check against those columns.","commit_id":"7c69cb41a2d8551c0373eb986113aad9d5e40627"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"970abcde24927de93211433aff85ef6eb16ebcc3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Better handles the case when an operator attempts to perform"},{"line_number":5,"context_line":"    a skip version upgrade from a release older than Pike."},{"line_number":6,"context_line":"    Instead of crashing, the operator will be informed that"},{"line_number":7,"context_line":"    upgrading from a version older than the previous release is not supported"},{"line_number":8,"context_line":"    (skip version upgrades) and that all database migrations need"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_b614c2ea","line":5,"updated":"2018-06-20 01:30:05.000000000","message":"maybe \n\n..to perform an upgrade from a release older than Pike, directly to a release newer than Pike, skipping one or more releases in between (i.e. a \"skip version upgrade\").\n\n(I know we discussed it but I\u0027ve already forgotten, i should really review this in the daytime).","commit_id":"2d630afa911e091a95c8fbcb1bf44c4e7706160d"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"b6f683129e2545bd66ac697aa6513ff13a437bc5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Better handles the case when an operator attempts to perform"},{"line_number":5,"context_line":"    a skip version upgrade from a release older than Pike."},{"line_number":6,"context_line":"    Instead of crashing, the operator will be informed that"},{"line_number":7,"context_line":"    upgrading from a version older than the previous release is not supported"},{"line_number":8,"context_line":"    (skip version upgrades) and that all database migrations need"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_3c35c2a8","line":5,"in_reply_to":"5f7c97a3_b614c2ea","updated":"2018-07-04 22:54:23.000000000","message":"Done","commit_id":"2d630afa911e091a95c8fbcb1bf44c4e7706160d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"970abcde24927de93211433aff85ef6eb16ebcc3","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    a skip version upgrade from a release older than Pike."},{"line_number":6,"context_line":"    Instead of crashing, the operator will be informed that"},{"line_number":7,"context_line":"    upgrading from a version older than the previous release is not supported"},{"line_number":8,"context_line":"    (skip version upgrades) and that all database migrations need"},{"line_number":9,"context_line":"    to be performed using the previous releases for a fast-forward upgrade."},{"line_number":10,"context_line":"    [Bug `2002558 \u003chttps://storyboard.openstack.org/#!/story/2002558\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_16db364f","line":8,"updated":"2018-06-20 01:30:05.000000000","message":"nit: s/that/that (as of Pike)/","commit_id":"2d630afa911e091a95c8fbcb1bf44c4e7706160d"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"b6f683129e2545bd66ac697aa6513ff13a437bc5","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    a skip version upgrade from a release older than Pike."},{"line_number":6,"context_line":"    Instead of crashing, the operator will be informed that"},{"line_number":7,"context_line":"    upgrading from a version older than the previous release is not supported"},{"line_number":8,"context_line":"    (skip version upgrades) and that all database migrations need"},{"line_number":9,"context_line":"    to be performed using the previous releases for a fast-forward upgrade."},{"line_number":10,"context_line":"    [Bug `2002558 \u003chttps://storyboard.openstack.org/#!/story/2002558\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_9cb65625","line":8,"in_reply_to":"5f7c97a3_16db364f","updated":"2018-07-04 22:54:23.000000000","message":"Done","commit_id":"2d630afa911e091a95c8fbcb1bf44c4e7706160d"}]}
