Conversation
0a41b4c to
75b5112
Compare
felix-kaestner
left a comment
There was a problem hiding this comment.
@elinalin did you even test your changes at all? If so, how? When I run the operator with these changes I get a clear
ConfigBackup.networking.metal.ironcore.dev", "error": "no matches for kind \"ConfigBackup\" in version \"networking.metal.ironcore.dev/v1alpha1\""
Meaning that the operator won't even start or doesn't know this api type. Again, because the scaffolding from kubebuilder is missing.
I did test the controller/provider logic, including real NX-OS Local backup behavior(the lab container) , but you are right that I missed the fresh deployment/install path. I checked the code after your comment:
So this is not missing Go-side kubebuilder scaffolding. The real issue is that the ConfigBackup CRD is not being delivered/installed in the deployment path you used, so the API server does not recognize the kind and the operator cannot start cleanly against that cluster. I’ll fix the install artifacts and validate again from a fresh deployment. |
eef68d9 to
da85da4
Compare
da85da4 to
914cfb0
Compare
Merging this branch changes the coverage (1 decrease, 2 increase)
Coverage by fileChanged files (no unit tests)
Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code. Changed unit test files
|
Summary
This PR introduces the
ConfigBackupcontroller for on-device configuration backups.The controller supports:
type: Localfor timestamped backups written to device-local storagetype: Startupfor persisting the running configuration asstartup-configThe initial provider implementation targets Cisco NX-OS.
What Is Included
ConfigBackupCRD with spec and statusConfigBackupcontroller reconcile flowValidation Performed
I validated this change at multiple levels.
1. Controller and provider tests
I ran the controller and provider-side tests to validate:
2. Live device validation for local backup behavior
On the lab device, I verified the local backup path directly:
This validated the device-side behavior for
type: Local.3. Full local E2E validation for startup backup
I also validated the full local end-to-end flow for
type: Startup:DeviceConfigBackupConfigConfigBackupDevicereconciled toRunning/Reachable=TrueConfigBackupreconciled toReady=Truestatus.lastBackup.locationwas set tostartup-configBackupCompletedevent was recordedThis addresses the previously missing local operator E2E validation for the startup backup path.
Notes
type: Startuprequires NX-API because gNMI cannot executecopy running-config startup-config.ConfigBackupConfigthat can override the NX-API address forConfigBackup.Example E2E Assets
examples/configbackup-startup-local-e2e/manifest.yamlexamples/configbackup-startup-local-e2e/README.md