)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"3440ebc05164cadb70b941987cafd5c573939453","unresolved":false,"context_lines":[{"line_number":11,"context_line":"logic based on a value of live_migrate_back_and_forth and live migrates"},{"line_number":12,"context_line":"each VM twice if it is set to True."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This defaults to False since it\u0027s mostly only interesting in a mixed"},{"line_number":15,"context_line":"level compute job, which is why it\u0027s being set in the grenade live"},{"line_number":16,"context_line":"migration job."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"devstack change: https://review.openstack.org/#/c/382451/"},{"line_number":19,"context_line":"project-config change: https://review.openstack.org/#/c/431848/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"fa31d9ce_dc4b0658","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":14},"updated":"2017-02-10 16:56:18.000000000","message":"I feel the default False is fine to avoid much migrations on all gates, and it is enough to test it on grenade.","commit_id":"61e40451448a831fc6cd228d7e7e981378a068b9"}],"tempest/api/compute/admin/test_live_migration.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fdf22b93fb9bf156e7249c125569d861aa85dc1d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            waiters.wait_for_server_status(self.admin_servers_client,"},{"line_number":130,"context_line":"                                           server_id, state)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        # Lets first move this server to other compute node"},{"line_number":133,"context_line":"        LOG.info(\"Live migrate from source to destination\")"},{"line_number":134,"context_line":"        self._live_migrate(target_host, server_id, state, volume_backed)"},{"line_number":135,"context_line":"        # Move this server back to origional host"},{"line_number":136,"context_line":"        LOG.info(\"Live migrate back to source\")"},{"line_number":137,"context_line":"        self._live_migrate(actual_host, server_id, state, volume_backed)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    @test.idempotent_id(\u00271dce86b8-eb04-4c03-a9d8-9c1dc3ee0c7b\u0027)"},{"line_number":140,"context_line":"    def test_live_block_migration(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a98d1f4_76d0bbc9","line":137,"range":{"start_line":132,"start_character":8,"end_line":137,"end_character":72},"updated":"2016-10-03 16:06:23.000000000","message":"I\u0027m not sure this is something we should do for all live migration tests that run this common code which right now is 3 tests:\n\n1. server is ACTIVE\n2. server is PAUSED\n3. volume-backed server\n\nSince this is mostly interesting for upgrade scenarios, we could have a config option that tells us when to run this, which would only be set in grenade jobs right now.\n\nAlternatively, we don\u0027t have a config option to run this, but we only do it in one test scenario, which at this point would probably be the #1 case above since PAUSED is conditional on config and volume-backed is currently excluded in our live migration job b/c of it\u0027s high failure rate.","commit_id":"2a394acf3f7d2e58d310342e7788e5d360b5202c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4a5a425efc0d3d62dab8f73af6c4a345f3f892bc","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        LOG.info(\"Live migrate from source to destination\")"},{"line_number":133,"context_line":"        self._live_migrate(server_id, target_host, state, volume_backed)"},{"line_number":134,"context_line":"        if CONF.compute_feature_enabled.live_migrate_back_and_forth:"},{"line_number":135,"context_line":"            # If live_migrate_back_and_forth is enabled it is a grenade job."},{"line_number":136,"context_line":"            # Therefore test should validate whether LM is compatible in both"},{"line_number":137,"context_line":"            # ways, so live migrate VM back to the previous host"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a95cdbc_ee5e5444","line":134,"updated":"2016-10-05 15:01:56.000000000","message":"Where is this config option defined? It\u0027s not in this change.","commit_id":"8c1e98e512ae760f4b565b8eb7ad781468053df2"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8ed563ee3523c49048866f90e1fcedb298885322","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        LOG.info(\"Live migrate from source to destination\")"},{"line_number":133,"context_line":"        self._live_migrate(server_id, target_host, state, volume_backed)"},{"line_number":134,"context_line":"        if CONF.compute_feature_enabled.live_migrate_back_and_forth:"},{"line_number":135,"context_line":"            # If live_migrate_back_and_forth is enabled it is a grenade job."},{"line_number":136,"context_line":"            # Therefore test should validate whether LM is compatible in both"},{"line_number":137,"context_line":"            # ways, so live migrate VM back to the previous host"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a95cdbc_7f682cf6","line":134,"in_reply_to":"1a95cdbc_ee5e5444","updated":"2016-10-05 15:42:18.000000000","message":"Done","commit_id":"8c1e98e512ae760f4b565b8eb7ad781468053df2"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"897e61ebdcf5c2ba2cb72111aeb98efeabcb63e6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"import testtools"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from tempest.api.compute import base"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_6859455a","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":35},"updated":"2016-10-05 22:27:25.000000000","message":"move import to  line 24 (with the rest of \"from XX import YY\" statements","commit_id":"f76c3193ebc4942e7241d45490b6c7d74189b3a0"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"7485cea1d1eb06e3a6c337e6b2c03e690e84f55b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"import testtools"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from tempest.api.compute import base"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_84bf55fa","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":35},"in_reply_to":"1a95cdbc_6859455a","updated":"2016-10-06 06:49:02.000000000","message":"According to guideline http://docs.openstack.org/developer/hacking/#import-order-template this is correct and should stay here","commit_id":"f76c3193ebc4942e7241d45490b6c7d74189b3a0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"53b60dcf9330706ce506d7e2a2afeb8fe8a02520","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            waiters.wait_for_server_status(self.admin_servers_client,"},{"line_number":122,"context_line":"                                           server_id, state)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        LOG.info(\"Live migrate from source to destination\")"},{"line_number":125,"context_line":"        self._live_migrate(server_id, target_host, state, volume_backed)"},{"line_number":126,"context_line":"        if CONF.compute_feature_enabled.live_migrate_back_and_forth:"},{"line_number":127,"context_line":"            # If live_migrate_back_and_forth is enabled it is a grenade job."}],"source_content_type":"text/x-python","patch_set":10,"id":"fa6399be_abb0ccde","line":124,"updated":"2016-10-11 21:12:22.000000000","message":"nit: might be useful to include the source and target hosts in this message.","commit_id":"2544e0cf582b1badc89af12c7ea340a809d16526"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"53b60dcf9330706ce506d7e2a2afeb8fe8a02520","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            # If live_migrate_back_and_forth is enabled it is a grenade job."},{"line_number":128,"context_line":"            # Therefore test should validate whether LM is compatible in both"},{"line_number":129,"context_line":"            # ways, so live migrate VM back to the previous host"},{"line_number":130,"context_line":"            LOG.info(\"Live migrate back to source\")"},{"line_number":131,"context_line":"            self._live_migrate(server_id, actual_host, state, volume_backed)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @test.idempotent_id(\u00271dce86b8-eb04-4c03-a9d8-9c1dc3ee0c7b\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa6399be_0bc8d854","line":130,"updated":"2016-10-11 21:12:22.000000000","message":"nit: might include the actual_host here.","commit_id":"2544e0cf582b1badc89af12c7ea340a809d16526"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"5754ec8bbf0be8f7cb7a7eb4f1e79a8d8b4fe2d3","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        msg \u003d (\"Live Migration failed. Migrations list for Instance \""},{"line_number":94,"context_line":"               \"%s: [\" % server_id)"},{"line_number":95,"context_line":"        for live_migration in migration_list:"},{"line_number":96,"context_line":"            if (live_migration[\u0027instance_uuid\u0027] \u003d\u003d server_id):"},{"line_number":97,"context_line":"                msg +\u003d \"\\n%s\" % live_migration"},{"line_number":98,"context_line":"        msg +\u003d \"]\""}],"source_content_type":"text/x-python","patch_set":11,"id":"fa6399be_c4331412","line":95,"updated":"2016-10-19 08:42:59.000000000","message":"Please use \n\n\u0027\\n\u0027.join([\n  str(live_migration) for live_migration in migration_list\n  if live_migration[\u0027instance_uuid\u0027] \u003d\u003d server_id\n])","commit_id":"55860b30340c2ac043af0ec35c20a75b5a6dd42c"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"d26ce0af7712ae8bb2eea275b239f19187edfd39","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        msg \u003d (\"Live Migration failed. Migrations list for Instance \""},{"line_number":94,"context_line":"               \"%s: [\" % server_id)"},{"line_number":95,"context_line":"        for live_migration in migration_list:"},{"line_number":96,"context_line":"            if (live_migration[\u0027instance_uuid\u0027] \u003d\u003d server_id):"},{"line_number":97,"context_line":"                msg +\u003d \"\\n%s\" % live_migration"},{"line_number":98,"context_line":"        msg +\u003d \"]\""}],"source_content_type":"text/x-python","patch_set":11,"id":"fa6399be_404d1071","line":95,"in_reply_to":"fa6399be_c4331412","updated":"2016-10-19 19:19:27.000000000","message":"This code was just moved to another method, not sure this should be changed (improved) in a patch that actually aims to make gate job (LM+grenade) usable.","commit_id":"55860b30340c2ac043af0ec35c20a75b5a6dd42c"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"5754ec8bbf0be8f7cb7a7eb4f1e79a8d8b4fe2d3","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            # Therefore test should validate whether LM is compatible in both"},{"line_number":129,"context_line":"            # ways, so live migrate VM back to the previous host"},{"line_number":130,"context_line":"            LOG.info(\"Live migrate back to source\")"},{"line_number":131,"context_line":"            self._live_migrate(server_id, actual_host, state, volume_backed)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @test.idempotent_id(\u00271dce86b8-eb04-4c03-a9d8-9c1dc3ee0c7b\u0027)"},{"line_number":134,"context_line":"    def test_live_block_migration(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa6399be_0447cc77","line":131,"updated":"2016-10-19 08:42:59.000000000","message":"Could you point us to some Gate logs where this is actually run ? Please add a link in the commit message. Or a link to a review that is going to turn the new config flag you introduced to True.\n\nI am afraid that this is going to be yet another migration tests that never run and when it runs, it fails.","commit_id":"55860b30340c2ac043af0ec35c20a75b5a6dd42c"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"30a94487b36998e64d39b551c772783ef87953ae","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        # Live migrate an instance to another host"},{"line_number":114,"context_line":"        server_id \u003d self.create_test_server(wait_until\u003d\"ACTIVE\","},{"line_number":115,"context_line":"                                            volume_backed\u003dvolume_backed)[\u0027id\u0027]"},{"line_number":116,"context_line":"        actual_host \u003d self._get_host_for_server(server_id)"},{"line_number":117,"context_line":"        target_host \u003d self._get_host_other_than(actual_host)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        if state \u003d\u003d \u0027PAUSED\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5201f7_5e04647d","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":19},"updated":"2017-01-03 07:27:50.000000000","message":"The variable name seems not good, maybe something like \"pre_host\" or \"source_host\" will be better?","commit_id":"49c4f0729d540f7a56e54a7de4ccabc0fc464041"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"d30acecb0658d5107f22164def52551083c4b43a","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        # Live migrate an instance to another host"},{"line_number":114,"context_line":"        server_id \u003d self.create_test_server(wait_until\u003d\"ACTIVE\","},{"line_number":115,"context_line":"                                            volume_backed\u003dvolume_backed)[\u0027id\u0027]"},{"line_number":116,"context_line":"        actual_host \u003d self._get_host_for_server(server_id)"},{"line_number":117,"context_line":"        target_host \u003d self._get_host_other_than(actual_host)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        if state \u003d\u003d \u0027PAUSED\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5201f7_6abb22c5","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":19},"in_reply_to":"ba5201f7_5e04647d","updated":"2017-01-03 10:02:17.000000000","message":"Done","commit_id":"49c4f0729d540f7a56e54a7de4ccabc0fc464041"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"30a94487b36998e64d39b551c772783ef87953ae","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            waiters.wait_for_server_status(self.admin_servers_client,"},{"line_number":122,"context_line":"                                           server_id, state)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        LOG.info(\"Live migrate from source to destination\")"},{"line_number":125,"context_line":"        self._live_migrate(server_id, target_host, state, volume_backed)"},{"line_number":126,"context_line":"        if CONF.compute_feature_enabled.live_migrate_back_and_forth:"},{"line_number":127,"context_line":"            # If live_migrate_back_and_forth is enabled it is a grenade job."}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5201f7_3ef08090","line":124,"range":{"start_line":124,"start_character":8,"end_line":124,"end_character":59},"updated":"2017-01-03 07:27:50.000000000","message":"I agree with Matt that here should print out the source and dest host","commit_id":"49c4f0729d540f7a56e54a7de4ccabc0fc464041"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"d30acecb0658d5107f22164def52551083c4b43a","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            waiters.wait_for_server_status(self.admin_servers_client,"},{"line_number":122,"context_line":"                                           server_id, state)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        LOG.info(\"Live migrate from source to destination\")"},{"line_number":125,"context_line":"        self._live_migrate(server_id, target_host, state, volume_backed)"},{"line_number":126,"context_line":"        if CONF.compute_feature_enabled.live_migrate_back_and_forth:"},{"line_number":127,"context_line":"            # If live_migrate_back_and_forth is enabled it is a grenade job."}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5201f7_8ab046df","line":124,"range":{"start_line":124,"start_character":8,"end_line":124,"end_character":59},"in_reply_to":"ba5201f7_3ef08090","updated":"2017-01-03 10:02:17.000000000","message":"Done","commit_id":"49c4f0729d540f7a56e54a7de4ccabc0fc464041"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"36dfbf256bec261f89476b6236a567a6ad50cdf7","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                 source_host, destination_host)"},{"line_number":126,"context_line":"        self._live_migrate(server_id, destination_host, state, volume_backed)"},{"line_number":127,"context_line":"        if CONF.compute_feature_enabled.live_migrate_back_and_forth:"},{"line_number":128,"context_line":"            # If live_migrate_back_and_forth is enabled it is a grenade job."},{"line_number":129,"context_line":"            # Therefore test should validate whether LM is compatible in both"},{"line_number":130,"context_line":"            # ways, so live migrate VM back to the source host"},{"line_number":131,"context_line":"            LOG.info(\"Live migrate back to source %s\", source_host)"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa31d9ce_6a4b4c5a","line":128,"updated":"2017-02-10 02:53:17.000000000","message":"It\u0027s not necessarily a grenade job, but that\u0027s how we plan on using it in the gate. Someone could be doing mixed-compute testing outside of our upstream CI system with this and it\u0027d still be valid, but this is just a nit.","commit_id":"e101354259e828c935c044875a33624f48ecd8e1"}],"tempest/config.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"808da19c918d2aea072fe37d35417bee37ca43d3","unresolved":false,"context_lines":[{"line_number":343,"context_line":"                default\u003dTrue,"},{"line_number":344,"context_line":"                help\u003d\"Does the test environment support cold migration \""},{"line_number":345,"context_line":"                     \"available?\"),"},{"line_number":346,"context_line":"    cfg.BoolOpt(\u0027live_migration\u0027,"},{"line_number":347,"context_line":"                default\u003dTrue,"},{"line_number":348,"context_line":"                help\u003d\"Does the test environment support live migration \""},{"line_number":349,"context_line":"                     \"available?\"),"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_9391749c","line":346,"updated":"2016-10-05 15:46:42.000000000","message":"Please put the new option next to this one?","commit_id":"07631bd701570d584308fa6df5915c90fa720285"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4614b10540bcea208846abeef079b7469181ffb8","unresolved":false,"context_lines":[{"line_number":357,"context_line":"                     \"migration\"),"},{"line_number":358,"context_line":"    cfg.BoolOpt(\u0027live_migrate_back_and_forth\u0027,"},{"line_number":359,"context_line":"                default\u003dFalse,"},{"line_number":360,"context_line":"                help\u003d\"Does the test environment to live migrate VM back and \""},{"line_number":361,"context_line":"                     \"forth between two versions of nova\"),"},{"line_number":362,"context_line":"    cfg.BoolOpt(\u0027block_migrate_cinder_iscsi\u0027,"},{"line_number":363,"context_line":"                default\u003dFalse,"},{"line_number":364,"context_line":"                help\u003d\"Does the test environment block migration support \""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_53b0cc43","line":361,"range":{"start_line":360,"start_character":22,"end_line":361,"end_character":56},"updated":"2016-10-05 15:46:04.000000000","message":"The wording here could be improved, maybe something like this:\n\n\"Does the test environment support live migrating back and forth between different versions of nova-compute?\"","commit_id":"07631bd701570d584308fa6df5915c90fa720285"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"897e61ebdcf5c2ba2cb72111aeb98efeabcb63e6","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                     \"available?\"),"},{"line_number":350,"context_line":"    cfg.BoolOpt(\u0027live_migrate_back_and_forth\u0027,"},{"line_number":351,"context_line":"                default\u003dFalse,"},{"line_number":352,"context_line":"                help\u003d\"Does the test environment to support live migrating \""},{"line_number":353,"context_line":"                     \"VM back and forth between different versions of \""},{"line_number":354,"context_line":"                     \"nova-compute\"),"},{"line_number":355,"context_line":"    cfg.BoolOpt(\u0027metadata_service\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_28273d13","line":352,"range":{"start_line":352,"start_character":47,"end_line":352,"end_character":51},"updated":"2016-10-05 22:27:25.000000000","message":"nit: remove extra \"to\"","commit_id":"f76c3193ebc4942e7241d45490b6c7d74189b3a0"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"7485cea1d1eb06e3a6c337e6b2c03e690e84f55b","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                     \"available?\"),"},{"line_number":350,"context_line":"    cfg.BoolOpt(\u0027live_migrate_back_and_forth\u0027,"},{"line_number":351,"context_line":"                default\u003dFalse,"},{"line_number":352,"context_line":"                help\u003d\"Does the test environment to support live migrating \""},{"line_number":353,"context_line":"                     \"VM back and forth between different versions of \""},{"line_number":354,"context_line":"                     \"nova-compute\"),"},{"line_number":355,"context_line":"    cfg.BoolOpt(\u0027metadata_service\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_444c6d42","line":352,"range":{"start_line":352,"start_character":47,"end_line":352,"end_character":51},"in_reply_to":"1a95cdbc_28273d13","updated":"2016-10-06 06:49:02.000000000","message":"Done","commit_id":"f76c3193ebc4942e7241d45490b6c7d74189b3a0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bd4dbd6f0975e7f15a6aedb562ba39f6f50838f6","unresolved":false,"context_lines":[{"line_number":351,"context_line":"                default\u003dFalse,"},{"line_number":352,"context_line":"                help\u003d\"Does the test environment support live migrating \""},{"line_number":353,"context_line":"                     \"VM back and forth between different versions of \""},{"line_number":354,"context_line":"                     \"nova-compute\"),"},{"line_number":355,"context_line":"    cfg.BoolOpt(\u0027metadata_service\u0027,"},{"line_number":356,"context_line":"                default\u003dTrue,"},{"line_number":357,"context_line":"                help\u003d\"Does the test environment support metadata service? \""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa6399be_fd5ffc0b","line":354,"range":{"start_line":354,"start_character":34,"end_line":354,"end_character":37},"updated":"2016-10-11 14:47:14.000000000","message":"nit: s/nova-compute/nova-compute?/","commit_id":"6aeada0b3fb6efe8beb32a80222ba7c6ccc8870c"}]}
