mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Add a NamespacePhase to Namespace
This commit is contained in:
parent
4dc1826ab8
commit
7de138a9bb
@ -198,6 +198,9 @@ func FuzzerFor(t *testing.T, version string, src rand.Source) *fuzz.Fuzzer {
|
||||
c.FuzzNoCustom(s) // fuzz self without calling this function again
|
||||
s.Type = api.SecretTypeOpaque
|
||||
},
|
||||
func(s *api.NamespaceStatus, c fuzz.Continue) {
|
||||
s.Phase = api.NamespaceActive
|
||||
},
|
||||
func(ep *api.Endpoint, c fuzz.Continue) {
|
||||
// TODO: If our API used a particular type for IP fields we could just catch that here.
|
||||
ep.IP = fmt.Sprintf("%d.%d.%d.%d", c.Rand.Intn(256), c.Rand.Intn(256), c.Rand.Intn(256), c.Rand.Intn(256))
|
||||
|
@ -895,8 +895,20 @@ type NamespaceSpec struct {
|
||||
|
||||
// NamespaceStatus is information about the current status of a Namespace.
|
||||
type NamespaceStatus struct {
|
||||
// Phase is the current lifecycle phase of the namespace.
|
||||
Phase NamespacePhase `json:"phase,omitempty"`
|
||||
}
|
||||
|
||||
type NamespacePhase string
|
||||
|
||||
// These are the valid phases of a namespace.
|
||||
const (
|
||||
// NamespaceActive means the namespace is available for use in the system
|
||||
NamespaceActive NamespacePhase = "Active"
|
||||
// NamespaceTerminating means the namespace is undergoing graceful termination
|
||||
NamespaceTerminating NamespacePhase = "Terminating"
|
||||
)
|
||||
|
||||
// A namespace provides a scope for Names.
|
||||
// Use of multiple namespaces is optional
|
||||
type Namespace struct {
|
||||
|
@ -773,6 +773,9 @@ func init() {
|
||||
if err := s.Convert(&in.Spec, &out.Spec, 0); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.Convert(&in.Status, &out.Status, 0); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.Convert(&in.Labels, &out.ObjectMeta.Labels, 0); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -95,5 +95,10 @@ func init() {
|
||||
obj.Path = "/"
|
||||
}
|
||||
},
|
||||
func(obj *NamespaceStatus) {
|
||||
if obj.Phase == "" {
|
||||
obj.Phase = NamespaceActive
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
|
@ -112,3 +112,13 @@ func TestSetDefaulEndpointsProtocol(t *testing.T) {
|
||||
t.Errorf("Expected protocol %s, got %s", current.ProtocolTCP, out.Protocol)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetDefaultNamespace(t *testing.T) {
|
||||
s := ¤t.Namespace{}
|
||||
obj2 := roundTrip(t, runtime.Object(s))
|
||||
s2 := obj2.(*current.Namespace)
|
||||
|
||||
if s2.Status.Phase != current.NamespaceActive {
|
||||
t.Errorf("Expected phase %v, got %v", current.NamespaceActive, s2.Status.Phase)
|
||||
}
|
||||
}
|
||||
|
@ -727,8 +727,20 @@ type NamespaceSpec struct {
|
||||
|
||||
// NamespaceStatus is information about the current status of a Namespace.
|
||||
type NamespaceStatus struct {
|
||||
// Phase is the current lifecycle phase of the namespace.
|
||||
Phase NamespacePhase `json:"phase,omitempty" description:"phase is the current lifecycle phase of the namespace"`
|
||||
}
|
||||
|
||||
type NamespacePhase string
|
||||
|
||||
// These are the valid phases of a namespace.
|
||||
const (
|
||||
// NamespaceActive means the namespace is available for use in the system
|
||||
NamespaceActive NamespacePhase = "Active"
|
||||
// NamespaceTerminating means the namespace is undergoing graceful termination
|
||||
NamespaceTerminating NamespacePhase = "Terminating"
|
||||
)
|
||||
|
||||
// A namespace provides a scope for Names.
|
||||
// Use of multiple namespaces is optional
|
||||
type Namespace struct {
|
||||
|
@ -693,6 +693,9 @@ func init() {
|
||||
if err := s.Convert(&in.Spec, &out.Spec, 0); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.Convert(&in.Status, &out.Status, 0); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.Convert(&in.Labels, &out.ObjectMeta.Labels, 0); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -97,5 +97,10 @@ func init() {
|
||||
obj.Path = "/"
|
||||
}
|
||||
},
|
||||
func(obj *NamespaceStatus) {
|
||||
if obj.Phase == "" {
|
||||
obj.Phase = NamespaceActive
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
|
@ -112,3 +112,13 @@ func TestSetDefaulEndpointsProtocol(t *testing.T) {
|
||||
t.Errorf("Expected protocol %s, got %s", current.ProtocolTCP, out.Protocol)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetDefaultNamespace(t *testing.T) {
|
||||
s := ¤t.Namespace{}
|
||||
obj2 := roundTrip(t, runtime.Object(s))
|
||||
s2 := obj2.(*current.Namespace)
|
||||
|
||||
if s2.Status.Phase != current.NamespaceActive {
|
||||
t.Errorf("Expected phase %v, got %v", current.NamespaceActive, s2.Status.Phase)
|
||||
}
|
||||
}
|
||||
|
@ -743,8 +743,20 @@ type NamespaceSpec struct {
|
||||
|
||||
// NamespaceStatus is information about the current status of a Namespace.
|
||||
type NamespaceStatus struct {
|
||||
// Phase is the current lifecycle phase of the namespace.
|
||||
Phase NamespacePhase `json:"phase,omitempty" description:"phase is the current lifecycle phase of the namespace"`
|
||||
}
|
||||
|
||||
type NamespacePhase string
|
||||
|
||||
// These are the valid phases of a namespace.
|
||||
const (
|
||||
// NamespaceActive means the namespace is available for use in the system
|
||||
NamespaceActive NamespacePhase = "Active"
|
||||
// NamespaceTerminating means the namespace is undergoing graceful termination
|
||||
NamespaceTerminating NamespacePhase = "Terminating"
|
||||
)
|
||||
|
||||
// A namespace provides a scope for Names.
|
||||
// Use of multiple namespaces is optional.
|
||||
//
|
||||
|
@ -96,5 +96,10 @@ func init() {
|
||||
obj.ContainerPort = util.NewIntOrStringFromInt(obj.Port)
|
||||
}
|
||||
},
|
||||
func(obj *NamespaceStatus) {
|
||||
if obj.Phase == "" {
|
||||
obj.Phase = NamespaceActive
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
|
@ -129,3 +129,13 @@ func TestSetDefaulServiceDestinationPort(t *testing.T) {
|
||||
t.Errorf("Expected ContainerPort to be unchanged, got %s", out.Spec.ContainerPort)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetDefaultNamespace(t *testing.T) {
|
||||
s := ¤t.Namespace{}
|
||||
obj2 := roundTrip(t, runtime.Object(s))
|
||||
s2 := obj2.(*current.Namespace)
|
||||
|
||||
if s2.Status.Phase != current.NamespaceActive {
|
||||
t.Errorf("Expected phase %v, got %v", current.NamespaceActive, s2.Status.Phase)
|
||||
}
|
||||
}
|
||||
|
@ -916,8 +916,20 @@ type NamespaceSpec struct {
|
||||
|
||||
// NamespaceStatus is information about the current status of a Namespace.
|
||||
type NamespaceStatus struct {
|
||||
// Phase is the current lifecycle phase of the namespace.
|
||||
Phase NamespacePhase `json:"phase,omitempty" description:"phase is the current lifecycle phase of the namespace"`
|
||||
}
|
||||
|
||||
type NamespacePhase string
|
||||
|
||||
// These are the valid phases of a namespace.
|
||||
const (
|
||||
// NamespaceActive means the namespace is available for use in the system
|
||||
NamespaceActive NamespacePhase = "Active"
|
||||
// NamespaceTerminating means the namespace is undergoing graceful termination
|
||||
NamespaceTerminating NamespacePhase = "Terminating"
|
||||
)
|
||||
|
||||
// A namespace provides a scope for Names.
|
||||
// Use of multiple namespaces is optional
|
||||
type Namespace struct {
|
||||
|
@ -237,7 +237,7 @@ var statusColumns = []string{"STATUS"}
|
||||
var eventColumns = []string{"FIRSTSEEN", "LASTSEEN", "COUNT", "NAME", "KIND", "SUBOBJECT", "REASON", "SOURCE", "MESSAGE"}
|
||||
var limitRangeColumns = []string{"NAME"}
|
||||
var resourceQuotaColumns = []string{"NAME"}
|
||||
var namespaceColumns = []string{"NAME", "LABELS"}
|
||||
var namespaceColumns = []string{"NAME", "LABELS", "STATUS"}
|
||||
var secretColumns = []string{"NAME", "DATA"}
|
||||
|
||||
// addDefaultHandlers adds print handlers for default Kubernetes types.
|
||||
@ -402,7 +402,7 @@ func printEndpointsList(list *api.EndpointsList, w io.Writer) error {
|
||||
}
|
||||
|
||||
func printNamespace(item *api.Namespace, w io.Writer) error {
|
||||
_, err := fmt.Fprintf(w, "%s\t%s\n", item.Name, formatLabels(item.Labels))
|
||||
_, err := fmt.Fprintf(w, "%s\t%s\t%s\n", item.Name, formatLabels(item.Labels), item.Status.Phase)
|
||||
return err
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user