)]}'
{"nova/cmd/status.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b3551a6330a5677ece6acf2edca63c1ebfae10b4","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        # | Details: There is no placement-api endpoint in the |"},{"line_number":199,"context_line":"        # |          service catalog.                          |"},{"line_number":200,"context_line":"        # +----------------------------------------------------+"},{"line_number":201,"context_line":"        t \u003d prettytable.PrettyTable([_(\u0027Uprade Check Results\u0027)],"},{"line_number":202,"context_line":"                                    hrules\u003dprettytable.ALL)"},{"line_number":203,"context_line":"        t.align \u003d \u0027l\u0027"},{"line_number":204,"context_line":"        for name, result in check_results:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_07565805","line":201,"range":{"start_line":201,"start_character":40,"end_line":201,"end_character":46},"updated":"2016-12-16 21:09:53.000000000","message":"Ooh, ooh.. -1!","commit_id":"0f66014f34407712410cb55bf61f1e0867857ee1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6383128402a5adb077eb84fd21ccf7646ab80dcc","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        # | Details: There is no placement-api endpoint in the |"},{"line_number":199,"context_line":"        # |          service catalog.                          |"},{"line_number":200,"context_line":"        # +----------------------------------------------------+"},{"line_number":201,"context_line":"        t \u003d prettytable.PrettyTable([_(\u0027Uprade Check Results\u0027)],"},{"line_number":202,"context_line":"                                    hrules\u003dprettytable.ALL)"},{"line_number":203,"context_line":"        t.align \u003d \u0027l\u0027"},{"line_number":204,"context_line":"        for name, result in check_results:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_a7fda4b2","line":201,"range":{"start_line":201,"start_character":40,"end_line":201,"end_character":46},"in_reply_to":"1a6eadb0_07565805","updated":"2016-12-16 21:18:20.000000000","message":"Shit.","commit_id":"0f66014f34407712410cb55bf61f1e0867857ee1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4cd70fd8d47f946b3d98aa728081adb00b6f3107","unresolved":false,"context_lines":[{"line_number":32,"context_line":"from nova.cmd import common as cmd_common"},{"line_number":33,"context_line":"import nova.conf"},{"line_number":34,"context_line":"from nova import config"},{"line_number":35,"context_line":"from nova.db.sqlalchemy import api as db_session"},{"line_number":36,"context_line":"from nova.i18n import _"},{"line_number":37,"context_line":"from nova.objects import cell_mapping as cell_mapping_obj"},{"line_number":38,"context_line":"from nova import version"}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_da20624c","line":35,"range":{"start_line":35,"start_character":38,"end_line":35,"end_character":48},"updated":"2016-12-22 21:40:36.000000000","message":"I would have preferred to name it \"api_db_session\" in case we would later wanting to use the cell DB calls, but that\u0027s a nit.","commit_id":"4103f5e462ca637e795a5c9a03c872d440b06e76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fa22486b116f5f16fac9aee4441cd088fe2061d9","unresolved":false,"context_lines":[{"line_number":32,"context_line":"from nova.cmd import common as cmd_common"},{"line_number":33,"context_line":"import nova.conf"},{"line_number":34,"context_line":"from nova import config"},{"line_number":35,"context_line":"from nova.db.sqlalchemy import api as db_session"},{"line_number":36,"context_line":"from nova.i18n import _"},{"line_number":37,"context_line":"from nova.objects import cell_mapping as cell_mapping_obj"},{"line_number":38,"context_line":"from nova import version"}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_f8a0ce92","line":35,"range":{"start_line":35,"start_character":38,"end_line":35,"end_character":48},"in_reply_to":"da4df55a_da20624c","updated":"2016-12-22 23:01:36.000000000","message":"Do you mean like the literal API DB vs the cell DB? Because that\u0027s not what this is. This is just the sqla DB API for nova, which is what we interface with for both API DB and cell DB calls, i.e. you get the cell DB connection with \u0027get_engine\u0027 and the API DB connection with the \u0027get_api_engine\u0027 method.","commit_id":"4103f5e462ca637e795a5c9a03c872d440b06e76"}],"nova/cmd/status_check.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f6d73f3866f56034feed3507e1e7e282d3be2dbd","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        count \u003d select([sqlfunc.count()]).select_from(cell_mappings).scalar()"},{"line_number":57,"context_line":"        # Two mappings are required at a minimum, cell0 and your first cell"},{"line_number":58,"context_line":"        if count \u003c 2:"},{"line_number":59,"context_line":"            msg \u003d _(\u0027No cell mappings found. Run simple_cell_setup.\u0027)"},{"line_number":60,"context_line":"            return msg"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        count \u003d select([sqlfunc.count()]).select_from(cell_mappings).where("}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_ce290be8","line":59,"range":{"start_line":59,"start_character":21,"end_line":59,"end_character":43},"updated":"2016-12-15 22:47:44.000000000","message":"This isn\u0027t quite accurate if there is just one cell mapping...","commit_id":"a9ebdd915df3ef0450733a8889b0eb8f255cbf06"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6d2c2e266390fdef99954554888a9efcee23535c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            return msg"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        count \u003d select([sqlfunc.count()]).select_from(cell_mappings).where("},{"line_number":63,"context_line":"            cell_mappings.c.uuid \u003d\u003d objects.CellMapping.CELL0_UUID).scalar()"},{"line_number":64,"context_line":"        if count !\u003d 1:"},{"line_number":65,"context_line":"            msg \u003d _(\u0027No cell0 mapping found. Run simple_cell_setup.\u0027)"},{"line_number":66,"context_line":"            return msg"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_5e8585cc","line":63,"range":{"start_line":63,"start_character":36,"end_line":63,"end_character":66},"updated":"2016-12-16 15:33:19.000000000","message":"This doesn\u0027t actually work because the object registration doesn\u0027t happen.\n\nI would honestly just copy the constant over.","commit_id":"a9ebdd915df3ef0450733a8889b0eb8f255cbf06"}],"nova/tests/unit/cmd/test_status.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b3551a6330a5677ece6acf2edca63c1ebfae10b4","unresolved":false,"context_lines":[{"line_number":217,"context_line":"| Result: Success                                                      |"},{"line_number":218,"context_line":"| Details: None                                                        |"},{"line_number":219,"context_line":"+----------------------------------------------------------------------+"},{"line_number":220,"context_line":"\"\"\""},{"line_number":221,"context_line":"        self.assertEqual(expected, self.output.getvalue())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _create_cell_mapping(self, uuid):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_272274a3","line":220,"updated":"2016-12-16 21:09:53.000000000","message":"I would probably prefer to not encode the full formatted text in all of these checks, just because if we change the way it looks we\u0027ll have a hundred fiddly tests to change. We can call the inner method and validate the checks and then just have a couple that check the formatting, right?","commit_id":"0f66014f34407712410cb55bf61f1e0867857ee1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6383128402a5adb077eb84fd21ccf7646ab80dcc","unresolved":false,"context_lines":[{"line_number":217,"context_line":"| Result: Success                                                      |"},{"line_number":218,"context_line":"| Details: None                                                        |"},{"line_number":219,"context_line":"+----------------------------------------------------------------------+"},{"line_number":220,"context_line":"\"\"\""},{"line_number":221,"context_line":"        self.assertEqual(expected, self.output.getvalue())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _create_cell_mapping(self, uuid):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_e7d87c55","line":220,"in_reply_to":"1a6eadb0_272274a3","updated":"2016-12-16 21:18:20.000000000","message":"Yeah I suppose. It is weird to have the placement stuff in the cells v2 tests too...","commit_id":"0f66014f34407712410cb55bf61f1e0867857ee1"}]}
