)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d20199302c3b284d4490732d22dc5dd201cff0bd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     licanwei \u003cli.canwei2@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-11-13 01:18:55 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrage cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L721"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f485f77_a2e35d05","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":39},"updated":"2017-11-13 09:29:23.000000000","message":"s/upgrage/upgrade","commit_id":"54c063cb4b46ed92726ebdbccc717b09946d29ad"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66dcb57e435cc69b10a8c044c53c948dfb09e29f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     licanwei \u003cli.canwei2@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-11-13 01:18:55 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrage cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L721"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f485f77_1d171954","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":39},"in_reply_to":"1f485f77_a2e35d05","updated":"2017-11-14 02:19:18.000000000","message":"Done","commit_id":"54c063cb4b46ed92726ebdbccc717b09946d29ad"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"010ff10f5a1b2cf7df2a2975f720455e84c6ed5c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrage cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L721"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This patch fix it."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f485f77_6519ef77","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":69},"updated":"2017-11-13 09:55:28.000000000","message":"We\u0027d better link to a permanent link, like this:\nhttps://github.com/openstack/nova/blob/a4fc1bcd08c12324070fde5e500366ff821d468f/nova/cmd/manage.py#L721","commit_id":"54c063cb4b46ed92726ebdbccc717b09946d29ad"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"66dcb57e435cc69b10a8c044c53c948dfb09e29f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrage cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L721"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This patch fix it."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f485f77_fd0d5d3e","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":69},"in_reply_to":"1f485f77_6519ef77","updated":"2017-11-14 02:19:18.000000000","message":"Done","commit_id":"54c063cb4b46ed92726ebdbccc717b09946d29ad"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7ba173bdc01dbfa537063c5301e7f24098db42ab","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     licanwei \u003cli.canwei2@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-11-27 03:21:51 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrade cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/"},{"line_number":10,"context_line":"a4fc1bcd08c12324070fde5e500366ff821d468f/nova/cmd/manage.py#L721"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ff82abbf_abfc12b5","line":7,"updated":"2017-11-27 15:48:46.000000000","message":"This should be something like:\n\n Make nova-manage capable of syncing databases in all cells.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"02cebe23ac34bd3a240381ff13eb399ed7b9372a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     licanwei \u003cli.canwei2@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-11-27 03:21:51 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrade cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/"},{"line_number":10,"context_line":"a4fc1bcd08c12324070fde5e500366ff821d468f/nova/cmd/manage.py#L721"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ff82abbf_c43cb1e2","line":7,"in_reply_to":"ff82abbf_abfc12b5","updated":"2017-11-29 08:24:15.000000000","message":"Done","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7ba173bdc01dbfa537063c5301e7f24098db42ab","unresolved":false,"context_lines":[{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrade cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/"},{"line_number":10,"context_line":"a4fc1bcd08c12324070fde5e500366ff821d468f/nova/cmd/manage.py#L721"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch fix it."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ff82abbf_cb22b652","line":10,"updated":"2017-11-27 15:48:46.000000000","message":"This is not a problem statement, please describe the problem and the fix. Github (et al) urls are not great to include in commit messages.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"02cebe23ac34bd3a240381ff13eb399ed7b9372a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"cli \u0027nova-manage db sync\u0027 can\u0027t upgrade cell1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/"},{"line_number":10,"context_line":"a4fc1bcd08c12324070fde5e500366ff821d468f/nova/cmd/manage.py#L721"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch fix it."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ff82abbf_6427e5cb","line":10,"in_reply_to":"ff82abbf_cb22b652","updated":"2017-11-29 08:24:15.000000000","message":"Done","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7ba173bdc01dbfa537063c5301e7f24098db42ab","unresolved":false,"context_lines":[{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/"},{"line_number":10,"context_line":"a4fc1bcd08c12324070fde5e500366ff821d468f/nova/cmd/manage.py#L721"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch fix it."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I4b966e25bb49e3645c42ccdb9a89a7fd2a4f423e"},{"line_number":15,"context_line":"Closes-Bug: #1731849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ff82abbf_8b182e1e","line":12,"updated":"2017-11-27 15:48:46.000000000","message":"Please describe how/why.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"02cebe23ac34bd3a240381ff13eb399ed7b9372a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"https://github.com/openstack/nova/blob/"},{"line_number":10,"context_line":"a4fc1bcd08c12324070fde5e500366ff821d468f/nova/cmd/manage.py#L721"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch fix it."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I4b966e25bb49e3645c42ccdb9a89a7fd2a4f423e"},{"line_number":15,"context_line":"Closes-Bug: #1731849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ff82abbf_842229b8","line":12,"in_reply_to":"ff82abbf_8b182e1e","updated":"2017-11-29 08:24:15.000000000","message":"Done","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bafd50fba98328f1ed1a323426ebe3d75a982e59","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     licanwei \u003cli.canwei2@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-11-29 00:24:31 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage syncing all cells databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_107f6315","line":7,"updated":"2018-03-14 17:58:48.000000000","message":"\"Make nova-manage capable of syncing all cell databases\"","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     licanwei \u003cli.canwei2@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-11-29 00:24:31 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage syncing all cells databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_90123762","line":7,"in_reply_to":"df7087c5_107f6315","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bafd50fba98328f1ed1a323426ebe3d75a982e59","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage syncing all cells databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just olny cell0."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_307ce71d","line":9,"range":{"start_line":9,"start_character":54,"end_line":9,"end_character":59},"updated":"2018-03-14 17:58:48.000000000","message":"This is not correct. It syncs whatever database is configured in [database].","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"6541e3c4921b7c6bb4eb7ec78f7a133233aec72f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage syncing all cells databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just olny cell0."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_eb443576","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":20},"updated":"2018-03-15 03:25:32.000000000","message":"nova-manage db sync","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage syncing all cells databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just olny cell0."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_b0173b52","line":9,"range":{"start_line":9,"start_character":54,"end_line":9,"end_character":59},"in_reply_to":"df7087c5_307ce71d","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage syncing all cells databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just olny cell0."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_500c9f41","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":20},"in_reply_to":"df7087c5_eb443576","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bafd50fba98328f1ed1a323426ebe3d75a982e59","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just olny cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_d0748b38","line":11,"range":{"start_line":11,"start_character":9,"end_line":11,"end_character":13},"updated":"2018-03-14 17:58:48.000000000","message":"\"only\"","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The nova-manage sync command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just olny cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_7009a32f","line":11,"range":{"start_line":11,"start_character":9,"end_line":11,"end_character":13},"in_reply_to":"df7087c5_d0748b38","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"3b64cc0677354760737e209ff884b4f6b29158fc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage capable of syncing all cell databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_130151b0","line":9,"range":{"start_line":9,"start_character":59,"end_line":9,"end_character":64},"updated":"2018-03-19 09:48:02.000000000","message":"As mentioned by Dan, this command syncs whichever DB url is present in the [database] option in the config-file provided. So it could also be any other cell, depending on the config option/file used.","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"672aa862a0cea8c82d992c8d017b8f49cb6026a1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make nova-manage capable of syncing all cell databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_cc90f851","line":9,"range":{"start_line":9,"start_character":59,"end_line":9,"end_character":64},"in_reply_to":"df7087c5_130151b0","updated":"2018-03-20 08:31:59.000000000","message":"Done","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"3b64cc0677354760737e209ff884b4f6b29158fc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Make nova-manage capable of syncing all cell databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_33c1f52f","line":10,"range":{"start_line":10,"start_character":25,"end_line":10,"end_character":26},"updated":"2018-03-19 09:48:02.000000000","message":"nit: databases","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"672aa862a0cea8c82d992c8d017b8f49cb6026a1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Make nova-manage capable of syncing all cell databases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_6c9d2c65","line":10,"range":{"start_line":10,"start_character":25,"end_line":10,"end_character":26},"in_reply_to":"df7087c5_33c1f52f","updated":"2018-03-20 08:31:59.000000000","message":"Done","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"3b64cc0677354760737e209ff884b4f6b29158fc","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_93332163","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":20},"updated":"2018-03-19 09:48:02.000000000","message":"This will happen if the \"--all-cells\" option is provided, else by default it will sync only cell0 (unless the --local_cell option is set).","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"672aa862a0cea8c82d992c8d017b8f49cb6026a1","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command just implemented syncing cell0 database."},{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_4c8e282f","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":20},"in_reply_to":"df7087c5_93332163","updated":"2018-03-20 08:31:59.000000000","message":"Done","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"3b64cc0677354760737e209ff884b4f6b29158fc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I4b966e25bb49e3645c42ccdb9a89a7fd2a4f423e"},{"line_number":16,"context_line":"Closes-Bug: #1731849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_1362b1d9","line":13,"range":{"start_line":13,"start_character":40,"end_line":13,"end_character":49},"updated":"2018-03-19 09:48:02.000000000","message":"nit: \"syncing the databases of all the cells.\"","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"672aa862a0cea8c82d992c8d017b8f49cb6026a1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"We need all cells database upgrade to the most recent version,"},{"line_number":11,"context_line":"not just only cell0."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch implements syncing all cells databeses."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I4b966e25bb49e3645c42ccdb9a89a7fd2a4f423e"},{"line_number":16,"context_line":"Closes-Bug: #1731849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df7087c5_0c88301d","line":13,"range":{"start_line":13,"start_character":40,"end_line":13,"end_character":49},"in_reply_to":"df7087c5_1362b1d9","updated":"2018-03-20 08:31:59.000000000","message":"Done","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"e21911d41f267f3975b0fdc2d5fa15d2c34a3ab1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command can\u0027t sync all cell databases."},{"line_number":10,"context_line":"We propose to add --all-cells option to this command."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch implements syncing the databeses of all the cells."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I4b966e25bb49e3645c42ccdb9a89a7fd2a4f423e"},{"line_number":15,"context_line":"Closes-Bug: #1731849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"df7087c5_6a9b6872","line":12,"range":{"start_line":12,"start_character":39,"end_line":12,"end_character":41},"updated":"2018-03-23 09:47:56.000000000","message":"nit: databases","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"591d7453d6f5388484c31875ad6e5438c2e68cc7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The \u0027nova-manage db sync\u0027 command can\u0027t sync all cell databases."},{"line_number":10,"context_line":"We propose to add --all-cells option to this command."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch implements syncing the databeses of all the cells."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I4b966e25bb49e3645c42ccdb9a89a7fd2a4f423e"},{"line_number":15,"context_line":"Closes-Bug: #1731849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"bf659307_14a221fe","line":12,"range":{"start_line":12,"start_character":39,"end_line":12,"end_character":41},"in_reply_to":"df7087c5_6a9b6872","updated":"2018-03-29 07:52:06.000000000","message":"Done","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"}],"doc/source/cli/nova-manage.rst":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"a3ed4857a545118ae56f99bd87c22eef823e27b1","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    the cell0 database). If ``--local_cell`` is specified, then only the main"},{"line_number":59,"context_line":"    database in the current cell is upgraded. The local database connection is"},{"line_number":60,"context_line":"    determined by ``[database]/connection`` in the configuration file passed to"},{"line_number":61,"context_line":"    nova-manage. Specifying --all-cells will sync all cell databases."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"``nova-manage db archive_deleted_rows [--max_rows \u003cnumber\u003e] [--verbose] [--until-complete] [--purge]``"},{"line_number":64,"context_line":"    Move deleted rows from production tables to shadow tables. Note that the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df7087c5_d486dfb9","line":61,"range":{"start_line":61,"start_character":17,"end_line":61,"end_character":69},"updated":"2018-03-23 08:52:41.000000000","message":"Better also mention that user should have API_DB connection configured to use --all-cells, like in line 66 and 67","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"2f86da28a81e1dffae9231d32a1b01f2ba359e04","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    the cell0 database). If ``--local_cell`` is specified, then only the main"},{"line_number":59,"context_line":"    database in the current cell is upgraded. The local database connection is"},{"line_number":60,"context_line":"    determined by ``[database]/connection`` in the configuration file passed to"},{"line_number":61,"context_line":"    nova-manage. Specifying --all-cells will sync all cell databases."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"``nova-manage db archive_deleted_rows [--max_rows \u003cnumber\u003e] [--verbose] [--until-complete] [--purge]``"},{"line_number":64,"context_line":"    Move deleted rows from production tables to shadow tables. Note that the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"df7087c5_ea58d88a","line":61,"range":{"start_line":61,"start_character":17,"end_line":61,"end_character":69},"in_reply_to":"df7087c5_d486dfb9","updated":"2018-03-23 10:02:45.000000000","message":"+1","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"591d7453d6f5388484c31875ad6e5438c2e68cc7","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    the cell0 database). If ``--local_cell`` is specified, then only the main"},{"line_number":59,"context_line":"    database in the current cell is upgraded. The local database connection is"},{"line_number":60,"context_line":"    determined by ``[database]/connection`` in the configuration file passed to"},{"line_number":61,"context_line":"    nova-manage. Specifying --all-cells will sync all cell databases."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"``nova-manage db archive_deleted_rows [--max_rows \u003cnumber\u003e] [--verbose] [--until-complete] [--purge]``"},{"line_number":64,"context_line":"    Move deleted rows from production tables to shadow tables. Note that the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"bf659307_b406d51b","line":61,"range":{"start_line":61,"start_character":17,"end_line":61,"end_character":69},"in_reply_to":"df7087c5_d486dfb9","updated":"2018-03-29 07:52:06.000000000","message":"Done","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    database in the current cell is upgraded. The local database connection is"},{"line_number":60,"context_line":"    determined by ``[database]/connection`` in the configuration file passed to"},{"line_number":61,"context_line":"    nova-manage. Specifying --all-cells will sync all cell databases and"},{"line_number":62,"context_line":"    CONF.api_database.connection is required in the config file."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"``nova-manage db archive_deleted_rows [--max_rows \u003cnumber\u003e] [--verbose] [--until-complete] [--purge]``"},{"line_number":65,"context_line":"    Move deleted rows from production tables to shadow tables. Note that the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5f7c97a3_dd67dfb6","line":62,"range":{"start_line":62,"start_character":4,"end_line":62,"end_character":32},"updated":"2018-05-11 15:56:23.000000000","message":"nit: this is the way it looks in code, but the way we usually document config options is like this:\n\n``[api_database]/connection``","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    database in the current cell is upgraded. The local database connection is"},{"line_number":60,"context_line":"    determined by ``[database]/connection`` in the configuration file passed to"},{"line_number":61,"context_line":"    nova-manage. Specifying --all-cells will sync all cell databases and"},{"line_number":62,"context_line":"    CONF.api_database.connection is required in the config file."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"``nova-manage db archive_deleted_rows [--max_rows \u003cnumber\u003e] [--verbose] [--until-complete] [--purge]``"},{"line_number":65,"context_line":"    Move deleted rows from production tables to shadow tables. Note that the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5f7c97a3_c8b97f7c","line":62,"range":{"start_line":62,"start_character":4,"end_line":62,"end_character":32},"in_reply_to":"5f7c97a3_dd67dfb6","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"}],"nova/cmd/manage.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"010ff10f5a1b2cf7df2a2975f720455e84c6ed5c","unresolved":false,"context_lines":[{"line_number":728,"context_line":"                    with context.target_cell(ctxt, cell_mapping) as cctxt:"},{"line_number":729,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":730,"context_line":"            except exception.CellMappingNotFound:"},{"line_number":731,"context_line":"                print(_(\u0027WARNING: cell0 mapping not found - not\u0027"},{"line_number":732,"context_line":"                        \u0027 syncing cell0.\u0027))"},{"line_number":733,"context_line":"            except Exception as e:"},{"line_number":734,"context_line":"                print(_(\"\"\"ERROR: Could not access cell0."},{"line_number":735,"context_line":"Has the nova_api database been created?"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_c569c3be","line":732,"range":{"start_line":731,"start_character":0,"end_line":732,"end_character":43},"updated":"2017-11-13 09:55:28.000000000","message":"The print message also should change.","commit_id":"54c063cb4b46ed92726ebdbccc717b09946d29ad"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"cc9f8a842e50feae1bba952dccdec5a8d268ba77","unresolved":false,"context_lines":[{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"},{"line_number":725,"context_line":"                    cell_mapping \u003d objects.CellMapping.get_by_uuid(ctxt,"},{"line_number":726,"context_line":"                                                cell.uuid)"},{"line_number":727,"context_line":"                    with context.target_cell(ctxt, cell_mapping) as cctxt:"},{"line_number":728,"context_line":"                        print(_(\u0027syncing %s...\u0027) % cell.name)"},{"line_number":729,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_e08ff62b","line":726,"range":{"start_line":725,"start_character":0,"end_line":726,"end_character":58},"updated":"2017-11-14 02:54:57.000000000","message":"It is unnecessary.\n\u0027cells\u0027 are a list of CellMapping.\nSo you can use \u0027cell\u0027 instead of \u0027cell_mapping\u0027.","commit_id":"d3961f456a0810b4ab6042fdb0dbb0143d0bd381"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"490b494bab9f9163bb5bf6ebe9ac069b4fb5dd5c","unresolved":false,"context_lines":[{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"},{"line_number":725,"context_line":"                    cell_mapping \u003d objects.CellMapping.get_by_uuid(ctxt,"},{"line_number":726,"context_line":"                                                cell.uuid)"},{"line_number":727,"context_line":"                    with context.target_cell(ctxt, cell_mapping) as cctxt:"},{"line_number":728,"context_line":"                        print(_(\u0027syncing %s...\u0027) % cell.name)"},{"line_number":729,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_6d79962d","line":726,"range":{"start_line":725,"start_character":0,"end_line":726,"end_character":58},"in_reply_to":"1f485f77_601786a5","updated":"2017-11-15 08:08:04.000000000","message":"Done","commit_id":"d3961f456a0810b4ab6042fdb0dbb0143d0bd381"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"60e174f02a2443ee31cc6bb54e4665739a881639","unresolved":false,"context_lines":[{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"},{"line_number":725,"context_line":"                    cell_mapping \u003d objects.CellMapping.get_by_uuid(ctxt,"},{"line_number":726,"context_line":"                                                cell.uuid)"},{"line_number":727,"context_line":"                    with context.target_cell(ctxt, cell_mapping) as cctxt:"},{"line_number":728,"context_line":"                        print(_(\u0027syncing %s...\u0027) % cell.name)"},{"line_number":729,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_601786a5","line":726,"range":{"start_line":725,"start_character":0,"end_line":726,"end_character":58},"in_reply_to":"1f485f77_e08ff62b","updated":"2017-11-14 03:12:12.000000000","message":"+1","commit_id":"d3961f456a0810b4ab6042fdb0dbb0143d0bd381"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"60e174f02a2443ee31cc6bb54e4665739a881639","unresolved":false,"context_lines":[{"line_number":732,"context_line":"                print(_(\u0027WARNING: cell mapping not found - not\u0027"},{"line_number":733,"context_line":"                        \u0027 syncing.\u0027))"},{"line_number":734,"context_line":"            except Exception as e:"},{"line_number":735,"context_line":"                print(_(\"\"\"ERROR: Could not access cell0."},{"line_number":736,"context_line":"Has the nova_api database been created?"},{"line_number":737,"context_line":"Has the nova_cell0 database been created?"},{"line_number":738,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_20118ead","line":735,"range":{"start_line":735,"start_character":51,"end_line":735,"end_character":56},"updated":"2017-11-14 03:12:12.000000000","message":"also need be changed.","commit_id":"d3961f456a0810b4ab6042fdb0dbb0143d0bd381"},{"author":{"_account_id":17814,"name":"fengzhr","email":"fengzhr@awcloud.com","username":"space"},"change_message_id":"4247c2d17563b3eac2780c78453c27036ba0f966","unresolved":false,"context_lines":[{"line_number":732,"context_line":"                print(_(\u0027WARNING: cell mapping not found - not\u0027"},{"line_number":733,"context_line":"                        \u0027 syncing.\u0027))"},{"line_number":734,"context_line":"            except Exception as e:"},{"line_number":735,"context_line":"                print(_(\"\"\"ERROR: Could not access cell0."},{"line_number":736,"context_line":"Has the nova_api database been created?"},{"line_number":737,"context_line":"Has the nova_cell0 database been created?"},{"line_number":738,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_a9068285","line":735,"range":{"start_line":735,"start_character":51,"end_line":735,"end_character":56},"in_reply_to":"1f485f77_20118ead","updated":"2017-11-14 09:33:17.000000000","message":"+1, cells","commit_id":"d3961f456a0810b4ab6042fdb0dbb0143d0bd381"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"490b494bab9f9163bb5bf6ebe9ac069b4fb5dd5c","unresolved":false,"context_lines":[{"line_number":732,"context_line":"                print(_(\u0027WARNING: cell mapping not found - not\u0027"},{"line_number":733,"context_line":"                        \u0027 syncing.\u0027))"},{"line_number":734,"context_line":"            except Exception as e:"},{"line_number":735,"context_line":"                print(_(\"\"\"ERROR: Could not access cell0."},{"line_number":736,"context_line":"Has the nova_api database been created?"},{"line_number":737,"context_line":"Has the nova_cell0 database been created?"},{"line_number":738,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_2d739e4f","line":735,"range":{"start_line":735,"start_character":51,"end_line":735,"end_character":56},"in_reply_to":"1f485f77_a9068285","updated":"2017-11-15 08:08:04.000000000","message":"Done","commit_id":"d3961f456a0810b4ab6042fdb0dbb0143d0bd381"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"72062294309b933082df7207fc8fcfaf8134fe84","unresolved":false,"context_lines":[{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Has the nova cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"},{"line_number":734,"context_line":"Has \"nova-manage cell_v2 create_cell\" been run?"},{"line_number":735,"context_line":"Is [api_database]/connection set in nova.conf?"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f485f77_badc43e4","line":732,"range":{"start_line":732,"start_character":0,"end_line":732,"end_character":41},"updated":"2017-11-16 04:06:34.000000000","message":"I think this line might need rewording, the current one might be missleading","commit_id":"8f32da2255a846988d388787472b4d858f88c852"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"3e1e6c83d34b3cff565a1a60c06934b72f201df7","unresolved":false,"context_lines":[{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Has the nova cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"},{"line_number":734,"context_line":"Has \"nova-manage cell_v2 create_cell\" been run?"},{"line_number":735,"context_line":"Is [api_database]/connection set in nova.conf?"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f485f77_3ba4afb9","line":732,"range":{"start_line":732,"start_character":0,"end_line":732,"end_character":41},"in_reply_to":"1f485f77_badc43e4","updated":"2017-11-17 08:16:43.000000000","message":"How about \u0027Has the cell_v2 database been created?\u0027","commit_id":"8f32da2255a846988d388787472b4d858f88c852"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"c64408a47c9560e9e79c1abc96bac8c047e85617","unresolved":false,"context_lines":[{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Has the cell_v2 database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"},{"line_number":734,"context_line":"Has \"nova-manage cell_v2 create_cell\" been run?"},{"line_number":735,"context_line":"Is [api_database]/connection set in nova.conf?"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_01778104","line":732,"range":{"start_line":732,"start_character":0,"end_line":732,"end_character":38},"updated":"2017-11-22 08:03:54.000000000","message":"Also, here, \"cell_v2 database\" seems to me a database named cell_v2, which is misleading, I think we might reword the whole sentence here to be more clear.","commit_id":"df35439fcfd75785f77638d0eef705b2ac46bc79"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7ba173bdc01dbfa537063c5301e7f24098db42ab","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        if not local_cell:"},{"line_number":720,"context_line":"            ctxt \u003d context.RequestContext()"},{"line_number":721,"context_line":"            # Multiple cells sync."},{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_ebc3fa87","line":721,"updated":"2017-11-27 15:48:46.000000000","message":"This changes the behavior of the command, which I don\u0027t think is appropriate. You should add a --all-cells that enables this behavior.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bafd50fba98328f1ed1a323426ebe3d75a982e59","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        if not local_cell:"},{"line_number":720,"context_line":"            ctxt \u003d context.RequestContext()"},{"line_number":721,"context_line":"            # Multiple cells sync."},{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"}],"source_content_type":"text/x-python","patch_set":6,"id":"df7087c5_f0a66fab","line":721,"in_reply_to":"ff82abbf_70ea60d8","updated":"2018-03-14 17:58:48.000000000","message":"It doesn\u0027t upgrade only cell0 currently. This changes the behavior of the command, which should happen with a flag. We have several other commands that now take --all-cells, so there is precedent for this behavior.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"14fbf3a9eaca6be2e37fab0a5ff9c691c699b5c7","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        if not local_cell:"},{"line_number":720,"context_line":"            ctxt \u003d context.RequestContext()"},{"line_number":721,"context_line":"            # Multiple cells sync."},{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_70ea60d8","line":721,"in_reply_to":"ff82abbf_ebc3fa87","updated":"2017-11-28 10:42:22.000000000","message":"As mentioned in the NOTE, the sync command should upgrade all cells database to the most recent version, not just olny cell0.\nSo I don\u0027t think we need add a new --all-cells.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7ba173bdc01dbfa537063c5301e7f24098db42ab","unresolved":false,"context_lines":[{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"},{"line_number":725,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"},{"line_number":726,"context_line":"                        print(_(\u0027syncing %s...\u0027) % cell.name)"},{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_0b3e5e8a","line":726,"range":{"start_line":726,"start_character":51,"end_line":726,"end_character":60},"updated":"2017-11-27 15:48:46.000000000","message":"This cell.name field is not required, so please use cell.identity. Also, please prefix the %s with \u0027cell\" so it\u0027s clear that the thing being printed is a cell and not a database name or something else.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"02cebe23ac34bd3a240381ff13eb399ed7b9372a","unresolved":false,"context_lines":[{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"},{"line_number":725,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"},{"line_number":726,"context_line":"                        print(_(\u0027syncing %s...\u0027) % cell.name)"},{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_c447d176","line":726,"range":{"start_line":726,"start_character":51,"end_line":726,"end_character":60},"in_reply_to":"ff82abbf_0b3e5e8a","updated":"2017-11-29 08:24:15.000000000","message":"Done","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7ba173bdc01dbfa537063c5301e7f24098db42ab","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Has the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_ab4e5235","line":730,"updated":"2017-11-27 15:48:46.000000000","message":"Shouldn\u0027t we continue to the next cell if we fail to sync one and then report that status differently in our return code? Definitely report *which* cell we failed to sync.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"02cebe23ac34bd3a240381ff13eb399ed7b9372a","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Has the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_2458fd53","line":730,"in_reply_to":"ff82abbf_ab4e5235","updated":"2017-11-29 08:24:15.000000000","message":"If there was an exception when syncing, we should fix the exception and then run the command again.","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7ba173bdc01dbfa537063c5301e7f24098db42ab","unresolved":false,"context_lines":[{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Has the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"},{"line_number":734,"context_line":"Has \"nova-manage cell_v2 create_cell\" been run?"},{"line_number":735,"context_line":"Is [api_database]/connection set in nova.conf?"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_6b660ac4","line":732,"range":{"start_line":732,"start_character":0,"end_line":732,"end_character":3},"updated":"2017-11-27 15:48:46.000000000","message":"Have","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"02cebe23ac34bd3a240381ff13eb399ed7b9372a","unresolved":false,"context_lines":[{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Has the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"},{"line_number":734,"context_line":"Has \"nova-manage cell_v2 create_cell\" been run?"},{"line_number":735,"context_line":"Is [api_database]/connection set in nova.conf?"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff82abbf_4453c139","line":732,"range":{"start_line":732,"start_character":0,"end_line":732,"end_character":3},"in_reply_to":"ff82abbf_6b660ac4","updated":"2017-11-29 08:24:15.000000000","message":"Done","commit_id":"610432348898d767b27727dbecbaa5217e729767"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bafd50fba98328f1ed1a323426ebe3d75a982e59","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        if not local_cell:"},{"line_number":720,"context_line":"            ctxt \u003d context.RequestContext()"},{"line_number":721,"context_line":"            # Multiple cells sync."},{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_b0beb7b1","line":721,"updated":"2018-03-14 17:58:48.000000000","message":"As before, please make this an --all-cells flag like our other commands.","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        if not local_cell:"},{"line_number":720,"context_line":"            ctxt \u003d context.RequestContext()"},{"line_number":721,"context_line":"            # Multiple cells sync."},{"line_number":722,"context_line":"            try:"},{"line_number":723,"context_line":"                cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":724,"context_line":"                for cell in cells:"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_705be353","line":721,"in_reply_to":"df7087c5_b0beb7b1","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"7ac40f76c2b8a1800c1c9f5a32a48a11c9b9460d","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Have the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa0c359_2cfb2a79","line":730,"updated":"2018-02-12 09:20:50.000000000","message":"The error message doesn\u0027t tell which cell could not be synced and so its not that useful. IMO, we should report which particular cell failed so that it helps the operator.","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bafd50fba98328f1ed1a323426ebe3d75a982e59","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Have the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_50af1b7c","line":730,"in_reply_to":"3fa0c359_2cfb2a79","updated":"2018-03-14 17:58:48.000000000","message":"+1","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Have the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_9039d7f3","line":730,"in_reply_to":"3fa0c359_2cfb2a79","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"6541e3c4921b7c6bb4eb7ec78f7a133233aec72f","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Have the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_8616d048","line":730,"in_reply_to":"3fa0c359_2cfb2a79","updated":"2018-03-15 03:25:32.000000000","message":"The get_all() method is also in this try logic, Should handle CellMappingNotFound exception and other one separately.","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Have the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_f034d3fd","line":730,"in_reply_to":"df7087c5_50af1b7c","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9f7de81450a0f2ee3e4d500eae48d646e36f1eb8","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":728,"context_line":"                        print(_(\u0027done\u0027))"},{"line_number":729,"context_line":"            except Exception as e:"},{"line_number":730,"context_line":"                print(_(\"\"\"ERROR: Could not access cells."},{"line_number":731,"context_line":"Has the nova_api database been created?"},{"line_number":732,"context_line":"Have the cells database been created?"},{"line_number":733,"context_line":"Has \"nova-manage api_db sync\" been run?"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_7020c3b1","line":730,"in_reply_to":"df7087c5_8616d048","updated":"2018-03-19 08:51:54.000000000","message":"Done","commit_id":"adf65c98454b296edbb2cdf843d611eb55029393"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"3b64cc0677354760737e209ff884b4f6b29158fc","unresolved":false,"context_lines":[{"line_number":445,"context_line":"               \u0027to all cells\u0027)"},{"line_number":446,"context_line":"    @args(\u0027version2\u0027, metavar\u003d\u0027VERSION\u0027, nargs\u003d\u0027?\u0027, help\u003d\u0027Database version\u0027)"},{"line_number":447,"context_line":"    @args(\u0027--all-cells\u0027, dest\u003d\u0027all_cells\u0027, action\u003d\u0027store_true\u0027, default\u003dFalse,"},{"line_number":448,"context_line":"          help\u003d\u0027Sync all cell databases\u0027)"},{"line_number":449,"context_line":"    def sync(self, version\u003dNone, local_cell\u003dFalse, version2\u003dNone,"},{"line_number":450,"context_line":"             all_cells\u003dFalse):"},{"line_number":451,"context_line":"        \"\"\"Sync the database up to the most recent version.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"df7087c5_338d757b","line":448,"range":{"start_line":448,"start_character":16,"end_line":448,"end_character":39},"updated":"2018-03-19 09:48:02.000000000","message":"nit: Sync the databases of all the cells.","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"672aa862a0cea8c82d992c8d017b8f49cb6026a1","unresolved":false,"context_lines":[{"line_number":445,"context_line":"               \u0027to all cells\u0027)"},{"line_number":446,"context_line":"    @args(\u0027version2\u0027, metavar\u003d\u0027VERSION\u0027, nargs\u003d\u0027?\u0027, help\u003d\u0027Database version\u0027)"},{"line_number":447,"context_line":"    @args(\u0027--all-cells\u0027, dest\u003d\u0027all_cells\u0027, action\u003d\u0027store_true\u0027, default\u003dFalse,"},{"line_number":448,"context_line":"          help\u003d\u0027Sync all cell databases\u0027)"},{"line_number":449,"context_line":"    def sync(self, version\u003dNone, local_cell\u003dFalse, version2\u003dNone,"},{"line_number":450,"context_line":"             all_cells\u003dFalse):"},{"line_number":451,"context_line":"        \"\"\"Sync the database up to the most recent version.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"df7087c5_2c8e5427","line":448,"range":{"start_line":448,"start_character":16,"end_line":448,"end_character":39},"in_reply_to":"df7087c5_338d757b","updated":"2018-03-20 08:31:59.000000000","message":"Done","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"3b64cc0677354760737e209ff884b4f6b29158fc","unresolved":false,"context_lines":[{"line_number":455,"context_line":"                    \"versions of nova. Use the \u0027VERSION\u0027 positional argument \""},{"line_number":456,"context_line":"                    \"instead\"))"},{"line_number":457,"context_line":"            version2 \u003d version"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        if not local_cell:"},{"line_number":460,"context_line":"            ctxt \u003d context.RequestContext()"},{"line_number":461,"context_line":"            if all_cells:"}],"source_content_type":"text/x-python","patch_set":8,"id":"df7087c5_26d691f3","line":458,"updated":"2018-03-19 09:48:02.000000000","message":"I guess we can safely assume people will not try local_cell and all_cells at the same time... as in we will not have a situation when both are set? just saying it aloud.","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"3b64cc0677354760737e209ff884b4f6b29158fc","unresolved":false,"context_lines":[{"line_number":464,"context_line":"                    cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":465,"context_line":"                except db_exc.DBError:"},{"line_number":466,"context_line":"                    print(_(\u0027Unable to get cell list from API DB. \u0027"},{"line_number":467,"context_line":"                            \u0027Is it configured?\u0027))"},{"line_number":468,"context_line":"                    return 1"},{"line_number":469,"context_line":"                for cell in cells:"},{"line_number":470,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"}],"source_content_type":"text/x-python","patch_set":8,"id":"df7087c5_4620654a","line":467,"range":{"start_line":467,"start_character":29,"end_line":467,"end_character":34},"updated":"2018-03-19 09:48:02.000000000","message":"nit: change the \"it\" to something specific like - Please check your config file to make sure that CONF.api_database.connection is set","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"672aa862a0cea8c82d992c8d017b8f49cb6026a1","unresolved":false,"context_lines":[{"line_number":464,"context_line":"                    cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":465,"context_line":"                except db_exc.DBError:"},{"line_number":466,"context_line":"                    print(_(\u0027Unable to get cell list from API DB. \u0027"},{"line_number":467,"context_line":"                            \u0027Is it configured?\u0027))"},{"line_number":468,"context_line":"                    return 1"},{"line_number":469,"context_line":"                for cell in cells:"},{"line_number":470,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"}],"source_content_type":"text/x-python","patch_set":8,"id":"df7087c5_0c9d9058","line":467,"range":{"start_line":467,"start_character":29,"end_line":467,"end_character":34},"in_reply_to":"df7087c5_4620654a","updated":"2018-03-20 08:31:59.000000000","message":"Done","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"43d1ee440b31f05c295b9cee253dd1a5c07c49d2","unresolved":false,"context_lines":[{"line_number":462,"context_line":"                # Multiple cells sync."},{"line_number":463,"context_line":"                try:"},{"line_number":464,"context_line":"                    cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":465,"context_line":"                except db_exc.DBError:"},{"line_number":466,"context_line":"                    print(_(\u0027Unable to get cell list from API DB. \u0027"},{"line_number":467,"context_line":"                            \u0027Please make sure that \u0027"},{"line_number":468,"context_line":"                            \u0027CONF.api_database.connection is set\u0027))"},{"line_number":469,"context_line":"                    return 1"},{"line_number":470,"context_line":"                for cell in cells:"},{"line_number":471,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"},{"line_number":472,"context_line":"                        print(_(\u0027syncing %(cell)s...\u0027) % dict(cell\u003dcell.uuid))"}],"source_content_type":"text/x-python","patch_set":9,"id":"df7087c5_7b8de079","line":469,"range":{"start_line":465,"start_character":0,"end_line":469,"end_character":28},"updated":"2018-03-20 11:28:09.000000000","message":"nit, mention the meaning of return value like in ln 515?","commit_id":"afdb91c1035f5ca957693997179e7a80a7009498"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"43d1ee440b31f05c295b9cee253dd1a5c07c49d2","unresolved":false,"context_lines":[{"line_number":475,"context_line":"                return 0"},{"line_number":476,"context_line":"            else:"},{"line_number":477,"context_line":"                # only sync cell0."},{"line_number":478,"context_line":"                try:"},{"line_number":479,"context_line":"                    cell_mapping \u003d objects.CellMapping.get_by_uuid(ctxt,"},{"line_number":480,"context_line":"                                                objects.CellMapping.CELL0_UUID)"},{"line_number":481,"context_line":"                    with context.target_cell(ctxt, cell_mapping) as cctxt:"},{"line_number":482,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":483,"context_line":"                except exception.CellMappingNotFound:"}],"source_content_type":"text/x-python","patch_set":9,"id":"df7087c5_db266c69","line":480,"range":{"start_line":478,"start_character":0,"end_line":480,"end_character":79},"updated":"2018-03-20 11:28:09.000000000","message":"I think we can do this with line 464 together, as we also need API DB connection to get cell0 mapping info.","commit_id":"afdb91c1035f5ca957693997179e7a80a7009498"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"ea782ed196a46b780a3ba7586e192c0c24e2e415","unresolved":false,"context_lines":[{"line_number":475,"context_line":"                return 0"},{"line_number":476,"context_line":"            else:"},{"line_number":477,"context_line":"                # only sync cell0."},{"line_number":478,"context_line":"                try:"},{"line_number":479,"context_line":"                    cell_mapping \u003d objects.CellMapping.get_by_uuid(ctxt,"},{"line_number":480,"context_line":"                                                objects.CellMapping.CELL0_UUID)"},{"line_number":481,"context_line":"                    with context.target_cell(ctxt, cell_mapping) as cctxt:"},{"line_number":482,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":483,"context_line":"                except exception.CellMappingNotFound:"}],"source_content_type":"text/x-python","patch_set":9,"id":"df7087c5_74f857c3","line":480,"range":{"start_line":478,"start_character":0,"end_line":480,"end_character":79},"in_reply_to":"df7087c5_db266c69","updated":"2018-03-22 07:00:20.000000000","message":"I think it\u0027s better to separate. If we just sync cell0, we don\u0027t need to get all cells.","commit_id":"afdb91c1035f5ca957693997179e7a80a7009498"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"2f86da28a81e1dffae9231d32a1b01f2ba359e04","unresolved":false,"context_lines":[{"line_number":466,"context_line":"                # Multiple cells sync."},{"line_number":467,"context_line":"                try:"},{"line_number":468,"context_line":"                    cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":469,"context_line":"                except db_exc.DBError:"},{"line_number":470,"context_line":"                    print(_(\u0027Unable to get cell list from API DB. \u0027"},{"line_number":471,"context_line":"                            \u0027Please make sure that \u0027"},{"line_number":472,"context_line":"                            \u0027CONF.api_database.connection is set\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"df7087c5_254e036f","line":469,"range":{"start_line":469,"start_character":16,"end_line":469,"end_character":22},"updated":"2018-03-23 10:02:45.000000000","message":"Is there other common exceptions need to process and then give user some friendly message or helps, like L491?","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"591d7453d6f5388484c31875ad6e5438c2e68cc7","unresolved":false,"context_lines":[{"line_number":466,"context_line":"                # Multiple cells sync."},{"line_number":467,"context_line":"                try:"},{"line_number":468,"context_line":"                    cells \u003d objects.CellMappingList.get_all(ctxt)"},{"line_number":469,"context_line":"                except db_exc.DBError:"},{"line_number":470,"context_line":"                    print(_(\u0027Unable to get cell list from API DB. \u0027"},{"line_number":471,"context_line":"                            \u0027Please make sure that \u0027"},{"line_number":472,"context_line":"                            \u0027CONF.api_database.connection is set\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf659307_d4590935","line":469,"range":{"start_line":469,"start_character":16,"end_line":469,"end_character":22},"in_reply_to":"df7087c5_254e036f","updated":"2018-03-29 07:52:06.000000000","message":"Here refer to L626","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":440,"context_line":"            print(encodeutils.safe_encode(pt.get_string()).decode())"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    @args(\u0027--version\u0027, metavar\u003d\u0027\u003cversion\u003e\u0027, help\u003dargparse.SUPPRESS)"},{"line_number":443,"context_line":"    @args(\u0027--local_cell\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":444,"context_line":"          help\u003d\u0027Only sync db in the local cell: do not attempt to fan-out\u0027"},{"line_number":445,"context_line":"               \u0027to all cells\u0027)"},{"line_number":446,"context_line":"    @args(\u0027version2\u0027, metavar\u003d\u0027VERSION\u0027, nargs\u003d\u0027?\u0027, help\u003d\u0027Database version\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_7d2fab3e","line":443,"range":{"start_line":443,"start_character":13,"end_line":443,"end_character":23},"updated":"2018-05-11 15:56:23.000000000","message":"It\u0027s a bit weird that we have both a --local_cell and would add an --all-cells option. The intent of --local_cell\u003dFalse is basically meant to be --all-cells (True). So why not just make that change? Alternatively we could deprecate --local_cell in favor of --all-cells since then the naming is a bit more obvious and consistent with the nova-manage db purge command. Although our docs and people do rely on the default behavior of db sync to also sync the cell0 database...so maybe that\u0027s why you\u0027ve left --local_cell alone. If that\u0027s the case, we should probably update the description for --local_cell to indicate:\n\n\"If --local_cell is specified, only the local cell database (configured via the [database]/connection configuration option) is synchronized, otherwise both the local cell and the cell0 database are synchronized. To synchronize all cells, use the --all-cells option.\"","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":440,"context_line":"            print(encodeutils.safe_encode(pt.get_string()).decode())"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    @args(\u0027--version\u0027, metavar\u003d\u0027\u003cversion\u003e\u0027, help\u003dargparse.SUPPRESS)"},{"line_number":443,"context_line":"    @args(\u0027--local_cell\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":444,"context_line":"          help\u003d\u0027Only sync db in the local cell: do not attempt to fan-out\u0027"},{"line_number":445,"context_line":"               \u0027to all cells\u0027)"},{"line_number":446,"context_line":"    @args(\u0027version2\u0027, metavar\u003d\u0027VERSION\u0027, nargs\u003d\u0027?\u0027, help\u003d\u0027Database version\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_a8b44382","line":443,"range":{"start_line":443,"start_character":13,"end_line":443,"end_character":23},"in_reply_to":"5f7c97a3_7d2fab3e","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":469,"context_line":"                except db_exc.DBError:"},{"line_number":470,"context_line":"                    print(_(\u0027Unable to get cell list from API DB. \u0027"},{"line_number":471,"context_line":"                            \u0027Please make sure that \u0027"},{"line_number":472,"context_line":"                            \u0027CONF.api_database.connection is set\u0027))"},{"line_number":473,"context_line":"                    return 1"},{"line_number":474,"context_line":"                for cell in cells:"},{"line_number":475,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_1de55709","line":472,"range":{"start_line":472,"start_character":29,"end_line":472,"end_character":57},"updated":"2018-05-11 15:56:23.000000000","message":"[api_database]/connection","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":469,"context_line":"                except db_exc.DBError:"},{"line_number":470,"context_line":"                    print(_(\u0027Unable to get cell list from API DB. \u0027"},{"line_number":471,"context_line":"                            \u0027Please make sure that \u0027"},{"line_number":472,"context_line":"                            \u0027CONF.api_database.connection is set\u0027))"},{"line_number":473,"context_line":"                    return 1"},{"line_number":474,"context_line":"                for cell in cells:"},{"line_number":475,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_48ad6f30","line":472,"range":{"start_line":472,"start_character":29,"end_line":472,"end_character":57},"in_reply_to":"5f7c97a3_1de55709","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                    return 1"},{"line_number":474,"context_line":"                for cell in cells:"},{"line_number":475,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"},{"line_number":476,"context_line":"                        print(_(\u0027Syncing %(cell)s...\u0027) % dict(cell\u003dcell.uuid))"},{"line_number":477,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":478,"context_line":"                        print(_(\u0027Done\u0027))"},{"line_number":479,"context_line":"                return 0"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_fdd09b21","line":476,"range":{"start_line":476,"start_character":72,"end_line":476,"end_character":76},"updated":"2018-05-11 15:56:23.000000000","message":"cell.identity","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                    return 1"},{"line_number":474,"context_line":"                for cell in cells:"},{"line_number":475,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"},{"line_number":476,"context_line":"                        print(_(\u0027Syncing %(cell)s...\u0027) % dict(cell\u003dcell.uuid))"},{"line_number":477,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":478,"context_line":"                        print(_(\u0027Done\u0027))"},{"line_number":479,"context_line":"                return 0"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_68aaab1a","line":476,"range":{"start_line":476,"start_character":72,"end_line":476,"end_character":76},"in_reply_to":"5f7c97a3_fdd09b21","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":475,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"},{"line_number":476,"context_line":"                        print(_(\u0027Syncing %(cell)s...\u0027) % dict(cell\u003dcell.uuid))"},{"line_number":477,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":478,"context_line":"                        print(_(\u0027Done\u0027))"},{"line_number":479,"context_line":"                return 0"},{"line_number":480,"context_line":"            else:"},{"line_number":481,"context_line":"                # only sync cell0."}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_1dceb781","line":478,"range":{"start_line":478,"start_character":24,"end_line":478,"end_character":40},"updated":"2018-05-11 15:56:23.000000000","message":"We don\u0027t really need this. I think the db_sync dumps its own output.","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":475,"context_line":"                    with context.target_cell(ctxt, cell) as cctxt:"},{"line_number":476,"context_line":"                        print(_(\u0027Syncing %(cell)s...\u0027) % dict(cell\u003dcell.uuid))"},{"line_number":477,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":478,"context_line":"                        print(_(\u0027Done\u0027))"},{"line_number":479,"context_line":"                return 0"},{"line_number":480,"context_line":"            else:"},{"line_number":481,"context_line":"                # only sync cell0."}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_08a3f745","line":478,"range":{"start_line":478,"start_character":24,"end_line":478,"end_character":40},"in_reply_to":"5f7c97a3_1dceb781","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":476,"context_line":"                        print(_(\u0027Syncing %(cell)s...\u0027) % dict(cell\u003dcell.uuid))"},{"line_number":477,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":478,"context_line":"                        print(_(\u0027Done\u0027))"},{"line_number":479,"context_line":"                return 0"},{"line_number":480,"context_line":"            else:"},{"line_number":481,"context_line":"                # only sync cell0."},{"line_number":482,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_5d9bcf64","line":479,"range":{"start_line":479,"start_character":16,"end_line":479,"end_character":24},"updated":"2018-05-11 15:56:23.000000000","message":"In the local-only or not all cells case, we return \"return migration.db_sync(version)\" - although as far as I can tell that always returns None so it would translate to 0 anyway.","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":476,"context_line":"                        print(_(\u0027Syncing %(cell)s...\u0027) % dict(cell\u003dcell.uuid))"},{"line_number":477,"context_line":"                        migration.db_sync(version2, context\u003dcctxt)"},{"line_number":478,"context_line":"                        print(_(\u0027Done\u0027))"},{"line_number":479,"context_line":"                return 0"},{"line_number":480,"context_line":"            else:"},{"line_number":481,"context_line":"                # only sync cell0."},{"line_number":482,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_28a03336","line":479,"range":{"start_line":479,"start_character":16,"end_line":479,"end_character":24},"in_reply_to":"5f7c97a3_5d9bcf64","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"}],"nova/tests/unit/test_nova_manage.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"7246a7b94cff907ef8a19f7861eb1ed008da0c22","unresolved":false,"context_lines":[{"line_number":546,"context_line":"    @mock.patch(\u0027nova.db.migration.db_sync\u0027)"},{"line_number":547,"context_line":"    def test_sync_cells(self, mock_db_sync, mock_get_all):"},{"line_number":548,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":549,"context_line":"        mock_cell0 \u003d mock.MagicMock(uuid\u003dobjects.CellMapping.CELL0_UUID,"},{"line_number":550,"context_line":"                                    name\u003d\u0027cell0\u0027)"},{"line_number":551,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":552,"context_line":"                                    name\u003d\u0027cell1\u0027)"},{"line_number":553,"context_line":"        mock_get_all.return_value \u003d [mock_cell0, mock_cell1]"},{"line_number":554,"context_line":"        with test.nested("},{"line_number":555,"context_line":"                mock.patch(\u0027nova.context.RequestContext\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_81b87176","line":552,"range":{"start_line":549,"start_character":0,"end_line":552,"end_character":49},"updated":"2017-11-22 08:08:40.000000000","message":"seems your mock here cannot work with context.target_cell, so it didn\u0027t went into your loop, consider what the original code does.","commit_id":"df35439fcfd75785f77638d0eef705b2ac46bc79"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"b01a13343c2a36bbffac8a0a74f2784b745fc9cf","unresolved":false,"context_lines":[{"line_number":551,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":552,"context_line":"                                    name\u003d\u0027cell1\u0027)"},{"line_number":553,"context_line":"        mock_get_all.return_value \u003d [mock_cell0, mock_cell1]"},{"line_number":554,"context_line":"        with test.nested("},{"line_number":555,"context_line":"                mock.patch(\u0027nova.context.RequestContext\u0027,"},{"line_number":556,"context_line":"                           return_value\u003dctxt)):"},{"line_number":557,"context_line":"            self.commands.sync(version\u003d4)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_c1a199ab","line":554,"range":{"start_line":554,"start_character":8,"end_line":554,"end_character":25},"updated":"2017-11-22 08:01:25.000000000","message":"don\u0027t need this anymore as you have only one mock now","commit_id":"df35439fcfd75785f77638d0eef705b2ac46bc79"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"6efc9295d8a4c5410c28c4f4431be759b7b2ea1e","unresolved":false,"context_lines":[{"line_number":749,"context_line":"                     mock.call(4)"},{"line_number":750,"context_line":"                ]"},{"line_number":751,"context_line":"            mock_db_sync.assert_has_calls(db_sync_calls)"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    @mock.patch.object(objects.CellMappingList, \u0027get_all\u0027,"},{"line_number":754,"context_line":"                       side_effect\u003ddb_exc.DBError)"},{"line_number":755,"context_line":"    def test_sync_all_cells_with_error(self, mock_get_all):"}],"source_content_type":"text/x-python","patch_set":8,"id":"df7087c5_a92592ad","line":752,"updated":"2018-03-19 10:00:35.000000000","message":"It would be nice-er to add the assertEqual for the output of the syncing also.","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"672aa862a0cea8c82d992c8d017b8f49cb6026a1","unresolved":false,"context_lines":[{"line_number":749,"context_line":"                     mock.call(4)"},{"line_number":750,"context_line":"                ]"},{"line_number":751,"context_line":"            mock_db_sync.assert_has_calls(db_sync_calls)"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    @mock.patch.object(objects.CellMappingList, \u0027get_all\u0027,"},{"line_number":754,"context_line":"                       side_effect\u003ddb_exc.DBError)"},{"line_number":755,"context_line":"    def test_sync_all_cells_with_error(self, mock_get_all):"}],"source_content_type":"text/x-python","patch_set":8,"id":"df7087c5_cc9eb853","line":752,"in_reply_to":"df7087c5_a92592ad","updated":"2018-03-20 08:31:59.000000000","message":"Done","commit_id":"d0187588ed0a5971078865bb6e7d14b1238c4b4c"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"e21911d41f267f3975b0fdc2d5fa15d2c34a3ab1","unresolved":false,"context_lines":[{"line_number":749,"context_line":"                ]"},{"line_number":750,"context_line":"            mock_db_sync.assert_has_calls(db_sync_calls)"},{"line_number":751,"context_line":"            self.assertEqual(0, ret)"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    @mock.patch.object(objects.CellMappingList, \u0027get_all\u0027,"},{"line_number":754,"context_line":"                       side_effect\u003ddb_exc.DBError)"},{"line_number":755,"context_line":"    def test_sync_all_cells_with_error(self, mock_get_all):"}],"source_content_type":"text/x-python","patch_set":10,"id":"df7087c5_0a02ec6f","line":752,"updated":"2018-03-23 09:47:56.000000000","message":"Check assertIn into the output like you have done in line 758.","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"591d7453d6f5388484c31875ad6e5438c2e68cc7","unresolved":false,"context_lines":[{"line_number":749,"context_line":"                ]"},{"line_number":750,"context_line":"            mock_db_sync.assert_has_calls(db_sync_calls)"},{"line_number":751,"context_line":"            self.assertEqual(0, ret)"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    @mock.patch.object(objects.CellMappingList, \u0027get_all\u0027,"},{"line_number":754,"context_line":"                       side_effect\u003ddb_exc.DBError)"},{"line_number":755,"context_line":"    def test_sync_all_cells_with_error(self, mock_get_all):"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf659307_545e5912","line":752,"in_reply_to":"df7087c5_0a02ec6f","updated":"2018-03-29 07:52:06.000000000","message":"Done","commit_id":"63e56f838a9d817e258f477d4142fbbe424b8a39"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":726,"context_line":"    def test_sync_all_cells(self, mock_db_sync, mock_get_all):"},{"line_number":727,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":728,"context_line":"        cell_ctxt \u003d context.get_admin_context()"},{"line_number":729,"context_line":"        mock_cell0 \u003d mock.MagicMock(uuid\u003dobjects.CellMapping.CELL0_UUID,"},{"line_number":730,"context_line":"                                    name\u003d\u0027cell0\u0027)"},{"line_number":731,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":732,"context_line":"                                    name\u003d\u0027cell1\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_5db42fd1","line":729,"range":{"start_line":729,"start_character":26,"end_line":729,"end_character":35},"updated":"2018-05-11 15:56:23.000000000","message":"We don\u0027t need to use mocks, just use real objects.CellMapping() objects.","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":726,"context_line":"    def test_sync_all_cells(self, mock_db_sync, mock_get_all):"},{"line_number":727,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":728,"context_line":"        cell_ctxt \u003d context.get_admin_context()"},{"line_number":729,"context_line":"        mock_cell0 \u003d mock.MagicMock(uuid\u003dobjects.CellMapping.CELL0_UUID,"},{"line_number":730,"context_line":"                                    name\u003d\u0027cell0\u0027)"},{"line_number":731,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":732,"context_line":"                                    name\u003d\u0027cell1\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_c85e5f50","line":729,"range":{"start_line":729,"start_character":26,"end_line":729,"end_character":35},"in_reply_to":"5f7c97a3_5db42fd1","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":728,"context_line":"        cell_ctxt \u003d context.get_admin_context()"},{"line_number":729,"context_line":"        mock_cell0 \u003d mock.MagicMock(uuid\u003dobjects.CellMapping.CELL0_UUID,"},{"line_number":730,"context_line":"                                    name\u003d\u0027cell0\u0027)"},{"line_number":731,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":732,"context_line":"                                    name\u003d\u0027cell1\u0027)"},{"line_number":733,"context_line":"        mock_get_all.return_value \u003d [mock_cell0, mock_cell1]"},{"line_number":734,"context_line":"        with test.nested("}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_1da1d794","line":731,"range":{"start_line":731,"start_character":41,"end_line":731,"end_character":71},"updated":"2018-05-11 15:56:23.000000000","message":"This looks really weird.","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":728,"context_line":"        cell_ctxt \u003d context.get_admin_context()"},{"line_number":729,"context_line":"        mock_cell0 \u003d mock.MagicMock(uuid\u003dobjects.CellMapping.CELL0_UUID,"},{"line_number":730,"context_line":"                                    name\u003d\u0027cell0\u0027)"},{"line_number":731,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":732,"context_line":"                                    name\u003d\u0027cell1\u0027)"},{"line_number":733,"context_line":"        mock_get_all.return_value \u003d [mock_cell0, mock_cell1]"},{"line_number":734,"context_line":"        with test.nested("}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_e8631b18","line":731,"range":{"start_line":731,"start_character":41,"end_line":731,"end_character":71},"in_reply_to":"5f7c97a3_1da1d794","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0874437946607c1989b2626763a322b88b543ae4","unresolved":false,"context_lines":[{"line_number":730,"context_line":"                                    name\u003d\u0027cell0\u0027)"},{"line_number":731,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":732,"context_line":"                                    name\u003d\u0027cell1\u0027)"},{"line_number":733,"context_line":"        mock_get_all.return_value \u003d [mock_cell0, mock_cell1]"},{"line_number":734,"context_line":"        with test.nested("},{"line_number":735,"context_line":"                mock.patch(\u0027nova.context.RequestContext\u0027,"},{"line_number":736,"context_line":"                           return_value\u003dctxt),"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_1dca374d","line":733,"range":{"start_line":733,"start_character":36,"end_line":733,"end_character":60},"updated":"2018-05-11 15:56:23.000000000","message":"return a real CellMappingList:\n\nmock_get_all.return_value \u003d objects.CellMappingList(\n    objects\u003d[\n        objects.CellMapping(uuid\u003duuids.cell0),\n        objects.CellMapping(uuid\u003duuids.cell1)])","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"4bd431b4d5ac5d05e0bea11a7db25b8f70914e84","unresolved":false,"context_lines":[{"line_number":730,"context_line":"                                    name\u003d\u0027cell0\u0027)"},{"line_number":731,"context_line":"        mock_cell1 \u003d mock.MagicMock(uuid\u003dself.output.getvalue().strip(),"},{"line_number":732,"context_line":"                                    name\u003d\u0027cell1\u0027)"},{"line_number":733,"context_line":"        mock_get_all.return_value \u003d [mock_cell0, mock_cell1]"},{"line_number":734,"context_line":"        with test.nested("},{"line_number":735,"context_line":"                mock.patch(\u0027nova.context.RequestContext\u0027,"},{"line_number":736,"context_line":"                           return_value\u003dctxt),"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_8864e721","line":733,"range":{"start_line":733,"start_character":36,"end_line":733,"end_character":60},"in_reply_to":"5f7c97a3_1dca374d","updated":"2018-07-27 07:17:39.000000000","message":"Done","commit_id":"f61bb5be9a92482eb3a56e478902ab299c6f68de"}]}
