# Minimizing Network Downtime on Host Reboot

When a host with a DVR router reboots, there is a temporary loss of network connectivity from the host to the provider network or the external network. This can be minimized by manually moving the DVR router to another host.

In order to manually move or reschedule DVR routers from the current host to a new host, you must reassign the SNAT agent from the current host to the new host.

Follow the steps given below to manually reassign the SNAT agent from one host to another. Repeat the process for each router associated with the host that is rebooting.

1\. Get a list of all hosts running Neutron L3 agents to find another SNAT-capable L3 agent.

{% tabs %}
{% tab title="Bash" %}

```bash
openstack network agent list
```

{% endtab %}
{% endtabs %}

2\. Look for an agent with the `agent_mode` setting as `dvr_snat`.

{% hint style="info" %}
**Note**

If this agent is set only for **DVR**, it is not SNAT-capable. This is configured when you set up the host.
{% endhint %}

Confirm the `agent_mode` setting with the following command.

{% tabs %}
{% tab title="Bash" %}

```bash
openstack network agent show <l3_agent_uuid>
```

{% endtab %}
{% endtabs %}

`</l3_agent_uuid>`

3\. Identify the L3 agent that currently provides centralized SNAT for the given router. You can get a list of routers with the `openstack router list` command. You can then identify the routers associated with the host that is rebooting.

{% tabs %}
{% tab title="Bash" %}

```bash
openstack router list
openstack port list --device-owner network:router_centralized_snat --router <router_uuid>
openstack port show
<port_uuid> --column binding_host_id --format value
```

{% endtab %}
{% endtabs %}

`</port_uuid></router_uuid>`

4\. Un-assign the SNAT agent from the host.

{% tabs %}
{% tab title="Bash" %}

```bash
neutron l3-agent-router-remove <l3_agent_uuid> <router_uuid>
```

{% endtab %}
{% endtabs %}

`</router_uuid></l3_agent_uuid>`

5\. Assign the SNAT agent to one of the SNAT capable L3-agents found in step 2.

{% tabs %}
{% tab title="Bash" %}

```bash
neutron l3-agent-router-add <new_l3_agent_uuid> <router_uuid>
```

{% endtab %}
{% endtabs %}

`</router_uuid></new_l3_agent_uuid>`

​


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/managed-openstack/5.8/infrastructure/host-management/infrastructure-minimize-reboot-downtime.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
