diff --git a/crd/multitenancy/api/v1alpha1/multitenantpodnetworkconfig.go b/crd/multitenancy/api/v1alpha1/multitenantpodnetworkconfig.go index 099e510419..198b990415 100644 --- a/crd/multitenancy/api/v1alpha1/multitenantpodnetworkconfig.go +++ b/crd/multitenancy/api/v1alpha1/multitenantpodnetworkconfig.go @@ -5,6 +5,7 @@ package v1alpha1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" ) // Important: Run "make" to regenerate code after modifying this file @@ -17,8 +18,9 @@ import ( // +kubebuilder:metadata:labels=managed= // +kubebuilder:metadata:labels=owner= // +kubebuilder:printcolumn:name="PodNetworkInstance",type=string,JSONPath=`.spec.podNetworkInstance` -// +kubebuilder:printcolumn:name="PodNetwork",type=string,JSONPath=`.spec.podNetwork` // +kubebuilder:printcolumn:name="PodName",type=string,JSONPath=`.spec.podName` +// +kubebuilder:printcolumn:name="PodUID",type=string,JSONPath=`.spec.podUID` +// +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status` type MultitenantPodNetworkConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -49,7 +51,7 @@ type MultitenantPodNetworkConfigSpec struct { // +kubebuilder:validation:Optional IBMACAddresses []string `json:"IBMACAddresses,omitempty"` // PodUID is the UID of the pod - PodUID string `json:"podUID,omitempty"` + PodUID types.UID `json:"podUID,omitempty"` } // +kubebuilder:validation:Enum=Unprogrammed;Programming;Programmed;Unprogramming;Failed @@ -64,17 +66,26 @@ const ( ) // MTPNCStatus indicates the high-level status of MultitenantPodNetworkConfig -// +kubebuilder:validation:Enum=Ready;Pending;InternalError;PNINotFound;PNINotReady;NodeCapacityExceeded;IPsExhausted +// +kubebuilder:validation:Enum=Ready;Pending;InternalError;PNINotFound;PNINotReady;NodeCapacityExceeded;IPsExhausted;Deleting type MTPNCStatus string const ( - MTPNCStatusReady MTPNCStatus = "Ready" - MTPNCStatusPending MTPNCStatus = "Pending" - MTPNCStatusInternalError MTPNCStatus = "InternalError" - MTPNCStatusPNINotFound MTPNCStatus = "PNINotFound" - MTPNCStatusPNINotReady MTPNCStatus = "PNINotReady" + // MTPNCStatusReady indicates the MTPNC has been successfully programmed and is ready for use + MTPNCStatusReady MTPNCStatus = "Ready" + // MTPNCStatusPending indicates the MTPNC is awaiting processing + MTPNCStatusPending MTPNCStatus = "Pending" + // MTPNCStatusInternalError indicates an internal error occurred while processing the MTPNC + MTPNCStatusInternalError MTPNCStatus = "InternalError" + // MTPNCStatusPNINotFound indicates the referenced PodNetworkInstance was not found + MTPNCStatusPNINotFound MTPNCStatus = "PNINotFound" + // MTPNCStatusPNINotReady indicates the referenced PodNetworkInstance is not yet ready + MTPNCStatusPNINotReady MTPNCStatus = "PNINotReady" + // MTPNCStatusNodeCapacityExceeded indicates the node has exceeded its capacity for network resources MTPNCStatusNodeCapacityExceeded MTPNCStatus = "NodeCapacityExceeded" - MTPNCStatusIPsExhausted MTPNCStatus = "IPsExhausted" + // MTPNCStatusIPsExhausted indicates no IP addresses are available for allocation + MTPNCStatusIPsExhausted MTPNCStatus = "IPsExhausted" + // MTPNCStatusDeleting indicates MTPNC is being deleted, status may not be set at the same time as deletionTimestamp. + MTPNCStatusDeleting MTPNCStatus = "Deleting" ) type InterfaceInfo struct { diff --git a/crd/multitenancy/api/v1alpha1/podnetwork.go b/crd/multitenancy/api/v1alpha1/podnetwork.go index 4f21ccbe07..f2b23c7670 100644 --- a/crd/multitenancy/api/v1alpha1/podnetwork.go +++ b/crd/multitenancy/api/v1alpha1/podnetwork.go @@ -19,7 +19,7 @@ import ( // +kubebuilder:printcolumn:name="Network",type=string,priority=1,JSONPath=`.spec.networkID` // +kubebuilder:printcolumn:name="Subnet",type=string,priority=1,JSONPath=`.spec.subnetResourceID` // +kubebuilder:printcolumn:name="SubnetGUID",type=string,priority=1,JSONPath=`.spec.subnetGUID` -// +kubebuilder:printcolumn:name="DeviceType",type=string,priority=1,JSONPath=`.spec.subnetGUID` +// +kubebuilder:printcolumn:name="DeviceType",type=string,priority=1,JSONPath=`.spec.deviceType` type PodNetwork struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/crd/multitenancy/api/v1alpha1/podnetworkinstance.go b/crd/multitenancy/api/v1alpha1/podnetworkinstance.go index 0437bee57f..3f78dd58e5 100644 --- a/crd/multitenancy/api/v1alpha1/podnetworkinstance.go +++ b/crd/multitenancy/api/v1alpha1/podnetworkinstance.go @@ -17,7 +17,6 @@ import ( // +kubebuilder:metadata:labels=managed= // +kubebuilder:metadata:labels=owner= // +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status` -// +kubebuilder:printcolumn:name="PodNetworks",priority=1,type=string,JSONPath=`.spec.podNetworks` type PodNetworkInstance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/crd/multitenancy/manifests/multitenancy.acn.azure.com_multitenantpodnetworkconfigs.yaml b/crd/multitenancy/manifests/multitenancy.acn.azure.com_multitenantpodnetworkconfigs.yaml index e539ed4b24..db8c1de9ba 100644 --- a/crd/multitenancy/manifests/multitenancy.acn.azure.com_multitenantpodnetworkconfigs.yaml +++ b/crd/multitenancy/manifests/multitenancy.acn.azure.com_multitenantpodnetworkconfigs.yaml @@ -23,12 +23,15 @@ spec: - jsonPath: .spec.podNetworkInstance name: PodNetworkInstance type: string - - jsonPath: .spec.podNetwork - name: PodNetwork - type: string - jsonPath: .spec.podName name: PodName type: string + - jsonPath: .spec.podUID + name: PodUID + type: string + - jsonPath: .status.status + name: Status + type: string name: v1alpha1 schema: openAPIV3Schema: @@ -154,6 +157,7 @@ spec: - PNINotReady - NodeCapacityExceeded - IPsExhausted + - Deleting type: string type: object type: object diff --git a/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworkinstances.yaml b/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworkinstances.yaml index 3f13488dbe..432cb5a222 100644 --- a/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworkinstances.yaml +++ b/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworkinstances.yaml @@ -23,10 +23,6 @@ spec: - jsonPath: .status.status name: Status type: string - - jsonPath: .spec.podNetworks - name: PodNetworks - priority: 1 - type: string name: v1alpha1 schema: openAPIV3Schema: diff --git a/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworks.yaml b/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworks.yaml index 90ed5b698f..173174e771 100644 --- a/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworks.yaml +++ b/crd/multitenancy/manifests/multitenancy.acn.azure.com_podnetworks.yaml @@ -37,7 +37,7 @@ spec: name: SubnetGUID priority: 1 type: string - - jsonPath: .spec.subnetGUID + - jsonPath: .spec.deviceType name: DeviceType priority: 1 type: string