)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"8be3ef3573c614c8677f42c50c1c895db7bbc301","unresolved":false,"context_lines":[{"line_number":10,"context_line":"post_live_migration_at_destination_method are executed"},{"line_number":11,"context_line":"simultaneously, because second one is called over rpc.cast"},{"line_number":12,"context_line":"In _post_live_migration method there was setup_network_on_host"},{"line_number":13,"context_line":"call witg teardown\u003dTrue, which expects new host in instances"},{"line_number":14,"context_line":"table db field. This update could be happened lated, as it"},{"line_number":15,"context_line":"executes on destination node in second method. To guarantee"},{"line_number":16,"context_line":"execution order  setup_network_on_host call, which cleans"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dac4157f_de1db567","line":13,"updated":"2015-04-20 15:16:34.000000000","message":"s/witg/with/","commit_id":"309b54a91f19199daed6146ac44927592e8a2573"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"af80d19da14629732ce2e92d0602bc88922be22a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"post_live_migration_at_destination_method are executed"},{"line_number":11,"context_line":"simultaneously, because second one is called over rpc.cast"},{"line_number":12,"context_line":"In _post_live_migration method there was setup_network_on_host"},{"line_number":13,"context_line":"call witg teardown\u003dTrue, which expects new host in instances"},{"line_number":14,"context_line":"table db field. This update could be happened lated, as it"},{"line_number":15,"context_line":"executes on destination node in second method. To guarantee"},{"line_number":16,"context_line":"execution order  setup_network_on_host call, which cleans"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dac4157f_3e49518c","line":13,"in_reply_to":"dac4157f_de1db567","updated":"2015-04-20 15:28:34.000000000","message":"Done","commit_id":"309b54a91f19199daed6146ac44927592e8a2573"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"8be3ef3573c614c8677f42c50c1c895db7bbc301","unresolved":false,"context_lines":[{"line_number":11,"context_line":"simultaneously, because second one is called over rpc.cast"},{"line_number":12,"context_line":"In _post_live_migration method there was setup_network_on_host"},{"line_number":13,"context_line":"call witg teardown\u003dTrue, which expects new host in instances"},{"line_number":14,"context_line":"table db field. This update could be happened lated, as it"},{"line_number":15,"context_line":"executes on destination node in second method. To guarantee"},{"line_number":16,"context_line":"execution order  setup_network_on_host call, which cleans"},{"line_number":17,"context_line":"dhcp-hostfile is moved to destination node."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dac4157f_9e4dfd74","line":14,"updated":"2015-04-20 15:16:34.000000000","message":"s/could be happened lated/could happen late/","commit_id":"309b54a91f19199daed6146ac44927592e8a2573"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"af80d19da14629732ce2e92d0602bc88922be22a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"simultaneously, because second one is called over rpc.cast"},{"line_number":12,"context_line":"In _post_live_migration method there was setup_network_on_host"},{"line_number":13,"context_line":"call witg teardown\u003dTrue, which expects new host in instances"},{"line_number":14,"context_line":"table db field. This update could be happened lated, as it"},{"line_number":15,"context_line":"executes on destination node in second method. To guarantee"},{"line_number":16,"context_line":"execution order  setup_network_on_host call, which cleans"},{"line_number":17,"context_line":"dhcp-hostfile is moved to destination node."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dac4157f_fe5bd952","line":14,"in_reply_to":"dac4157f_9e4dfd74","updated":"2015-04-20 15:28:34.000000000","message":"Done","commit_id":"309b54a91f19199daed6146ac44927592e8a2573"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"14a34f75afc64b27516d483c9ebda261e83d9d74","unresolved":false,"context_lines":[{"line_number":10,"context_line":"post_live_migration_at_destination_method are executed"},{"line_number":11,"context_line":"simultaneously, because second one is called over rpc.cast"},{"line_number":12,"context_line":"In _post_live_migration method there was setup_network_on_host"},{"line_number":13,"context_line":"call witg teardown\u003dTrue, which expects new host in instances"},{"line_number":14,"context_line":"table db field. This update could be happened later, as it"},{"line_number":15,"context_line":"executes on destination node in second method. To guarantee"},{"line_number":16,"context_line":"execution order  setup_network_on_host call, which cleans"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bab921fb_74dda113","line":13,"range":{"start_line":13,"start_character":5,"end_line":13,"end_character":9},"updated":"2015-04-23 15:09:35.000000000","message":"\"with\" is misspelled.","commit_id":"a5b4f4510f4015fb473d2b5b1565ed57de74c41e"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"c72dc7526f7bf5d729d9536fe286edcf5b76e75a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"post_live_migration_at_destination_method are executed"},{"line_number":11,"context_line":"simultaneously, because second one is called over rpc.cast"},{"line_number":12,"context_line":"In _post_live_migration method there was setup_network_on_host"},{"line_number":13,"context_line":"call witg teardown\u003dTrue, which expects new host in instances"},{"line_number":14,"context_line":"table db field. This update could be happened later, as it"},{"line_number":15,"context_line":"executes on destination node in second method. To guarantee"},{"line_number":16,"context_line":"execution order  setup_network_on_host call, which cleans"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bab921fb_1411c5ac","line":13,"in_reply_to":"bab921fb_74dda113","updated":"2015-04-23 15:10:53.000000000","message":"Done","commit_id":"a5b4f4510f4015fb473d2b5b1565ed57de74c41e"}],"nova/compute/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ad3813fb2f7224835a9beb7cbfcde0d1994ab20d","unresolved":false,"context_lines":[{"line_number":5429,"context_line":"            instance.task_state \u003d None"},{"line_number":5430,"context_line":"            instance.node \u003d node_name"},{"line_number":5431,"context_line":"            instance.save(expected_task_state\u003dtask_states.MIGRATING)"},{"line_number":5432,"context_line":""},{"line_number":5433,"context_line":"        # NOTE(vish): this is necessary to update dhcp"},{"line_number":5434,"context_line":"        self.network_api.setup_networks_on_host(context, instance, self.host)"},{"line_number":5435,"context_line":"        self._notify_about_instance_usage("}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_e7d48c48","side":"PARENT","line":5432,"updated":"2015-04-22 19:37:38.000000000","message":"This is unrelated whitespace damage.","commit_id":"feef80c1f88cc28f8625b19ebf43b190fae0ca08"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"01f65e935c6ef92b1a24466a87ac63e40fa655a0","unresolved":false,"context_lines":[{"line_number":5429,"context_line":"            instance.task_state \u003d None"},{"line_number":5430,"context_line":"            instance.node \u003d node_name"},{"line_number":5431,"context_line":"            instance.save(expected_task_state\u003dtask_states.MIGRATING)"},{"line_number":5432,"context_line":""},{"line_number":5433,"context_line":"        # NOTE(vish): this is necessary to update dhcp"},{"line_number":5434,"context_line":"        self.network_api.setup_networks_on_host(context, instance, self.host)"},{"line_number":5435,"context_line":"        self._notify_about_instance_usage("}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_f4489c2f","side":"PARENT","line":5432,"in_reply_to":"bab921fb_e7d48c48","updated":"2015-04-23 11:58:18.000000000","message":"Done","commit_id":"feef80c1f88cc28f8625b19ebf43b190fae0ca08"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ad3813fb2f7224835a9beb7cbfcde0d1994ab20d","unresolved":false,"context_lines":[{"line_number":5431,"context_line":"        self.network_api.setup_networks_on_host(context, instance, self.host)"},{"line_number":5432,"context_line":"        # NOTE(tr3buchet): tear down networks on source host"},{"line_number":5433,"context_line":"        self.network_api.setup_networks_on_host(context, instance,"},{"line_number":5434,"context_line":"                                                prev_host, teardown\u003dTrue)"},{"line_number":5435,"context_line":"        self._notify_about_instance_usage("},{"line_number":5436,"context_line":"                     context, instance, \"live_migration.post.dest.end\","},{"line_number":5437,"context_line":"                     network_info\u003dnetwork_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_e72fecf4","line":5434,"updated":"2015-04-22 19:37:38.000000000","message":"Why are we doing the teardown after we do the setup? Isn\u0027t that potentially going to have two DHCP servers active on the network, and potentially two hosts answering for a floating IP for an interval of time?\n\nSeems much better to me to do the teardown first and the bringup after. Is there some reason it\u0027s in this order?","commit_id":"6e893b8ad22260d817850265ecdae602c59ba080"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8b900479138db2013521e96e3a45790674f8c509","unresolved":false,"context_lines":[{"line_number":5431,"context_line":"        self.network_api.setup_networks_on_host(context, instance, self.host)"},{"line_number":5432,"context_line":"        # NOTE(tr3buchet): tear down networks on source host"},{"line_number":5433,"context_line":"        self.network_api.setup_networks_on_host(context, instance,"},{"line_number":5434,"context_line":"                                                prev_host, teardown\u003dTrue)"},{"line_number":5435,"context_line":"        self._notify_about_instance_usage("},{"line_number":5436,"context_line":"                     context, instance, \"live_migration.post.dest.end\","},{"line_number":5437,"context_line":"                     network_info\u003dnetwork_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_f4a3f19c","line":5434,"in_reply_to":"bab921fb_34461424","updated":"2015-04-23 15:08:16.000000000","message":"Right, but this is exactly my point. Both nova-network nodes could be listening for a given IP and planning to hand out the static address via DHCP for that instance. And, what does that mean for non-multihost configurations where there is a single nova network node? Didn\u0027t you just tell it to setup instance foo and then tear down instance foo? If those messages go to different nova-network nodes, then that\u0027s fine, but what if they go to the same one?\n\n...and that doesn\u0027t answer my question about the floating IPs. Having the old node answer ARP for the floating ip for any longer than necessary brings the potential for failure, and certainly the ordering could be a problem if we end up tearing down the floating ip on the single network host.\n\nI know the ordering wasn\u0027t defined before, but it was working more often than not. I just want to make sure we\u0027re not making it worse here. Is there any reason not to just flip the ordering in this patch?","commit_id":"6e893b8ad22260d817850265ecdae602c59ba080"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"01f65e935c6ef92b1a24466a87ac63e40fa655a0","unresolved":false,"context_lines":[{"line_number":5431,"context_line":"        self.network_api.setup_networks_on_host(context, instance, self.host)"},{"line_number":5432,"context_line":"        # NOTE(tr3buchet): tear down networks on source host"},{"line_number":5433,"context_line":"        self.network_api.setup_networks_on_host(context, instance,"},{"line_number":5434,"context_line":"                                                prev_host, teardown\u003dTrue)"},{"line_number":5435,"context_line":"        self._notify_about_instance_usage("},{"line_number":5436,"context_line":"                     context, instance, \"live_migration.post.dest.end\","},{"line_number":5437,"context_line":"                     network_info\u003dnetwork_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_34461424","line":5434,"in_reply_to":"bab921fb_e72fecf4","updated":"2015-04-23 11:58:18.000000000","message":"Done\n\nHi Dan! Good question:)  As far as I know, in multi-host environment, each compute node runs its own nova-network  dnsmasq processes. Here is dnsmasq cli attributes:\n --dhcp-range\u003dset:novanetwork,10.0.0.2,static,255.255.0.0,86400s \nHere is \u0027static\u0027 description from man dnsmasq:\nThe optional \u003cmode\u003e keyword may be static which tells dnsmasq to enable DHCP for the network specified, but not to dynamically allocate  IP  addresses:  only  hosts  \nwhich  have  static addresses  given via dhcp-host or from /etc/ethers will be served.\nInfo about leased ips is managed by nova, not dnsmasq.  \n\nAs for me the order call order here isn\u0027t so critical. Prior this patch this call order wasn\u0027t specified at all. I\u0027ll change order in next patch.","commit_id":"6e893b8ad22260d817850265ecdae602c59ba080"}]}
