Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-27858

whereabouts reconciler schedule is not configurable


    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Undefined Undefined
    • 4.14.z
    • 4.14
    • Networking / multus
    • None
    • No
    • CNF Network Sprint 248
    • 1
    • False
    • Hide


    • Enable the configuration of the whereabouts' cron schedule for cleaning up IPs via a ConfigMap.
    • Enhancement
    • In Progress

      Description of problem:

      whereabouts reconciler is responsible for reclaiming dangling IPs, and freeing them to be available to allocate to new pods.
      This is crucial for scenarios where the amount of addresses are limited and dangling IPs prevent whereabouts from successfully allocating new IPs to new pods.
      The reconciliation schedule is currently hard-coded to run once a day, without a user-friendly way to configure.

      Version-Release number of selected component (if applicable):


      How reproducible:

          Create a Whereabouts reconciler daemon set, not able to configure the reconciler schedule.

      Steps to Reproduce:

          1. Create a Whereabouts reconciler daemonset
             instructions: https://docs.openshift.com/container-platform/4.14/networking/multiple_networks/configuring-additional-      network.html#nw-multus-creating-whereabouts-reconciler-daemon-set_configuring-additional-network
           2. Run `oc get pods -n openshift-multus | grep whereabouts-reconciler`
           3. Run `oc logs whereabouts-reconciler-xxxxx`      

      Actual results:

          You can't configure the cron-schedule of the reconciler.

      Expected results:

          Be able to modify the reconciler cron schedule.

      Additional info:

          The fix for this bug is in two places: whereabouts, and cluster-network-operator.
          From this reason, in order to verify correctly we need to use both fixed components.
          Please read below for more details about how to apply the new configurations.

      How to Verify:

          Create a whereabouts-config ConfigMap with a custom value, and check in the
          whereabouts-reconciler pods' logs that it is updated, and triggering the clean up.

      Steps to Verify:

          1. Create a Whereabouts reconciler daemonset
          2. Wait for the whereabouts-reconciler pods to be running. (takes time for the daemonset to get created).
          3. See in logs: "[error] could not read file: <nil>, using expression from flatfile: 30 4 * * *"
             This means it uses the hardcoded default value. (Because no ConfigMap yet)
          4. Run: oc create configmap whereabouts-config -n openshift-multus --from-literal=reconciler_cron_expression="*/2 * * * *"
          5. Check in the logs for: "successfully updated CRON configuration" 
          6. Check that in the next 2 minutes the reconciler runs: "[verbose] starting reconciler run"



            lnoy@redhat.com Lior Noy
            lnoy@redhat.com Lior Noy
            Weibin Liang Weibin Liang
            0 Vote for this issue
            3 Start watching this issue