)]}'
{"nova/virt/xenapi/vmops.py":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"aaf22f651dd25fbe62eeed2d03b15d70f754d2fd","unresolved":false,"context_lines":[{"line_number":2228,"context_line":"        # Set the *fake* {vif_ref: net_ref} as xapi will check vif_mapping"},{"line_number":2229,"context_line":"        # in its API VM.assert_can_migrate()"},{"line_number":2230,"context_line":"        net_ref \u003d self._get_network_ref()"},{"line_number":2231,"context_line":"        dest_check_data.vif_uuid_map \u003d {\u0027vif_ref\u0027: net_ref}"},{"line_number":2232,"context_line":"        LOG.debug(\"check_can_live_migrate_destination, vif_uuid_map: %s\","},{"line_number":2233,"context_line":"                  dest_check_data.vif_uuid_map)"},{"line_number":2234,"context_line":"        return dest_check_data"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_7b610739","line":2231,"updated":"2017-03-02 10:15:39.000000000","message":"As this is a default value, use None as the key - {None: net_ref}","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"326bf3d373d91d642c6ea10fedba95c20057a3db","unresolved":false,"context_lines":[{"line_number":2228,"context_line":"        # Set the *fake* {vif_ref: net_ref} as xapi will check vif_mapping"},{"line_number":2229,"context_line":"        # in its API VM.assert_can_migrate()"},{"line_number":2230,"context_line":"        net_ref \u003d self._get_network_ref()"},{"line_number":2231,"context_line":"        dest_check_data.vif_uuid_map \u003d {\u0027vif_ref\u0027: net_ref}"},{"line_number":2232,"context_line":"        LOG.debug(\"check_can_live_migrate_destination, vif_uuid_map: %s\","},{"line_number":2233,"context_line":"                  dest_check_data.vif_uuid_map)"},{"line_number":2234,"context_line":"        return dest_check_data"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_a693664e","line":2231,"in_reply_to":"ba2be162_7b610739","updated":"2017-03-02 10:30:05.000000000","message":"Done","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"aaf22f651dd25fbe62eeed2d03b15d70f754d2fd","unresolved":false,"context_lines":[{"line_number":2230,"context_line":"        net_ref \u003d self._get_network_ref()"},{"line_number":2231,"context_line":"        dest_check_data.vif_uuid_map \u003d {\u0027vif_ref\u0027: net_ref}"},{"line_number":2232,"context_line":"        LOG.debug(\"check_can_live_migrate_destination, vif_uuid_map: %s\","},{"line_number":2233,"context_line":"                  dest_check_data.vif_uuid_map)"},{"line_number":2234,"context_line":"        return dest_check_data"},{"line_number":2235,"context_line":""},{"line_number":2236,"context_line":"    def check_can_live_migrate_source(self, ctxt, instance_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_bbd29fd0","line":2233,"updated":"2017-03-02 10:15:39.000000000","message":"No benefit in logging this - we don\u0027t log the block data and actually this is just a default","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"326bf3d373d91d642c6ea10fedba95c20057a3db","unresolved":false,"context_lines":[{"line_number":2230,"context_line":"        net_ref \u003d self._get_network_ref()"},{"line_number":2231,"context_line":"        dest_check_data.vif_uuid_map \u003d {\u0027vif_ref\u0027: net_ref}"},{"line_number":2232,"context_line":"        LOG.debug(\"check_can_live_migrate_destination, vif_uuid_map: %s\","},{"line_number":2233,"context_line":"                  dest_check_data.vif_uuid_map)"},{"line_number":2234,"context_line":"        return dest_check_data"},{"line_number":2235,"context_line":""},{"line_number":2236,"context_line":"    def check_can_live_migrate_source(self, ctxt, instance_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_e69d5e5a","line":2233,"in_reply_to":"ba2be162_bbd29fd0","updated":"2017-03-02 10:30:05.000000000","message":"Done","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"aaf22f651dd25fbe62eeed2d03b15d70f754d2fd","unresolved":false,"context_lines":[{"line_number":2253,"context_line":"        if (\u0027block_migration\u0027 in dest_check_data and"},{"line_number":2254,"context_line":"                dest_check_data.block_migration):"},{"line_number":2255,"context_line":"            vm_ref \u003d self._get_vm_opaque_ref(instance_ref)"},{"line_number":2256,"context_line":"            vif_refs \u003d self._session.VM.get_VIFs(vm_ref)"},{"line_number":2257,"context_line":"            dest_net_ref \u003d dest_check_data.vif_uuid_map[\u0027vif_ref\u0027]"},{"line_number":2258,"context_line":"            dest_check_data.vif_uuid_map.clear()"},{"line_number":2259,"context_line":"            for vif_ref in vif_refs:"},{"line_number":2260,"context_line":"                dest_check_data.vif_uuid_map.update({vif_ref: dest_net_ref})"},{"line_number":2261,"context_line":"            LOG.debug(\"check_can_live_migrate_source: vif_uuid_map: %s\","},{"line_number":2262,"context_line":"                      dest_check_data.vif_uuid_map)"},{"line_number":2263,"context_line":"            try:"},{"line_number":2264,"context_line":"                self._call_live_migrate_command("},{"line_number":2265,"context_line":"                    \"VM.assert_can_migrate\", vm_ref, dest_check_data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_2610564e","line":2262,"range":{"start_line":2256,"start_character":0,"end_line":2262,"end_character":51},"updated":"2017-03-02 10:15:39.000000000","message":"This code shouldn\u0027t be here - create the right map below.","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"326bf3d373d91d642c6ea10fedba95c20057a3db","unresolved":false,"context_lines":[{"line_number":2253,"context_line":"        if (\u0027block_migration\u0027 in dest_check_data and"},{"line_number":2254,"context_line":"                dest_check_data.block_migration):"},{"line_number":2255,"context_line":"            vm_ref \u003d self._get_vm_opaque_ref(instance_ref)"},{"line_number":2256,"context_line":"            vif_refs \u003d self._session.VM.get_VIFs(vm_ref)"},{"line_number":2257,"context_line":"            dest_net_ref \u003d dest_check_data.vif_uuid_map[\u0027vif_ref\u0027]"},{"line_number":2258,"context_line":"            dest_check_data.vif_uuid_map.clear()"},{"line_number":2259,"context_line":"            for vif_ref in vif_refs:"},{"line_number":2260,"context_line":"                dest_check_data.vif_uuid_map.update({vif_ref: dest_net_ref})"},{"line_number":2261,"context_line":"            LOG.debug(\"check_can_live_migrate_source: vif_uuid_map: %s\","},{"line_number":2262,"context_line":"                      dest_check_data.vif_uuid_map)"},{"line_number":2263,"context_line":"            try:"},{"line_number":2264,"context_line":"                self._call_live_migrate_command("},{"line_number":2265,"context_line":"                    \"VM.assert_can_migrate\", vm_ref, dest_check_data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_a6e1a6d2","line":2262,"range":{"start_line":2256,"start_character":0,"end_line":2262,"end_character":51},"in_reply_to":"ba2be162_2610564e","updated":"2017-03-02 10:30:05.000000000","message":"Done","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"aaf22f651dd25fbe62eeed2d03b15d70f754d2fd","unresolved":false,"context_lines":[{"line_number":2378,"context_line":"        if \u0027vif_uuid_map\u0027 in migrate_data:"},{"line_number":2379,"context_line":"            vif_uuid_map \u003d migrate_data.vif_uuid_map"},{"line_number":2380,"context_line":"        if vif_uuid_map:"},{"line_number":2381,"context_line":"            if command_name \u003d\u003d \u0027VM.assert_can_migrate\u0027:"},{"line_number":2382,"context_line":"                for vif_ref, net_ref in migrate_data.vif_uuid_map.items():"},{"line_number":2383,"context_line":"                    vif_map[vif_ref] \u003d net_ref"},{"line_number":2384,"context_line":"            else:"},{"line_number":2385,"context_line":"                vif_map \u003d self._generate_vif_network_map(vm_ref, vif_uuid_map)"},{"line_number":2386,"context_line":"                LOG.debug(\"Generated vif_map for live migration: %s\", vif_map)"},{"line_number":2387,"context_line":"        options \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_862742b5","line":2384,"range":{"start_line":2381,"start_character":0,"end_line":2384,"end_character":17},"updated":"2017-03-02 10:15:39.000000000","message":"Don\u0027t need this","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"326bf3d373d91d642c6ea10fedba95c20057a3db","unresolved":false,"context_lines":[{"line_number":2378,"context_line":"        if \u0027vif_uuid_map\u0027 in migrate_data:"},{"line_number":2379,"context_line":"            vif_uuid_map \u003d migrate_data.vif_uuid_map"},{"line_number":2380,"context_line":"        if vif_uuid_map:"},{"line_number":2381,"context_line":"            if command_name \u003d\u003d \u0027VM.assert_can_migrate\u0027:"},{"line_number":2382,"context_line":"                for vif_ref, net_ref in migrate_data.vif_uuid_map.items():"},{"line_number":2383,"context_line":"                    vif_map[vif_ref] \u003d net_ref"},{"line_number":2384,"context_line":"            else:"},{"line_number":2385,"context_line":"                vif_map \u003d self._generate_vif_network_map(vm_ref, vif_uuid_map)"},{"line_number":2386,"context_line":"                LOG.debug(\"Generated vif_map for live migration: %s\", vif_map)"},{"line_number":2387,"context_line":"        options \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_86de620f","line":2384,"range":{"start_line":2381,"start_character":0,"end_line":2384,"end_character":17},"in_reply_to":"ba2be162_862742b5","updated":"2017-03-02 10:30:05.000000000","message":"Done","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"aaf22f651dd25fbe62eeed2d03b15d70f754d2fd","unresolved":false,"context_lines":[{"line_number":2397,"context_line":"        for vif in vifs:"},{"line_number":2398,"context_line":"            other_config \u003d self._session.VIF.get_other_config(vif)"},{"line_number":2399,"context_line":"            neutron_id \u003d other_config.get(\u0027nicira-iface-id\u0027)"},{"line_number":2400,"context_line":"            if neutron_id is None or neutron_id not in vif_uuid_map.keys():"},{"line_number":2401,"context_line":"                raise exception.MigrationError("},{"line_number":2402,"context_line":"                    reason\u003d_(\u0027No mapping for source network %s\u0027) % ("},{"line_number":2403,"context_line":"                           neutron_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_864e626d","line":2400,"updated":"2017-03-02 10:15:39.000000000","message":"Here check for neutron_id being in the map, if it is not in the map, check for a *default* mapping and use that.","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"f94f75d98b077adf90ed8eee0c977fbf65a87a16","unresolved":false,"context_lines":[{"line_number":2397,"context_line":"        for vif in vifs:"},{"line_number":2398,"context_line":"            other_config \u003d self._session.VIF.get_other_config(vif)"},{"line_number":2399,"context_line":"            neutron_id \u003d other_config.get(\u0027nicira-iface-id\u0027)"},{"line_number":2400,"context_line":"            if neutron_id is None or neutron_id not in vif_uuid_map.keys():"},{"line_number":2401,"context_line":"                raise exception.MigrationError("},{"line_number":2402,"context_line":"                    reason\u003d_(\u0027No mapping for source network %s\u0027) % ("},{"line_number":2403,"context_line":"                           neutron_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_e113880b","line":2400,"in_reply_to":"ba2be162_66c16e2e","updated":"2017-03-02 10:52:58.000000000","message":"I think neutron_id is in the map because at the moment live migration isn\u0027t started, so the VIF information can be get in source host, but I can still do as you suggested, just check the vif_uuid_map, if there is *None* key, I use the fake one","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"326bf3d373d91d642c6ea10fedba95c20057a3db","unresolved":false,"context_lines":[{"line_number":2397,"context_line":"        for vif in vifs:"},{"line_number":2398,"context_line":"            other_config \u003d self._session.VIF.get_other_config(vif)"},{"line_number":2399,"context_line":"            neutron_id \u003d other_config.get(\u0027nicira-iface-id\u0027)"},{"line_number":2400,"context_line":"            if neutron_id is None or neutron_id not in vif_uuid_map.keys():"},{"line_number":2401,"context_line":"                raise exception.MigrationError("},{"line_number":2402,"context_line":"                    reason\u003d_(\u0027No mapping for source network %s\u0027) % ("},{"line_number":2403,"context_line":"                           neutron_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_66c16e2e","line":2400,"in_reply_to":"ba2be162_864e626d","updated":"2017-03-02 10:30:05.000000000","message":"I got your point, will have a try, so it will looks neat","commit_id":"0b85881bfbb5ef4e3c3a45b3571cf3460936c40c"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"789de1976c24514c650301a42fee8946240eaa59","unresolved":false,"context_lines":[{"line_number":2225,"context_line":"            # instance is on a SR shared with other destination"},{"line_number":2226,"context_line":"            # block migration work will be able to resolve this"},{"line_number":2227,"context_line":""},{"line_number":2228,"context_line":"        # Set the *fake* {vif_ref: net_ref} as xapi will check vif_mapping"},{"line_number":2229,"context_line":"        # in its API VM.assert_can_migrate() but we don\u0027t have destination"},{"line_number":2230,"context_line":"        # network at this point, so make fake vif_mapping here"},{"line_number":2231,"context_line":"        net_ref \u003d self._get_network_ref()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_16affd81","line":2228,"updated":"2017-03-02 11:09:07.000000000","message":"\"Set the default net_ref for use in generate_vif_mapping\"\nNo need for such a verbose comment here.","commit_id":"63dff5d58f868e6bb446e6b53439e29d7adf0cf3"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"8dbe17584d68ee1ae9f65041fb56007b1a0bf511","unresolved":false,"context_lines":[{"line_number":2225,"context_line":"            # instance is on a SR shared with other destination"},{"line_number":2226,"context_line":"            # block migration work will be able to resolve this"},{"line_number":2227,"context_line":""},{"line_number":2228,"context_line":"        # Set the *fake* {vif_ref: net_ref} as xapi will check vif_mapping"},{"line_number":2229,"context_line":"        # in its API VM.assert_can_migrate() but we don\u0027t have destination"},{"line_number":2230,"context_line":"        # network at this point, so make fake vif_mapping here"},{"line_number":2231,"context_line":"        net_ref \u003d self._get_network_ref()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_44c4345e","line":2228,"in_reply_to":"ba2be162_16affd81","updated":"2017-03-03 01:25:07.000000000","message":"Done","commit_id":"63dff5d58f868e6bb446e6b53439e29d7adf0cf3"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"789de1976c24514c650301a42fee8946240eaa59","unresolved":false,"context_lines":[{"line_number":2382,"context_line":"        vif_map \u003d {}"},{"line_number":2383,"context_line":"        # vif_uuid_map is dictionary of neutron_vif_uuid: dest_network_ref"},{"line_number":2384,"context_line":"        vifs \u003d self._session.VM.get_VIFs(vm_ref)"},{"line_number":2385,"context_line":"        network_ref \u003d vif_uuid_map.get(None)"},{"line_number":2386,"context_line":"        for vif in vifs:"},{"line_number":2387,"context_line":"            if not network_ref:"},{"line_number":2388,"context_line":"                other_config \u003d self._session.VIF.get_other_config(vif)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_76e119d0","line":2385,"updated":"2017-03-02 11:09:07.000000000","message":"default_network_ref","commit_id":"63dff5d58f868e6bb446e6b53439e29d7adf0cf3"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"8dbe17584d68ee1ae9f65041fb56007b1a0bf511","unresolved":false,"context_lines":[{"line_number":2382,"context_line":"        vif_map \u003d {}"},{"line_number":2383,"context_line":"        # vif_uuid_map is dictionary of neutron_vif_uuid: dest_network_ref"},{"line_number":2384,"context_line":"        vifs \u003d self._session.VM.get_VIFs(vm_ref)"},{"line_number":2385,"context_line":"        network_ref \u003d vif_uuid_map.get(None)"},{"line_number":2386,"context_line":"        for vif in vifs:"},{"line_number":2387,"context_line":"            if not network_ref:"},{"line_number":2388,"context_line":"                other_config \u003d self._session.VIF.get_other_config(vif)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_c4ae6497","line":2385,"in_reply_to":"ba2be162_76e119d0","updated":"2017-03-03 01:25:07.000000000","message":"Done","commit_id":"63dff5d58f868e6bb446e6b53439e29d7adf0cf3"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"789de1976c24514c650301a42fee8946240eaa59","unresolved":false,"context_lines":[{"line_number":2384,"context_line":"        vifs \u003d self._session.VM.get_VIFs(vm_ref)"},{"line_number":2385,"context_line":"        network_ref \u003d vif_uuid_map.get(None)"},{"line_number":2386,"context_line":"        for vif in vifs:"},{"line_number":2387,"context_line":"            if not network_ref:"},{"line_number":2388,"context_line":"                other_config \u003d self._session.VIF.get_other_config(vif)"},{"line_number":2389,"context_line":"                neutron_id \u003d other_config.get(\u0027nicira-iface-id\u0027)"},{"line_number":2390,"context_line":"                if neutron_id is None or neutron_id not in vif_uuid_map.keys():"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_96ff6d66","line":2387,"updated":"2017-03-02 11:09:07.000000000","message":"Logic should be reversed.\n\nLook for neutron_id in the map first.\nIf neutron_id is not in the map, then use the default.\n\ne.g. net_ref \u003d vif_uuid_map.get(neutron_id, default_network_ref)\nif net_ref is None:\n    raise exception.MigrationError(...)","commit_id":"63dff5d58f868e6bb446e6b53439e29d7adf0cf3"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"8dbe17584d68ee1ae9f65041fb56007b1a0bf511","unresolved":false,"context_lines":[{"line_number":2384,"context_line":"        vifs \u003d self._session.VM.get_VIFs(vm_ref)"},{"line_number":2385,"context_line":"        network_ref \u003d vif_uuid_map.get(None)"},{"line_number":2386,"context_line":"        for vif in vifs:"},{"line_number":2387,"context_line":"            if not network_ref:"},{"line_number":2388,"context_line":"                other_config \u003d self._session.VIF.get_other_config(vif)"},{"line_number":2389,"context_line":"                neutron_id \u003d other_config.get(\u0027nicira-iface-id\u0027)"},{"line_number":2390,"context_line":"                if neutron_id is None or neutron_id not in vif_uuid_map.keys():"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_ffe69113","line":2387,"in_reply_to":"ba2be162_96ff6d66","updated":"2017-03-03 01:25:07.000000000","message":"I see, do you mean there is chance that None and neutron_id are all in the vif_uuid_map, so check neutron_id first? \nActually, in pre_live_migration() https://github.com/openstack/nova/blob/master/nova/virt/xenapi/vmops.py#L2397 we will override the vif_uuid_map, so the default_net_ref won\u0027t in that map. so we can avoid call session.VIF.get_other_config() Line 2388, or I can clean the vif_uuid_map after check_can_live_migration_source() https://github.com/openstack/nova/blob/master/nova/virt/xenapi/vmops.py#L2241\nBut I agree that we can check neutron_id first in case the None and neutron_id are all in vif_uuid_map and we will make the wrong final vif_map","commit_id":"63dff5d58f868e6bb446e6b53439e29d7adf0cf3"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ea2e780245f2642e3e12699bfa606b177f20e0e4","unresolved":false,"context_lines":[{"line_number":2153,"context_line":""},{"line_number":2154,"context_line":"    def _migrate_receive(self, ctxt):"},{"line_number":2155,"context_line":"        destref \u003d self._session.host_ref"},{"line_number":2156,"context_line":"        # Get the network to for migrate."},{"line_number":2157,"context_line":"        nwref \u003d self._get_network_ref()"},{"line_number":2158,"context_line":"        try:"},{"line_number":2159,"context_line":"            options \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_2879772e","line":2156,"updated":"2017-05-19 02:55:40.000000000","message":"s/to for/to/","commit_id":"55d42affb7760b836f5aecd613d95bceeffed613"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"97e72584379b1625819a1615b4033b0ee773a317","unresolved":false,"context_lines":[{"line_number":2153,"context_line":""},{"line_number":2154,"context_line":"    def _migrate_receive(self, ctxt):"},{"line_number":2155,"context_line":"        destref \u003d self._session.host_ref"},{"line_number":2156,"context_line":"        # Get the network to for migrate."},{"line_number":2157,"context_line":"        nwref \u003d self._get_network_ref()"},{"line_number":2158,"context_line":"        try:"},{"line_number":2159,"context_line":"            options \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_4b4b852a","line":2156,"in_reply_to":"ff0f0b1f_2879772e","updated":"2017-05-19 03:29:03.000000000","message":"yes, should update this","commit_id":"55d42affb7760b836f5aecd613d95bceeffed613"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"97e72584379b1625819a1615b4033b0ee773a317","unresolved":false,"context_lines":[{"line_number":2384,"context_line":"        for vif in vifs:"},{"line_number":2385,"context_line":"            other_config \u003d self._session.VIF.get_other_config(vif)"},{"line_number":2386,"context_line":"            neutron_id \u003d other_config.get(\u0027nicira-iface-id\u0027)"},{"line_number":2387,"context_line":"            network_ref \u003d vif_uuid_map.get(neutron_id, default_net_ref)"},{"line_number":2388,"context_line":"            if network_ref is None:"},{"line_number":2389,"context_line":"                raise exception.MigrationError("},{"line_number":2390,"context_line":"                    reason\u003d_(\u0027No mapping for source network %s\u0027) % ("}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_6bb9a9e7","line":2387,"range":{"start_line":2387,"start_character":12,"end_line":2387,"end_character":71},"updated":"2017-05-19 03:29:03.000000000","message":"Here, we will set the *real* network_ref, only when we cannot get one, then we will use the default network ref which is get in Line:2229","commit_id":"55d42affb7760b836f5aecd613d95bceeffed613"}]}
