Uploaded image for project: 'PuppetDB'
  1. PuppetDB
  2. PDB-4479

Deactivate node commands sync after garbage collection

    Details

    • Type: Bug
    • Status: Ready for Merge
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Template:
    • Acceptance Criteria:
      • Does not sync node deactivation commands that have a deactivated timestamp older than node-purge-ttl
      • Does not sync node data (agentless nodes 6.3.x+) that have a deactivated/expired timestamp older than node-purge-ttl
    • Team:
      HA
    • Story Points:
      2
    • Sprint:
      HA Team 2020-01-15, HA Team 2020-01-29
    • Method Found:
      Needs Assessment
    • Release Notes:
      Bug Fix
    • QA Risk Assessment:
      Needs Assessment

      Description

      This is a bug in pe-puppetdb's HA sync because we only check the value of producer_timestamp and not the timestamps named deactivate and expired in the certnames table in the would_be_expired_locally? function of .../sync/core.clj

      On the local PuppetDB, when a node is purged after a deactivate node command and then a garbage collection run after node-purge-ttl time has passed, the node is deleted.

      The remote PuppetDB also has that deactivated node present, but has not run garbage collection, when the local PuppetDB (that has just garbage collection the node) attempts to sync from the remote it will sync back the node it just garbage collected.

      This will result in a ping-pong effect and the node will never be purged from PuppetDB

        Attachments

          Activity

            People

            • Assignee:
              austin.blatt Austin Blatt
              Reporter:
              austin.blatt Austin Blatt
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:

                Zendesk Support