)]}'
{"nova/cmd/status.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a6734c72c77904ead9552f6829c5eb1f2d3cdde","unresolved":false,"context_lines":[{"line_number":349,"context_line":"            # We have RPs \u003e\u003d CNs which is what we want to see."},{"line_number":350,"context_line":"            return UpgradeCheckResult(UpgradeCheckCode.SUCCESS)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def _check_compute_service_versions(self):"},{"line_number":353,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":354,"context_line":"        min_version \u003d service_obj.get_minimum_version_all_cells("},{"line_number":355,"context_line":"            ctxt, \u0027nova-compute\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_94579701","line":352,"range":{"start_line":352,"start_character":8,"end_line":352,"end_character":39},"updated":"2017-03-07 21:25:05.000000000","message":"I was thinking we might want to put \"pike\" in the method name here, but that\u0027s probably not necessary if we just plan on updating this each release for whatever the new minimum is.","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6086a83578685187f33ee6db15f5200478b990a4","unresolved":false,"context_lines":[{"line_number":349,"context_line":"            # We have RPs \u003e\u003d CNs which is what we want to see."},{"line_number":350,"context_line":"            return UpgradeCheckResult(UpgradeCheckCode.SUCCESS)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def _check_compute_service_versions(self):"},{"line_number":353,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":354,"context_line":"        min_version \u003d service_obj.get_minimum_version_all_cells("},{"line_number":355,"context_line":"            ctxt, \u0027nova-compute\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_d7c4b193","line":352,"range":{"start_line":352,"start_character":8,"end_line":352,"end_character":39},"in_reply_to":"9a30ddce_94579701","updated":"2017-03-07 21:51:57.000000000","message":"Well, since I think long-standing policy covers us, I assumed you wanted this to be updated each time, as a visible indicator of said policy. So yeah, I expected we tweak \"required\" below each time.","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4b783422f951ecf6d57974d39546621dac56ecea","unresolved":false,"context_lines":[{"line_number":349,"context_line":"            # We have RPs \u003e\u003d CNs which is what we want to see."},{"line_number":350,"context_line":"            return UpgradeCheckResult(UpgradeCheckCode.SUCCESS)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def _check_compute_service_versions(self):"},{"line_number":353,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":354,"context_line":"        min_version \u003d service_obj.get_minimum_version_all_cells("},{"line_number":355,"context_line":"            ctxt, \u0027nova-compute\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_77d4b746","line":352,"range":{"start_line":352,"start_character":8,"end_line":352,"end_character":39},"in_reply_to":"9a30ddce_d7c4b193","updated":"2017-03-08 22:51:44.000000000","message":"Yup works for me.","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a6734c72c77904ead9552f6829c5eb1f2d3cdde","unresolved":false,"context_lines":[{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def _check_compute_service_versions(self):"},{"line_number":353,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":354,"context_line":"        min_version \u003d service_obj.get_minimum_version_all_cells("},{"line_number":355,"context_line":"            ctxt, \u0027nova-compute\u0027)"},{"line_number":356,"context_line":"        required \u003d 16"},{"line_number":357,"context_line":"        if min_version \u003c required:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_f410d350","line":354,"range":{"start_line":354,"start_character":22,"end_line":354,"end_character":63},"updated":"2017-03-07 21:25:05.000000000","message":"We agreed to not use the objects for querying the database from nova-status in case we split it out into it\u0027s own library, so you should have the actual db api queries in here, like _get_non_cell0_mappings and some others above.","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4b783422f951ecf6d57974d39546621dac56ecea","unresolved":false,"context_lines":[{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def _check_compute_service_versions(self):"},{"line_number":353,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":354,"context_line":"        min_version \u003d service_obj.get_minimum_version_all_cells("},{"line_number":355,"context_line":"            ctxt, \u0027nova-compute\u0027)"},{"line_number":356,"context_line":"        required \u003d 16"},{"line_number":357,"context_line":"        if min_version \u003c required:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_97cbeba4","line":354,"range":{"start_line":354,"start_character":22,"end_line":354,"end_character":63},"in_reply_to":"9a30ddce_773145a2","updated":"2017-03-08 22:51:44.000000000","message":"L24 here:\n\nhttps://etherpad.openstack.org/p/nova-ocata-ready-for-upgrade","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6086a83578685187f33ee6db15f5200478b990a4","unresolved":false,"context_lines":[{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def _check_compute_service_versions(self):"},{"line_number":353,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":354,"context_line":"        min_version \u003d service_obj.get_minimum_version_all_cells("},{"line_number":355,"context_line":"            ctxt, \u0027nova-compute\u0027)"},{"line_number":356,"context_line":"        required \u003d 16"},{"line_number":357,"context_line":"        if min_version \u003c required:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_773145a2","line":354,"range":{"start_line":354,"start_character":22,"end_line":354,"end_character":63},"in_reply_to":"9a30ddce_f410d350","updated":"2017-03-07 21:51:57.000000000","message":"We did? I\u0027m not sure how that ever makes sense, but even still, that routine is still in the object, so what insulation does that give us? Further, that routine does the logic I need, and can convert a few other places to use it. It\u0027s more than just a query because it queries the api database and all the cell databases.\n\nI just noticed above that in the places you check cell mappings, you\u0027re passing a sqla model to things like nova_context.target_cell(). That doesn\u0027t seem overly safe (although it clearly works right now) since it\u0027s expecting a different type of thing. However, that\u0027s an even tighter coupling than the objects, IMHO.","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"891a7f33bb24e05c5d209015074b487cbaacaed1","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":354,"context_line":"        min_version \u003d service_obj.get_minimum_version_all_cells("},{"line_number":355,"context_line":"            ctxt, \u0027nova-compute\u0027)"},{"line_number":356,"context_line":"        required \u003d 16"},{"line_number":357,"context_line":"        if min_version \u003c required:"},{"line_number":358,"context_line":"            msg \u003d (_(\u0027There are old nova-compute services registered \u0027"},{"line_number":359,"context_line":"                     \u0027with version %(version)i, but the required \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_97584b34","line":356,"updated":"2017-03-08 21:07:58.000000000","message":"Note to self: this is also good because we ripped out the minimum compute version check in the filter scheduler for placement, so we require \u003e\u003d16 now to use the scheduler:\n\nhttps://review.openstack.org/#/c/436180/4/nova/scheduler/filter_scheduler.py","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a6734c72c77904ead9552f6829c5eb1f2d3cdde","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        # Added in Ocata"},{"line_number":381,"context_line":"        (_(\u0027Resource Providers\u0027), _check_resource_providers),"},{"line_number":382,"context_line":"        # Added in Pike"},{"line_number":383,"context_line":"        (_(\u0027Compute services\u0027), _check_compute_service_versions),"},{"line_number":384,"context_line":"    )"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"    def _get_details(self, upgrade_check_result):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_3460abce","line":383,"updated":"2017-03-07 21:25:05.000000000","message":"Please update the history of checks in the man page:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/doc/source/man/nova-status.rst#n84\n\nAnd we should have an upgrade release note for this new restriction.","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"}],"nova/tests/unit/cmd/test_status.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a6734c72c77904ead9552f6829c5eb1f2d3cdde","unresolved":false,"context_lines":[{"line_number":640,"context_line":"class TestUpgradeCheckServiceVersions(test.NoDBTestCase):"},{"line_number":641,"context_line":"    \"\"\"Tests for the nova-status upgrade check on service versions.\"\"\""},{"line_number":642,"context_line":""},{"line_number":643,"context_line":"    # We\u0027ll setup the database ourselves because we need to use cells fixtures"},{"line_number":644,"context_line":"    # for multiple cell mappings."},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"    def setUp(self):"},{"line_number":647,"context_line":"        super(TestUpgradeCheckServiceVersions, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_74eea323","line":644,"range":{"start_line":643,"start_character":4,"end_line":644,"end_character":33},"updated":"2017-03-07 21:25:05.000000000","message":"This was copied from above where USES_DB_SELF \u003d True. I think we should be doing that and using a real database for testing this stuff rather than using mock given the db queries involved, especially across multiple cells. I have examples of multi-cell tests above that do the same kind of thing for the resource providers checks, it shouldn\u0027t be hard to re-use that.","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a6734c72c77904ead9552f6829c5eb1f2d3cdde","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        super(TestUpgradeCheckServiceVersions, self).setUp()"},{"line_number":648,"context_line":"        self.output \u003d StringIO()"},{"line_number":649,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, self.output))"},{"line_number":650,"context_line":"        # We always need the API DB to be setup."},{"line_number":651,"context_line":"        self.cmd \u003d status.UpgradeCommands()"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    @mock.patch(\u0027nova.objects.service.get_minimum_version_all_cells\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_34b7cb3a","line":650,"range":{"start_line":650,"start_character":8,"end_line":650,"end_character":48},"updated":"2017-03-07 21:25:05.000000000","message":"copy/paste oops?","commit_id":"bc7ac0d7128852ac2498140bb991090c5dfde7d6"}]}
