Skip to content

feat: add password_sync oslo_event handler (logging-only) - #2246

Draft
RSabounds wants to merge 4 commits into
mainfrom
ammo-1309/password-sync-handler
Draft

feat: add password_sync oslo_event handler (logging-only)#2246
RSabounds wants to merge 4 commits into
mainfrom
ammo-1309/password-sync-handler

Conversation

@RSabounds

@RSabounds RSabounds commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Adds a modular password change detection handler for baremetal.node.update.end events.

Design

  • Pluggable backends via PasswordSyncBackend ABC
  • extra['password_sync'] selects the backend by name (core, passwordsafe, 1password)
  • Change detection uses SHA-256 hash stored in driver_internal_info['_uc_password_sync_hash']
  • Password lookup priority: redfish_password > ipmi_password > any *_password key
  • Nodes without password_sync set (or set to false/disabled) are skipped
  • Requires core_id or external_cmdb_id in extras to identify the target device

Status

Phase 1 (this PR): Logging only — detects and reports password changes on eligible nodes.

Phase 2 (future): Dispatch to backend for actual credential sync (CTKAPI for CORE, etc.)

Open Items

  • CTKAPI service account and XMLRPC_PASSWORD permission confirmation
  • Credential storage for the sync service account (K8s secret pattern)
  • Hash persistence (commented out until backends perform real writes)

Jira

AMMO-1309

Add a modular password change detection handler that fires on
baremetal.node.update.end events. When a node has extra.password_sync
set to a recognized backend name (core, passwordsafe, 1password) and
a device identifier (core_id or external_cmdb_id), the handler detects
password changes via SHA-256 hash comparison against a value stored in
driver_internal_info.

Phase 1 (this commit): logging only — reports detected changes.
Phase 2 (future): dispatch to backend for actual credential sync.

Design:
- Pluggable backends via PasswordSyncBackend ABC
- extra['password_sync'] selects the backend by name
- Change detection uses _uc_password_sync_hash in driver_internal_info
- Password lookup: redfish_password > ipmi_password > any *_password

AMMO-1309
@RSabounds
RSabounds force-pushed the ammo-1309/password-sync-handler branch from 37504dd to cbe41ba Compare August 25, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant