Skip to content

Clarify duplicate host management in federated reporting docs#3645

Open
larsewi wants to merge 2 commits into
cfengine:masterfrom
larsewi:federated-reporting-duplicate-hosts
Open

Clarify duplicate host management in federated reporting docs#3645
larsewi wants to merge 2 commits into
cfengine:masterfrom
larsewi:federated-reporting-duplicate-hosts

Conversation

@larsewi
Copy link
Copy Markdown
Contributor

@larsewi larsewi commented May 12, 2026

Summary

  • Reframe the "Duplicate host management" intro around the approach distinction (source-side vs destination-side) rather than treating distributed cleanup and handle-duplicate-hostkeys as if they addressed different lifecycle scenarios. Both mechanisms address the same underlying problem: the same hostkey appearing on multiple feeders.
  • Distributed cleanup is now described as a source-side cleanup (deletes stale records from the feeders via API, before re-import).
  • Handle duplicate hostkeys is described as a destination-side filter (moves older duplicates into a dup schema on the superhub during import).
  • Added a caveat that neither mechanism deduplicates clones reporting to the same feeder, since the feeder's __hosts table is keyed on hostkey (verified against nova/db/schema.sql).
  • Dropped "fail over" from the list of causes — there is no automatic failover for federated reporting agents, only operator-driven re-bootstrap.
  • Updated the distributed_cleanup.py prompts in the bullet list and the example console session to match the current script: separate admin username/password prompts (defaulting to admin), and 2FA prompts when enabled.

Example output

# /opt/cfengine/federation/bin/distributed_cleanup.py
Enter admin username for superhub ip-172-31-12-171 [admin]: larsewi
Enter admin password for superhub ip-172-31-12-171: 
Enter email for fr_distributed_cleanup accounts: larsewi@doofus.com

Enter admin username for ip-172-31-6-8 [admin]: larsewi
Enter admin password for ip-172-31-6-8:

@larsewi larsewi force-pushed the federated-reporting-duplicate-hosts branch from 571c83a to 1d4687e Compare May 12, 2026 13:08
@larsewi larsewi marked this pull request as ready for review May 12, 2026 13:11
- hosts are able to "float", re-bootstrap or failover to several different feeder hubs
- hosts may be cloned and not have their hostkey refreshed by running `cf-key` and refreshing `$(sys.workdir)/ppkeys/localhost.pub`.
CFEngine provides two mechanisms for resolving these cross-feeder duplicates.
They address the same underlying problem with different approaches, and they can be enabled together:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can they be enabled together? The destination-side would take only add the newest record into the superhub database, without the duplicate entries in the superhub the source-side process would have nothing to delete on the feeders. I don't think this comment is accurate.

Copy link
Copy Markdown
Contributor Author

@larsewi larsewi May 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see why not. But I guess it would not make any difference, so might as well remove it ;)

larsewi and others added 2 commits May 12, 2026 16:18
Reframe the "Duplicate host management" intro around the approach
distinction rather than separate lifecycle scenarios: both mechanisms
address the same underlying problem (same hostkey across multiple
feeders), with distributed cleanup as a source-side cleanup and
handle duplicate hostkeys as a destination-side filter. Note that
neither deduplicates clones reporting to the same feeder, since a
feeder's __hosts table is keyed on hostkey.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The script has since been changed to ask for admin username and
password separately (defaulting to admin) and to prompt for a 2FA
code when the admin account has 2FA enabled. Update the bullet list
and the example console session to match the current prompts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@larsewi larsewi force-pushed the federated-reporting-duplicate-hosts branch from 1d4687e to e21408e Compare May 12, 2026 14:19
@larsewi larsewi requested a review from craigcomstock May 12, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants