)]}'
{"nova/db/sqlalchemy/api_migrations/migrate_repo/versions/029_require_cell_setup.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14730834e09c42bd4f3cf24213c8d5720bfc1d34","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    flavors \u003d Table(\u0027flavors\u0027, meta, autoload\u003dTrue)"},{"line_number":25,"context_line":"    count \u003d select([func.count()]).select_from(flavors).scalar()"},{"line_number":26,"context_line":"    if count \u003d\u003d 0:"},{"line_number":27,"context_line":"        # NOTE(danms): We need to be careful here if this is a new"},{"line_number":28,"context_line":"        # installation, which can\u0027t possibly have any mappings. Check"},{"line_number":29,"context_line":"        # to see if any flavors are defined to determine if we are"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_5dc0ebe0","line":26,"updated":"2016-11-05 01:15:50.000000000","message":"Hmm, so I think with devstack we\u0027re getting a pass here. With devstack, we run db sync before creating the flavors. The db sync is here:\n\nhttp://logs.openstack.org/27/392227/4/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/ea405e1/logs/devstacklog.txt.gz#_2016-11-04_15_17_06_167\n\nThe flavor create is here:\n\nhttp://logs.openstack.org/27/392227/4/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/ea405e1/logs/devstacklog.txt.gz#_2016-11-04_15_19_21_047\n\nI guess that\u0027s OK...it\u0027s the new installation thing which is why we need this check here.\n\nWith an upgrade from newton in the grenade jobs we\u0027d have flavors, and maybe some compute nodes and instances and stuff. And grenade was failing earlier until we added the depends-on to the devstack change which depends on the grenade change which does the cells v2 setup when upgrading from newton. So I think this is just a roundabout way of me saying this is OK.","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5f7909e1d8ac67ac789766180132d3fef411504e","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    flavors \u003d Table(\u0027flavors\u0027, meta, autoload\u003dTrue)"},{"line_number":25,"context_line":"    count \u003d select([func.count()]).select_from(flavors).scalar()"},{"line_number":26,"context_line":"    if count \u003d\u003d 0:"},{"line_number":27,"context_line":"        # NOTE(danms): We need to be careful here if this is a new"},{"line_number":28,"context_line":"        # installation, which can\u0027t possibly have any mappings. Check"},{"line_number":29,"context_line":"        # to see if any flavors are defined to determine if we are"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_6fdb47ee","line":26,"in_reply_to":"ba5da102_5dc0ebe0","updated":"2016-11-07 15:07:42.000000000","message":"Right, the intent is to skip this if no flavors, which is what happens in devstack for new deploys.","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14730834e09c42bd4f3cf24213c8d5720bfc1d34","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    cell_mappings \u003d Table(\u0027cell_mappings\u0027, meta, autoload\u003dTrue)"},{"line_number":35,"context_line":"    count \u003d select([func.count()]).select_from(cell_mappings).scalar()"},{"line_number":36,"context_line":"    if count \u003c 2:"},{"line_number":37,"context_line":"        msg \u003d _(\u0027Cell mappings are not created, but required for Ocata. \u0027"},{"line_number":38,"context_line":"                \u0027Please run nova-manage db simple_cell_setup before \u0027"},{"line_number":39,"context_line":"                \u0027continuing.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_9d71a3e3","line":36,"updated":"2016-11-05 01:15:50.000000000","message":"Why 2 I asked myself. One for cell0, and one for the single-node host mapping.","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"1385daf314befd0939f1d73aaa1140e5bc3c6542","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    cell_mappings \u003d Table(\u0027cell_mappings\u0027, meta, autoload\u003dTrue)"},{"line_number":35,"context_line":"    count \u003d select([func.count()]).select_from(cell_mappings).scalar()"},{"line_number":36,"context_line":"    if count \u003c 2:"},{"line_number":37,"context_line":"        msg \u003d _(\u0027Cell mappings are not created, but required for Ocata. \u0027"},{"line_number":38,"context_line":"                \u0027Please run nova-manage db simple_cell_setup before \u0027"},{"line_number":39,"context_line":"                \u0027continuing.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_43fe4c06","line":36,"in_reply_to":"ba5da102_9d71a3e3","updated":"2016-11-05 03:47:26.000000000","message":"Put that in a code comment?","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14730834e09c42bd4f3cf24213c8d5720bfc1d34","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                \u0027continuing.\u0027)"},{"line_number":40,"context_line":"        raise exception.ValidationError(detail\u003dmsg)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    count \u003d select([func.count()]).select_from(cell_mappings).where("},{"line_number":43,"context_line":"        cell_mappings.c.uuid \u003d\u003d objects.CellMapping.CELL0_UUID).scalar()"},{"line_number":44,"context_line":"    if count !\u003d 1:"},{"line_number":45,"context_line":"        msg \u003d _(\u0027A mapping for Cell0 was not found, but is required for \u0027"},{"line_number":46,"context_line":"                \u0027Ocata. Please run nova-manage db simple_cell_setup before \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_bd5d874a","line":43,"range":{"start_line":42,"start_character":4,"end_line":43,"end_character":72},"updated":"2016-11-05 01:15:50.000000000","message":"You already have the cell_mappings above, and the cell0 one should be one of those so you don\u0027t really need to make another query here, you could just check for one of the ones above to be the cell0 mapping. It\u0027s not a big deal, just noting it.","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5f7909e1d8ac67ac789766180132d3fef411504e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                \u0027continuing.\u0027)"},{"line_number":40,"context_line":"        raise exception.ValidationError(detail\u003dmsg)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    count \u003d select([func.count()]).select_from(cell_mappings).where("},{"line_number":43,"context_line":"        cell_mappings.c.uuid \u003d\u003d objects.CellMapping.CELL0_UUID).scalar()"},{"line_number":44,"context_line":"    if count !\u003d 1:"},{"line_number":45,"context_line":"        msg \u003d _(\u0027A mapping for Cell0 was not found, but is required for \u0027"},{"line_number":46,"context_line":"                \u0027Ocata. Please run nova-manage db simple_cell_setup before \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_af939ff9","line":43,"range":{"start_line":42,"start_character":4,"end_line":43,"end_character":72},"in_reply_to":"ba5da102_bd5d874a","updated":"2016-11-07 15:07:42.000000000","message":"Well, I was trying to avoid querying actual data out, and there could be lots of these at some point. I think this is a pretty lightweight operation :)","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"}],"nova/tests/unit/db/test_sqlalchemy_migration.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14730834e09c42bd4f3cf24213c8d5720bfc1d34","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        self.migration.upgrade(self.engine)"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"class TestNewtonCellsCheck(test.TestCase):"},{"line_number":371,"context_line":"    USES_DB \u003d False"},{"line_number":372,"context_line":"    USES_DB_SELF \u003d True"},{"line_number":373,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_9d160354","line":370,"updated":"2016-11-05 01:15:50.000000000","message":"nit: not a huge deal, but I thought tests in this module were mostly for the cell database. The migration is in the API DB, and I thought we tested that stuff in:\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/functional/db/api/test_migrations.py\n\nEither works, and I\u0027m honestly not entirely sure why we have the API DB tests in the functional tree rather than the unit test tree.","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14730834e09c42bd4f3cf24213c8d5720bfc1d34","unresolved":false,"context_lines":[{"line_number":368,"context_line":""},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"class TestNewtonCellsCheck(test.TestCase):"},{"line_number":371,"context_line":"    USES_DB \u003d False"},{"line_number":372,"context_line":"    USES_DB_SELF \u003d True"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_fd2e1fa4","line":371,"updated":"2016-11-05 01:15:50.000000000","message":"nit: you don\u0027t need to do this if you just use NoDBTestCase.","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"}],"releasenotes/notes/ocata-requires-cellv2-96bd243be874d77f.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"498e51af2750298144c7b20df15ee76a0ab37ac4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - Ocata requires that your deployment have created the"},{"line_number":4,"context_line":"    cell and host mappings in Newton. If you have not done"},{"line_number":5,"context_line":"    this, Ocata\u0027s db_sync command will fail. Small deployments"},{"line_number":6,"context_line":"    will want to run `nova-manage db simple_cell_setup`"},{"line_number":7,"context_line":"    on Newton before upgrading."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ba5da102_7980f8f7","line":5,"range":{"start_line":5,"start_character":45,"end_line":5,"end_character":62},"updated":"2016-11-01 17:02:51.000000000","message":"I\u0027m guessing there will be some \"but I\u0027m a large mfing cellsv1 deployment, what do I do?\" question. We\u0027ll have to sort out our migration / upgrade docs story before end of Ocata.","commit_id":"edb2ed066a99e148c139f7f887698223b62990af"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14730834e09c42bd4f3cf24213c8d5720bfc1d34","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - Ocata requires that your deployment have created the"},{"line_number":4,"context_line":"    cell and host mappings in Newton. If you have not done"},{"line_number":5,"context_line":"    this, Ocata\u0027s db_sync command will fail. Small deployments"},{"line_number":6,"context_line":"    will want to run `nova-manage db simple_cell_setup`"},{"line_number":7,"context_line":"    on Newton before upgrading."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5da102_281a176f","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":25},"updated":"2016-11-05 01:15:50.000000000","message":"nit: It\u0027s actually \"db sync\".","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14730834e09c42bd4f3cf24213c8d5720bfc1d34","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ocata requires that your deployment have created the"},{"line_number":4,"context_line":"    cell and host mappings in Newton. If you have not done"},{"line_number":5,"context_line":"    this, Ocata\u0027s db_sync command will fail. Small deployments"},{"line_number":6,"context_line":"    will want to run `nova-manage db simple_cell_setup`"},{"line_number":7,"context_line":"    on Newton before upgrading."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5da102_083473dc","line":6,"range":{"start_line":6,"start_character":37,"end_line":6,"end_character":54},"updated":"2016-11-05 01:15:50.000000000","message":"Hmm, so....simple_cell_setup exits if you\u0027re running cells v1. Do we have any sort of plan for cells v1 users to migrate/upgrade to Ocata and cells v1? I know they have to do so some more manual mapping stuff, but I\u0027m not sure if that\u0027s documented at all.\n\nI\u0027m also not sure if we ever talked about having a cellsv1 grenade job...I shudder at the thought.","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"53674b81ef15beec76b3199de29d1a353d39a99e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ocata requires that your deployment have created the"},{"line_number":4,"context_line":"    cell and host mappings in Newton. If you have not done"},{"line_number":5,"context_line":"    this, Ocata\u0027s db_sync command will fail. Small deployments"},{"line_number":6,"context_line":"    will want to run `nova-manage db simple_cell_setup`"},{"line_number":7,"context_line":"    on Newton before upgrading."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5da102_c840bb38","line":6,"range":{"start_line":6,"start_character":37,"end_line":6,"end_character":54},"in_reply_to":"ba5da102_083473dc","updated":"2016-11-05 01:17:17.000000000","message":"*and cells v2","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"824e0a8a8cb7bf11234587456edf8c7edadcb454","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ocata requires that your deployment have created the"},{"line_number":4,"context_line":"    cell and host mappings in Newton. If you have not done"},{"line_number":5,"context_line":"    this, Ocata\u0027s db_sync command will fail. Small deployments"},{"line_number":6,"context_line":"    will want to run `nova-manage db simple_cell_setup`"},{"line_number":7,"context_line":"    on Newton before upgrading."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5da102_e93d81bc","line":6,"range":{"start_line":6,"start_character":37,"end_line":6,"end_character":54},"in_reply_to":"ba5da102_c840bb38","updated":"2016-11-05 12:56:38.000000000","message":"We have this incomplete docs patch on the rough upgrade plan:\n\nhttps://review.openstack.org/#/c/267153/","commit_id":"37e07c294b32c691a8a0a8ef7e68184a0e419f38"}]}
