// Module included in the following assemblies:
//
// * networking/multiple_networks/secondary_networks/configuring-ip-secondary-nwt.adoc

:_mod-docs-content-type: PROCEDURE
[id="nw-multus-creating-whereabouts-reconciler-daemon-set_{context}"]
= Creating a whereabouts-reconciler daemon set

[role="_abstract"]
The Whereabouts reconciler is responsible for managing dynamic IP address assignments for the pods within a cluster by using the Whereabouts IP Address Management (IPAM) solution. The Whereabouts reconciler ensures that each pod gets a unique IP address from the specified IP address range. The Whereabouts reconciler also handles IP address releases when pods are deleted or scaled down.

[NOTE]
====
You can also use a `NetworkAttachmentDefinition` custom resource definition (CRD) for dynamic IP address assignment.
====

The `whereabouts-reconciler` daemon set is automatically created when you configure a secondary network through the Cluster Network Operator. The `whereabouts-reconciler` DaemonSet does not get automatically created when you configure a secondary network from a YAML manifest.

To trigger the deployment of the `whereabouts-reconciler` daemon set, you must manually create a `whereabouts-shim` network attachment by editing the Cluster Network Operator custom resource (CR) file.

.Procedure

. Edit the `Network.operator.openshift.io` CR by running the following command:
+
[source,terminal]
----
$ oc edit network.operator.openshift.io cluster
----

. Include the `additionalNetworks` section shown in this example YAML extract within the `spec` definition of the CR:
+
[source,yaml]
----
apiVersion: operator.openshift.io/v1
kind: Network
metadata:
  name: cluster
# ...
spec:
  additionalNetworks:
  - name: whereabouts-shim
    namespace: default
    rawCNIConfig: |-
      {
       "name": "whereabouts-shim",
       "cniVersion": "0.3.1",
       "type": "bridge",
       "ipam": {
         "type": "whereabouts"
       }
      }
    type: Raw
# ...
----

. Save the file and exit the text editor.

. Verify that the `whereabouts-reconciler` daemon set deployed successfully by running the following command:
+
[source,terminal]
----
$ oc get all -n openshift-multus | grep whereabouts-reconciler
----
+
[source,terminal]
----
pod/whereabouts-reconciler-jnp6g 1/1 Running 0 6s
pod/whereabouts-reconciler-k76gg 1/1 Running 0 6s
daemonset.apps/whereabouts-reconciler 6 6 6 6 6 kubernetes.io/os=linux 6s
----
