* Adding backend interfaces support for CNS
* Fixing the log line
* Moving backend nic functions to platform package
* Moving the pnpID fetching to platform package
* Moving the mapping to CRD mode
* Moving macaddress parsing to net package function
* removing the backend nic config
* Handling multiple interface information
* Adding error handling for macaddress parsing
* Moving pnpid mapping to swift v2 flow
* Adding pipeline vars
* Adding ut's for Happy paths
* Adding ut's for Happy paths
* Adding mtpnc check
* Rebasing with master
* Addressing lint errors
* Adding function to linux file
* Addressing lint errors
* Addressing lint comments
* Addressing Lint issues
* Modifying ut's
* removing mutex lock on cache
* Adding podnetwork instance label
* Modifying ut's after change
* Moving function out of restserver
* Moving mapping after crd intial state
* Adding the config debug statements
* removing the unused config
* Adding the debug statements
* Adding the debug statements
* Adding more debug logs
* removing log lines and adding mtpnc status check
* Moving mapping to state file
* Rebasing and removing the debug statements
* Addressing lint errors
* removing the debug pipeline changes
* Adding more coverage
* Adding test coverage and unhappy paths
* Addressing lint errors
* addressing lint errors
* Addressing lint errors
* feat: update CRDs to accomodate multiple pod nics
* fix: device type in mtpnc status, rename device types
* fix: change podnetworks to podnetworkconfigs
* Add new status to PN crd
* Update PN CRD status
* Update PN CRD staus
* updating generated manifest for MT podnetwork
---------
Co-authored-by: Miguel Gonzalez <miguelgo@microsoft.com>
* Update SubnetResourceId to SubnetGUID
* Leave subnetResourceID as is, just add subnetGUID field to PN CRD
* Update order of properties in PodNetworkSpec
---------
Co-authored-by: Samarth Shah <shshah@illinoisalumni.org>
* Added Network Conatiner Status to include the latest error code for a Network Container
* Updated the crd to have the Status field included into the Network Container
* Updated the names and added Status and ErrorText as two fields in NC Status
* Fixed the casing and json values for these variables
* Propagated the NC Status inside the CNS and IPAM Monitor pool states
* Fixed the lint error of missing comma
* Saved the updated NC Status into the CNS statefile
* Updated the IP assignment to check and error out subnet is Full when there are no more available IPs for CNS to assign
* Fixed a minor compilation issue
* Fixed lint failures
* Fixed lint failures
* Removed the reference from the metastate of the ipam monitor
* Added Update Success and Update Failed statuses to the NC Status to be able to clearly indicate response status inside the NNC from DNC-RC
* Updated the error to use errors pkg instead of fmt
* Updating the cns reconcillation logic to skip if there is a failure updating the NC and there are no IPs allocated for the NC
* Handled PR comments:
* Updated the code to have the NC status be part of the error directly so that it can be consumed by containerD
and cx can perform actions on it.
* Code update to not use dynamic slices.
* Removed the logic which handled 0 IPs allocated to NNC in CNS reconcile
Signed-off-by: GitHub <noreply@github.com>
* Addressed the PR comment which helped delete a block of code to store ncIDs and also added more error codes to the NCStatus
---------
Signed-off-by: GitHub <noreply@github.com>
* Added Network Conatiner Status to include the latest error code for a Network Container
* Updated the crd to have the Status field included into the Network Container
* Updated the names and added Status and ErrorText as two fields in NC Status
* Fixed the casing and json values for these variables
* Added error code to the NC Status and removed the latest prefix from the varibale names
* Removed the timestamp variable from the NC Status
* Moved the Status object inside the NC Status to be able to accurately define the status of each NC for the node
* Changed to having an enum representing the NC Status which DNC-RC will update after inferring the error and CNS can use this field to propagate and NCRequest failures
* Made the validation of the new enum optional to keep it backward compatible
* Creating new CRD for ClusterSubnetState.
* Changes to the CRD definition.
* Updated new ClusterSubnetState CRD. Generated YAML files.
* Changed bool Status to Exhausted.
* Changed bool Status to Exhausted.
* Added the Pod Net ARM ID as a Label.
Added Pod Net Arm Id as labels to the CNS Metrics.
* CNS Metrics: ARM ID as Label
Necessary changes to the read the ARM ID metadata coming from DNC.
* Subtle changes in NNC
Variable names had to be modified to meet lint standards.
* Subtle changes in NNC
Variable names had to be modified to meet lint standards.
* Made NNC arg a Pointer
NNC that was passed to create the ARM ID was too heavy. Converted that argument to a pointer and passed the reference of the NNC in that method.
* [CNS] Metrics Prefix
Added the "cx_" prefix to prometheus metrics of CNS.
* Minor Changes
Minor edits with the Metric Names and Documentation.
* ConstLabels in Metrics
Made changes to the ConstLabels in the CNS Metrics.
* ConstLabels in Metrics
Made changes to the ConstLabels in the CNS Metrics.