'Calls network_api to add new fixed_ip to instance
then injects the new network info and resets instance networking.'

@wrap_exception()
@wrap_instance_fault
def add_fixed_ip_to_instance(self, context, network_id, instance):

    self._notify_about_instance_usage(context, instance, 'create_ip.start')
    network_info = self.network_api.add_fixed_ip_to_instance(context, instance, network_id)
    self._inject_network_info(context, instance, network_info)
    self.reset_network(context, instance)
    instance.updated_at = timeutils.utcnow()
    instance.save()
    self._notify_about_instance_usage(context, instance, 'create_ip.end', network_info=network_info)
