)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0ee890313ba22f19232520820497510879d5c0b3","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-12-06 20:25:21 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for listing hosts in cellv2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ie8eaa8701aafac10e030568107b8e6255a60434d"},{"line_number":10,"context_line":"Closes-Bug: #1735687"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df87a7cf_cb2419b2","line":8,"updated":"2017-12-07 07:10:40.000000000","message":"better add more info about the purpose of the patch here","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f5a8e34e979d3433937d8c3dc9430b5ab26c3384","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-12-06 20:25:21 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for listing hosts in cellv2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ie8eaa8701aafac10e030568107b8e6255a60434d"},{"line_number":10,"context_line":"Closes-Bug: #1735687"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df87a7cf_0d251eab","line":8,"in_reply_to":"df87a7cf_cb2419b2","updated":"2017-12-07 23:42:40.000000000","message":"Done","commit_id":"27d3a6954591405bea6ba83e3023203831438906"}],"doc/source/cli/nova-manage.rst":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2edf182bd8289d69e0873227d30284edb5a0cbab","unresolved":false,"context_lines":[{"line_number":216,"context_line":"``nova-manage cell_v2 list_hosts [--cell_uuid \u003ccell_uuid\u003e]``"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    Lists the hosts in one or all v2 cells. By default hosts in all v2 cells"},{"line_number":219,"context_line":"    are listed. Use the --cell_uuid option to list hosts in a specific cell."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"``nova-manage cell_v2 update_cell --cell_uuid \u003ccell_uuid\u003e [--name \u003ccell_name\u003e] [--transport-url \u003ctransport_url\u003e] [--database_connection \u003cdatabase_connection\u003e]``"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df87a7cf_d9451c72","line":219,"updated":"2017-12-05 01:54:17.000000000","message":"Return codes should be mentioned:\n\n  Returns 0 if ..., 1 if a cell with that uuid could not be found.","commit_id":"3eecdbe4e7a5d0277eb131dc533f280d25cef4ad"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bf588a54e534a2b1f4af03869b30232b567e817a","unresolved":false,"context_lines":[{"line_number":216,"context_line":"``nova-manage cell_v2 list_hosts [--cell_uuid \u003ccell_uuid\u003e]``"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    Lists the hosts in one or all v2 cells. By default hosts in all v2 cells"},{"line_number":219,"context_line":"    are listed. Use the --cell_uuid option to list hosts in a specific cell."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"``nova-manage cell_v2 update_cell --cell_uuid \u003ccell_uuid\u003e [--name \u003ccell_name\u003e] [--transport-url \u003ctransport_url\u003e] [--database_connection \u003cdatabase_connection\u003e]``"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df87a7cf_a5a54f06","line":219,"in_reply_to":"df87a7cf_d9451c72","updated":"2017-12-06 20:26:43.000000000","message":"Done","commit_id":"3eecdbe4e7a5d0277eb131dc533f280d25cef4ad"}],"nova/cmd/manage.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"dfb22877deb5f88d405192102e5ae0dc9a89ee8a","unresolved":false,"context_lines":[{"line_number":1826,"context_line":"    @args(\u0027--cell_uuid\u0027, metavar\u003d\u0027\u003ccell_uuid\u003e\u0027, dest\u003d\u0027cell_uuid\u0027,"},{"line_number":1827,"context_line":"          help\u003d_(\u0027The uuid of the cell.\u0027))"},{"line_number":1828,"context_line":"    def list_hosts(self, cell_uuid\u003dNone):"},{"line_number":1829,"context_line":"        \"\"\"Lists the hosts in a v2 cell in the deployment.\"\"\""},{"line_number":1830,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1831,"context_line":"        host_mappings \u003d objects.HostMappingList.get_all(ctxt)"},{"line_number":1832,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_60a8f01e","line":1829,"range":{"start_line":1829,"start_character":30,"end_line":1829,"end_character":39},"updated":"2017-12-04 03:37:14.000000000","message":"this seems need modify to one or all v2 cells.","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"303982509a088c04b950cc337d7d26a4c58f68b0","unresolved":false,"context_lines":[{"line_number":1826,"context_line":"    @args(\u0027--cell_uuid\u0027, metavar\u003d\u0027\u003ccell_uuid\u003e\u0027, dest\u003d\u0027cell_uuid\u0027,"},{"line_number":1827,"context_line":"          help\u003d_(\u0027The uuid of the cell.\u0027))"},{"line_number":1828,"context_line":"    def list_hosts(self, cell_uuid\u003dNone):"},{"line_number":1829,"context_line":"        \"\"\"Lists the hosts in a v2 cell in the deployment.\"\"\""},{"line_number":1830,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1831,"context_line":"        host_mappings \u003d objects.HostMappingList.get_all(ctxt)"},{"line_number":1832,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_037233e6","line":1829,"range":{"start_line":1829,"start_character":30,"end_line":1829,"end_character":39},"in_reply_to":"df87a7cf_60a8f01e","updated":"2017-12-04 23:53:49.000000000","message":"Done","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0393d9078b2513cf9ce67597d4dd930b7ef6817e","unresolved":false,"context_lines":[{"line_number":1828,"context_line":"    def list_hosts(self, cell_uuid\u003dNone):"},{"line_number":1829,"context_line":"        \"\"\"Lists the hosts in a v2 cell in the deployment.\"\"\""},{"line_number":1830,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1831,"context_line":"        host_mappings \u003d objects.HostMappingList.get_all(ctxt)"},{"line_number":1832,"context_line":""},{"line_number":1833,"context_line":"        field_names \u003d [_(\u0027Cell Name\u0027), _(\u0027Cell UUID\u0027), _(\u0027Hostname\u0027)]"},{"line_number":1834,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_dd60c735","line":1831,"range":{"start_line":1831,"start_character":0,"end_line":1831,"end_character":61},"updated":"2017-12-04 02:02:37.000000000","message":"The following would be better:\n\n    if cell_uuid:\n        host_mappings \u003d objects.HostMappingList.get_by_cell_id(ctxt, cell_uuid)\n    else:\n        host_mappings \u003d objects.HostMappingList.get_all(ctxt)","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"89a471fd3051e8c38c7424aec7fba8d05e21642e","unresolved":false,"context_lines":[{"line_number":1828,"context_line":"    def list_hosts(self, cell_uuid\u003dNone):"},{"line_number":1829,"context_line":"        \"\"\"Lists the hosts in a v2 cell in the deployment.\"\"\""},{"line_number":1830,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1831,"context_line":"        host_mappings \u003d objects.HostMappingList.get_all(ctxt)"},{"line_number":1832,"context_line":""},{"line_number":1833,"context_line":"        field_names \u003d [_(\u0027Cell Name\u0027), _(\u0027Cell UUID\u0027), _(\u0027Hostname\u0027)]"},{"line_number":1834,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_1d686ff3","line":1831,"range":{"start_line":1831,"start_character":0,"end_line":1831,"end_character":61},"in_reply_to":"df87a7cf_dd60c735","updated":"2017-12-04 02:19:02.000000000","message":"+1","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"22e62bb88db79928afcfd104641be11b618f0496","unresolved":false,"context_lines":[{"line_number":1828,"context_line":"    def list_hosts(self, cell_uuid\u003dNone):"},{"line_number":1829,"context_line":"        \"\"\"Lists the hosts in a v2 cell in the deployment.\"\"\""},{"line_number":1830,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1831,"context_line":"        host_mappings \u003d objects.HostMappingList.get_all(ctxt)"},{"line_number":1832,"context_line":""},{"line_number":1833,"context_line":"        field_names \u003d [_(\u0027Cell Name\u0027), _(\u0027Cell UUID\u0027), _(\u0027Hostname\u0027)]"},{"line_number":1834,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_096588b5","line":1831,"range":{"start_line":1831,"start_character":0,"end_line":1831,"end_character":61},"in_reply_to":"df87a7cf_dd60c735","updated":"2017-12-04 10:00:35.000000000","message":"+1\n\nMaybe the following check under \"if cell_uuid:\" could be added since its better to validate if there is a valid cell_mapping with the provided cell_uuid :\n\n# Find the CellMapping given the uuid.\ntry:\n    cell_mapping \u003d objects.CellMapping.get_by_uuid(ctxt, cell_uuid)\nexcept exception.CellMappingNotFound:\n    print(_(\u0027Cell with uuid %s was not found.\u0027) % cell_uuid)\n            return 1","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"303982509a088c04b950cc337d7d26a4c58f68b0","unresolved":false,"context_lines":[{"line_number":1828,"context_line":"    def list_hosts(self, cell_uuid\u003dNone):"},{"line_number":1829,"context_line":"        \"\"\"Lists the hosts in a v2 cell in the deployment.\"\"\""},{"line_number":1830,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1831,"context_line":"        host_mappings \u003d objects.HostMappingList.get_all(ctxt)"},{"line_number":1832,"context_line":""},{"line_number":1833,"context_line":"        field_names \u003d [_(\u0027Cell Name\u0027), _(\u0027Cell UUID\u0027), _(\u0027Hostname\u0027)]"},{"line_number":1834,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_a376e7d7","line":1831,"range":{"start_line":1831,"start_character":0,"end_line":1831,"end_character":61},"in_reply_to":"df87a7cf_dd60c735","updated":"2017-12-04 23:53:49.000000000","message":"Done","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"}],"nova/objects/host_mapping.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0393d9078b2513cf9ce67597d4dd930b7ef6817e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"@base.NovaObjectRegistry.register"},{"line_number":149,"context_line":"class HostMappingList(base.ObjectListBase, base.NovaObject):"},{"line_number":150,"context_line":"    # Version 1.0: Initial version"},{"line_number":151,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    fields \u003d {"},{"line_number":154,"context_line":"        \u0027objects\u0027: fields.ListOfObjectsField(\u0027HostMapping\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_5d735716","line":151,"range":{"start_line":151,"start_character":15,"end_line":151,"end_character":19},"updated":"2017-12-04 02:02:37.000000000","message":"It should be bumped because a new method is added.","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"303982509a088c04b950cc337d7d26a4c58f68b0","unresolved":false,"context_lines":[{"line_number":148,"context_line":"@base.NovaObjectRegistry.register"},{"line_number":149,"context_line":"class HostMappingList(base.ObjectListBase, base.NovaObject):"},{"line_number":150,"context_line":"    # Version 1.0: Initial version"},{"line_number":151,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    fields \u003d {"},{"line_number":154,"context_line":"        \u0027objects\u0027: fields.ListOfObjectsField(\u0027HostMapping\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_c373ebe6","line":151,"range":{"start_line":151,"start_character":15,"end_line":151,"end_character":19},"in_reply_to":"df87a7cf_5d735716","updated":"2017-12-04 23:53:49.000000000","message":"Done","commit_id":"6ba3b0c162ea8c764eb7a6ebc4a1c8ed45b5855d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a777039151c2928d01931e5990466fc501d09d06","unresolved":false,"context_lines":[{"line_number":149,"context_line":"class HostMappingList(base.ObjectListBase, base.NovaObject):"},{"line_number":150,"context_line":"    # Version 1.0: Initial version"},{"line_number":151,"context_line":"    # Version 1.1: Add get_all method"},{"line_number":152,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    fields \u003d {"},{"line_number":155,"context_line":"        \u0027objects\u0027: fields.ListOfObjectsField(\u0027HostMapping\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f91af0f_4b204db1","line":152,"updated":"2018-01-03 17:35:12.000000000","message":"I\u0027m not sure it was worth a version bump for two reasons:\n\n 1. This doesn\u0027t really ever need to be remotable\n 2. For any reasonable number of cells we could just iterate over the cell mappings and call the existing function.\n\nProbably not worth a change now, but...","commit_id":"c7b51a63b0c3b5ad80979060bbfe49287e6da847"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a777039151c2928d01931e5990466fc501d09d06","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    @db_api.api_context_manager.reader"},{"line_number":160,"context_line":"    def _get_from_db(context, cell_id\u003dNone):"},{"line_number":161,"context_line":"        query \u003d (context.session.query(api_models.HostMapping)"},{"line_number":162,"context_line":"                 .options(joinedload(\u0027cell_mapping\u0027)))"},{"line_number":163,"context_line":"        if cell_id:"},{"line_number":164,"context_line":"            query \u003d query.filter(api_models.HostMapping.cell_id \u003d\u003d cell_id)"},{"line_number":165,"context_line":"        return query.all()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f91af0f_662228a7","line":162,"updated":"2018-01-03 17:35:12.000000000","message":"I wonder if we should sort by cell or something here. Before, you could only list hosts from a single cell, so insert order was probably reasonable. However, now you could have many thousands of hosts across several cells. Having them all interspersed is probably not very helpful.\n\nMaybe sort by cell,hostname ?\n\nCould be done in a follow-up.","commit_id":"c7b51a63b0c3b5ad80979060bbfe49287e6da847"}],"nova/tests/unit/objects/test_host_mapping.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2edf182bd8289d69e0873227d30284edb5a0cbab","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    pass"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"class _TestHostMappingListObject(object):"},{"line_number":154,"context_line":"    @mock.patch.object(host_mapping.HostMappingList, \u0027_get_from_db\u0027)"},{"line_number":155,"context_line":"    def test_get_all(self, get_from_db):"},{"line_number":156,"context_line":"        db_mapping \u003d get_db_mapping()"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_59090b2a","line":153,"range":{"start_line":153,"start_character":6,"end_line":153,"end_character":7},"updated":"2017-12-05 01:54:17.000000000","message":"It should be removed or make sub classes like line 143 and 148.\nIf not, the test is not executed.","commit_id":"3eecdbe4e7a5d0277eb131dc533f280d25cef4ad"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"6d244fb2654d3f0893fe7836f06762c0d801cf27","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    pass"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"class _TestHostMappingListObject(object):"},{"line_number":154,"context_line":"    @mock.patch.object(host_mapping.HostMappingList, \u0027_get_from_db\u0027)"},{"line_number":155,"context_line":"    def test_get_all(self, get_from_db):"},{"line_number":156,"context_line":"        db_mapping \u003d get_db_mapping()"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_b138633d","line":153,"range":{"start_line":153,"start_character":33,"end_line":153,"end_character":39},"updated":"2017-12-05 12:33:09.000000000","message":"should this come from test.NoDBTestCase ?","commit_id":"3eecdbe4e7a5d0277eb131dc533f280d25cef4ad"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bf588a54e534a2b1f4af03869b30232b567e817a","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    pass"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"class _TestHostMappingListObject(object):"},{"line_number":154,"context_line":"    @mock.patch.object(host_mapping.HostMappingList, \u0027_get_from_db\u0027)"},{"line_number":155,"context_line":"    def test_get_all(self, get_from_db):"},{"line_number":156,"context_line":"        db_mapping \u003d get_db_mapping()"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_85aa8bcf","line":153,"range":{"start_line":153,"start_character":6,"end_line":153,"end_character":7},"in_reply_to":"df87a7cf_59090b2a","updated":"2017-12-06 20:26:43.000000000","message":"Done","commit_id":"3eecdbe4e7a5d0277eb131dc533f280d25cef4ad"}],"nova/tests/unit/test_nova_manage.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f923a482d0201909d56dd17ae2320577757f5a9c","unresolved":false,"context_lines":[{"line_number":1730,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1731,"context_line":"        # create the cell mapping"},{"line_number":1732,"context_line":"        cm1 \u003d objects.CellMapping("},{"line_number":1733,"context_line":"            context\u003dctxt, uuid\u003d\u00279e36a3ed-3eb6-4327\u0027, name\u003d\u0027london\u0027,"},{"line_number":1734,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1735,"context_line":"        cm1.create()"},{"line_number":1736,"context_line":"        cm2 \u003d objects.CellMapping("}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_80f8307b","line":1733,"range":{"start_line":1733,"start_character":31,"end_line":1733,"end_character":51},"updated":"2017-12-07 06:49:15.000000000","message":"Use uuidsentinel.cell1","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f5a8e34e979d3433937d8c3dc9430b5ab26c3384","unresolved":false,"context_lines":[{"line_number":1730,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1731,"context_line":"        # create the cell mapping"},{"line_number":1732,"context_line":"        cm1 \u003d objects.CellMapping("},{"line_number":1733,"context_line":"            context\u003dctxt, uuid\u003d\u00279e36a3ed-3eb6-4327\u0027, name\u003d\u0027london\u0027,"},{"line_number":1734,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1735,"context_line":"        cm1.create()"},{"line_number":1736,"context_line":"        cm2 \u003d objects.CellMapping("}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_cd3f36b2","line":1733,"range":{"start_line":1733,"start_character":31,"end_line":1733,"end_character":51},"in_reply_to":"df87a7cf_80f8307b","updated":"2017-12-07 23:42:40.000000000","message":"I wanted to verify the output as line #1750 but using uuidsentinel doesn\u0027t allow me to statically print the output. Therefore, I prefer the current approach.","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"af998c9e48ac8de668a542ced96d659dd4e91285","unresolved":false,"context_lines":[{"line_number":1730,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1731,"context_line":"        # create the cell mapping"},{"line_number":1732,"context_line":"        cm1 \u003d objects.CellMapping("},{"line_number":1733,"context_line":"            context\u003dctxt, uuid\u003d\u00279e36a3ed-3eb6-4327\u0027, name\u003d\u0027london\u0027,"},{"line_number":1734,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1735,"context_line":"        cm1.create()"},{"line_number":1736,"context_line":"        cm2 \u003d objects.CellMapping("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_7fcbcf1d","line":1733,"range":{"start_line":1733,"start_character":31,"end_line":1733,"end_character":51},"in_reply_to":"df87a7cf_cd3f36b2","updated":"2017-12-28 01:50:37.000000000","message":"You can do it as follows:\n\n\n        self.assertEqual(\u0027\u0027\u0027\\\n+-----------+--------------------------------------+-------------+\n| Cell Name |              Cell UUID               |   Hostname  |\n+-----------+--------------------------------------+-------------+\n|   london  | %s | fake-host-1 |\n|   dallas  | %s | fake-host-2 |\n+-----------+--------------------------------------+-------------+\u0027\u0027\u0027 %\n                         (uuidsentinel.cell1, uuidsentinel.cell2),\n                         output)","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f923a482d0201909d56dd17ae2320577757f5a9c","unresolved":false,"context_lines":[{"line_number":1734,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1735,"context_line":"        cm1.create()"},{"line_number":1736,"context_line":"        cm2 \u003d objects.CellMapping("},{"line_number":1737,"context_line":"            context\u003dctxt, uuid\u003d\u00278a3c608c-b275-496c\u0027, name\u003d\u0027dallas\u0027,"},{"line_number":1738,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1739,"context_line":"        cm2.create()"},{"line_number":1740,"context_line":"        # create a host mapping in another cell"}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_c037184d","line":1737,"range":{"start_line":1737,"start_character":31,"end_line":1737,"end_character":51},"updated":"2017-12-07 06:49:15.000000000","message":"ditto.\nuuidsentinel.cell2","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f923a482d0201909d56dd17ae2320577757f5a9c","unresolved":false,"context_lines":[{"line_number":1759,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1760,"context_line":"        # create the cell mapping"},{"line_number":1761,"context_line":"        cm1 \u003d objects.CellMapping("},{"line_number":1762,"context_line":"            context\u003dctxt, uuid\u003d\u00279e36a3ed-3eb6-4327\u0027, name\u003d\u0027london\u0027,"},{"line_number":1763,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1764,"context_line":"        cm1.create()"},{"line_number":1765,"context_line":"        cm2 \u003d objects.CellMapping("}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_8026f014","line":1762,"range":{"start_line":1762,"start_character":31,"end_line":1762,"end_character":51},"updated":"2017-12-07 06:49:15.000000000","message":"ditto","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f923a482d0201909d56dd17ae2320577757f5a9c","unresolved":false,"context_lines":[{"line_number":1763,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1764,"context_line":"        cm1.create()"},{"line_number":1765,"context_line":"        cm2 \u003d objects.CellMapping("},{"line_number":1766,"context_line":"            context\u003dctxt, uuid\u003d\u00278a3c608c-b275-496c\u0027, name\u003d\u0027dallas\u0027,"},{"line_number":1767,"context_line":"            database_connection\u003d\u0027fake:///db\u0027, transport_url\u003d\u0027fake:///mq\u0027)"},{"line_number":1768,"context_line":"        cm2.create()"},{"line_number":1769,"context_line":"        # create a host mapping in another cell"}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_201fe4b7","line":1766,"range":{"start_line":1766,"start_character":31,"end_line":1766,"end_character":51},"updated":"2017-12-07 06:49:15.000000000","message":"ditto","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f923a482d0201909d56dd17ae2320577757f5a9c","unresolved":false,"context_lines":[{"line_number":1774,"context_line":"            context\u003dctxt, host\u003d\u0027fake-host-2\u0027, cell_mapping\u003dcm2)"},{"line_number":1775,"context_line":"        hm2.create()"},{"line_number":1776,"context_line":"        self.assertEqual(0, self.commands.list_hosts("},{"line_number":1777,"context_line":"            cell_uuid\u003d\u00279e36a3ed-3eb6-4327\u0027))"},{"line_number":1778,"context_line":"        output \u003d self.output.getvalue().strip()"},{"line_number":1779,"context_line":"        self.assertEqual(\u0027\u0027\u0027\\"},{"line_number":1780,"context_line":"+-----------+--------------------+-------------+"}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_0080a0bf","line":1777,"range":{"start_line":1777,"start_character":22,"end_line":1777,"end_character":42},"updated":"2017-12-07 06:49:15.000000000","message":"ditto","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f923a482d0201909d56dd17ae2320577757f5a9c","unresolved":false,"context_lines":[{"line_number":1791,"context_line":"        output \u003d self.output.getvalue().strip()"},{"line_number":1792,"context_line":"        self.assertEqual("},{"line_number":1793,"context_line":"            \u0027Cell with uuid %s was not found.\u0027 % uuidsentinel.cell1, output)"},{"line_number":1794,"context_line":""},{"line_number":1795,"context_line":"    def test_delete_host_cell_not_found(self):"},{"line_number":1796,"context_line":"        \"\"\"Tests trying to delete a host but a specified cell is not found.\"\"\""},{"line_number":1797,"context_line":"        self.assertEqual(1, self.commands.delete_host(uuidsentinel.cell1,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_60572c5a","line":1794,"updated":"2017-12-07 06:49:15.000000000","message":"It would be better to add the case that the cell has no hosts.","commit_id":"27d3a6954591405bea6ba83e3023203831438906"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0ee890313ba22f19232520820497510879d5c0b3","unresolved":false,"context_lines":[{"line_number":1791,"context_line":"        output \u003d self.output.getvalue().strip()"},{"line_number":1792,"context_line":"        self.assertEqual("},{"line_number":1793,"context_line":"            \u0027Cell with uuid %s was not found.\u0027 % uuidsentinel.cell1, output)"},{"line_number":1794,"context_line":""},{"line_number":1795,"context_line":"    def test_delete_host_cell_not_found(self):"},{"line_number":1796,"context_line":"        \"\"\"Tests trying to delete a host but a specified cell is not found.\"\"\""},{"line_number":1797,"context_line":"        self.assertEqual(1, self.commands.delete_host(uuidsentinel.cell1,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_6b42ad40","line":1794,"in_reply_to":"df87a7cf_60572c5a","updated":"2017-12-07 07:10:40.000000000","message":"yeah, add the cell with no host case would make sense but seems not mandatory..","commit_id":"27d3a6954591405bea6ba83e3023203831438906"}],"releasenotes/notes/bug-1735687-add-list-hosts-in-cellv2-7afa67ce0d48b6a2.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed257e23e124ba151d6e512b30f41e9c104e7d29","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add a ``nova-manage cell_v2 list_hosts`` command for listing hosts"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f91af0f_995a2628","line":1,"updated":"2018-01-03 23:22:38.000000000","message":"Should also mention this in #1 of the FAQ here:\n\nhttps://docs.openstack.org/nova/latest/user/cells.html#faqs","commit_id":"c7b51a63b0c3b5ad80979060bbfe49287e6da847"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"330b6535e09ab1e13df7f586e2ad960ae8816b39","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add a ``nova-manage cell_v2 list_hosts`` command for listing hosts"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f91af0f_157ea4ae","line":1,"in_reply_to":"9f91af0f_995a2628","updated":"2018-01-06 15:06:38.000000000","message":"Done: https://review.openstack.org/531559","commit_id":"c7b51a63b0c3b5ad80979060bbfe49287e6da847"}]}
