chore: sriov validation #312
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Which issue(s) this PR is related to:
Closes #213, closes #233
When the multi-nic-cni for SR-IOV (multinic-sriov) firstly created, it had the correct info passed through from the definition:
However, after a while, the NAD get updated again, but with incorrect vlan info:
This is due to the reconcile loop invoked by controller which impacts the SR-IOV plugin configuration. On the first call, SR-IOV plugin generates the correct config with a nested plugin object: "plugin":{"cniVersion":"1.0.0","type":"sriov","vlan":1134}. Then "RemoveEmpty" applied and the "plugin" field got stripped out becaues it is not in "netConfKeys"
var netConfKeys []string = []string{"cniVersion", "type"}When the second reconcile call kicked in, the controller tries to update the NAD because CheckDefChanged detects the config difference, which resulted in a malformed config that breaks the plugin.