Issue #, if available:
N/A
Description of changes:
Adding node OS label to CNINodes to run the finalizer routine for Linux nodes only.
Added retry to get CNINode during node reconcile: When CNINode is deleted, node update is triggered and since CNINode is not immediately found, the controller updates the node to be unmanaged and adds node to delete queue and removes the trunk, this is a regression bug. CNINode is shortly re-created by the CNINode controller, so added retry with backoff to GetCNINode which prevents node being unmanaged.
Tests:
CNINode creation: Validated new CNINodes are created with required fields
Node deletion: Validated finalizer routine is only run for Linux nodes
Reconcile tests: Edit CNINode to remove required fields and validated it is updated correctly
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Issue #, if available: N/A Description of changes:
Tests:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.