Files
haproxy-openmanager/backend
taylanbakircioglu b427db4c78 feat(snapshot): PHASE 4 & 5 - Bulk Import & Restore snapshot integration
PHASE 4: Bulk Import Integration
- config.py - bulk_create_entities() enhanced with snapshot support
- Backend UPDATE: Snapshot before update (bulk_snapshots array)
- Backend CREATE: Snapshot for rollback (DELETE on reject)
- Frontend UPDATE: Snapshot before update
- Frontend CREATE: Snapshot for rollback (DELETE on reject)
- Server CREATE: Snapshot for rollback (DELETE on reject)
- Bulk metadata: bulk_snapshots array, operation=BULK_IMPORT
- Total entity count tracking in metadata

PHASE 5: Restore Integration
- cluster.py - confirm_restore_config_version() enhanced
- Frontend UPDATE: Snapshot before restore (operation=UPDATE_RESTORE)
- Backend UPDATE: Snapshot before restore (operation=UPDATE_RESTORE)
- SELECT * for full field capture (not just parsed fields)
- Restore metadata: bulk_snapshots + pre_apply_snapshot
- operation=RESTORE tracking
- Rollback support for restore + reject scenario

Key Features:
- Bulk import now creates single config version with multiple entity snapshots
- Restore creates snapshots for all updated entities
- Reject after bulk import: Rollback all entities (UPDATE to old values, CREATE deleted)
- Reject after restore: Rollback to pre-restore state
- All emojis removed from code (clean logging)
- Diff viewer compatibility maintained (pre_apply_snapshot)

Implementation Complete:
- PHASE 1: Infrastructure (entity_snapshot.py) - DONE
- PHASE 2: Entity updates (5 entities) - DONE
- PHASE 3: Reject rollback logic - DONE
- PHASE 4: Bulk import snapshot - DONE
- PHASE 5: Restore snapshot - DONE

Next: Production testing with feature flag (ENTITY_SNAPSHOT_ENABLED=false by default)
2025-11-14 01:06:38 +03:00
..
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00
2025-10-27 12:14:03 +03:00