mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +00:00
Remove 'all namespaces' meaning of empty list in PodAffinityTerm
This commit is contained in:
parent
a10c8f49ff
commit
8fda1c716b
@ -1886,9 +1886,7 @@ type PodAffinityTerm struct {
|
|||||||
// +optional
|
// +optional
|
||||||
LabelSelector *metav1.LabelSelector
|
LabelSelector *metav1.LabelSelector
|
||||||
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
||||||
// nil list means "this pod's namespace," empty list means "all namespaces"
|
// null or empty list means "this pod's namespace"
|
||||||
// The json tag here is not "omitempty" since we need to distinguish nil and empty.
|
|
||||||
// See https://golang.org/pkg/encoding/json/#Marshal for more details.
|
|
||||||
Namespaces []string
|
Namespaces []string
|
||||||
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
||||||
// the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
// the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
||||||
|
@ -2102,10 +2102,8 @@ type PodAffinityTerm struct {
|
|||||||
// +optional
|
// +optional
|
||||||
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty" protobuf:"bytes,1,opt,name=labelSelector"`
|
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty" protobuf:"bytes,1,opt,name=labelSelector"`
|
||||||
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
||||||
// nil list means "this pod's namespace," empty list means "all namespaces"
|
// null or empty list means "this pod's namespace"
|
||||||
// The json tag here is not "omitempty" since we need to distinguish nil and empty.
|
Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,2,rep,name=namespaces"`
|
||||||
// See https://golang.org/pkg/encoding/json/#Marshal for more details.
|
|
||||||
Namespaces []string `json:"namespaces" protobuf:"bytes,2,rep,name=namespaces"`
|
|
||||||
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
||||||
// the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
// the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
||||||
// whose value of the label with key topologyKey matches that of any node on which any of the
|
// whose value of the label with key topologyKey matches that of any node on which any of the
|
||||||
|
@ -26,13 +26,12 @@ import (
|
|||||||
|
|
||||||
// GetNamespacesFromPodAffinityTerm returns a set of names
|
// GetNamespacesFromPodAffinityTerm returns a set of names
|
||||||
// according to the namespaces indicated in podAffinityTerm.
|
// according to the namespaces indicated in podAffinityTerm.
|
||||||
// 1. If the namespaces is nil considers the given pod's namespace
|
// If namespaces is empty it considers the given pod's namespace.
|
||||||
// 2. If the namespaces is empty list then considers all the namespaces
|
|
||||||
func GetNamespacesFromPodAffinityTerm(pod *v1.Pod, podAffinityTerm *v1.PodAffinityTerm) sets.String {
|
func GetNamespacesFromPodAffinityTerm(pod *v1.Pod, podAffinityTerm *v1.PodAffinityTerm) sets.String {
|
||||||
names := sets.String{}
|
names := sets.String{}
|
||||||
if podAffinityTerm.Namespaces == nil {
|
if len(podAffinityTerm.Namespaces) == 0 {
|
||||||
names.Insert(pod.Namespace)
|
names.Insert(pod.Namespace)
|
||||||
} else if len(podAffinityTerm.Namespaces) != 0 {
|
} else {
|
||||||
names.Insert(podAffinityTerm.Namespaces...)
|
names.Insert(podAffinityTerm.Namespaces...)
|
||||||
}
|
}
|
||||||
return names
|
return names
|
||||||
@ -41,7 +40,7 @@ func GetNamespacesFromPodAffinityTerm(pod *v1.Pod, podAffinityTerm *v1.PodAffini
|
|||||||
// PodMatchesTermsNamespaceAndSelector returns true if the given <pod>
|
// PodMatchesTermsNamespaceAndSelector returns true if the given <pod>
|
||||||
// matches the namespace and selector defined by <affinityPod>`s <term>.
|
// matches the namespace and selector defined by <affinityPod>`s <term>.
|
||||||
func PodMatchesTermsNamespaceAndSelector(pod *v1.Pod, namespaces sets.String, selector labels.Selector) bool {
|
func PodMatchesTermsNamespaceAndSelector(pod *v1.Pod, namespaces sets.String, selector labels.Selector) bool {
|
||||||
if len(namespaces) != 0 && !namespaces.Has(pod.Namespace) {
|
if !namespaces.Has(pod.Namespace) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user