From c8236735ae67d9036d44f005b6d957bba81515a1 Mon Sep 17 00:00:00 2001 From: yanmingfan Date: Fri, 1 Jun 2018 20:02:33 +0800 Subject: [PATCH] add component model --- pkg/models/components.go | 70 +++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 26 deletions(-) diff --git a/pkg/models/components.go b/pkg/models/components.go index ddf5b9133..485a84c92 100644 --- a/pkg/models/components.go +++ b/pkg/models/components.go @@ -25,17 +25,16 @@ import ( ) const KUBESYSTEM = "kube-system" -const OPENPITRIX = "openpitrix" +const OPENPITRIX = "openpitrix-system" type Components struct { - Name string `json:"name"` - Version string `json:"version"` - Kind string `json:"kind"` - HealthStatus string `json:"healthStatus"` - Replicas int `json:"replicas"` - AvailableReplicas int `json:"availableReplicas"` - SelfLink string `json:"selfLink"` - UpdateTime time.Time `json:"updateTime"` + Name string `json:"name"` + Version string `json:"version"` + Kind string `json:"kind"` + Replicas int `json:"replicas"` + HealthStatus string `json:"healthStatus"` + SelfLink string `json:"selfLink"` + UpdateTime time.Time `json:"updateTime"` } /*** @@ -79,19 +78,25 @@ func GetComponents() (result []Components, err error) { components.Kind = "Pod" components.SelfLink = pod.SelfLink version := strings.Split(pod.Spec.Containers[0].Image, ":") - components.Version = version[1] + + if len(version) < 2 { + + components.Version = "latest" + + } else { + + components.Version = version[1] + + } + components.Replicas = 1 if pod.Status.Phase == "Running" { components.HealthStatus = "health" - components.Replicas = 1 - components.AvailableReplicas = 1 } else { - components.HealthStatus = "fault" - components.Replicas = 1 - components.AvailableReplicas = 0 + components.HealthStatus = "unhealth" } components.UpdateTime = pod.Status.Conditions[0].LastTransitionTime.Time @@ -127,19 +132,25 @@ func GetComponents() (result []Components, err error) { components.Kind = "Pod" components.SelfLink = pod.SelfLink version := strings.Split(pod.Spec.Containers[0].Image, ":") - components.Version = version[1] + + if len(version) < 2 { + + components.Version = "latest" + + } else { + + components.Version = version[1] + + } + components.Replicas = 1 if pod.Status.Phase == "Running" { components.HealthStatus = "health" - components.Replicas = 1 - components.AvailableReplicas = 1 } else { components.HealthStatus = "fault" - components.Replicas = 1 - components.AvailableReplicas = 0 } components.UpdateTime = pod.Status.Conditions[0].LastTransitionTime.Time @@ -174,12 +185,20 @@ func GetComponents() (result []Components, err error) { components.Kind = "Daemonset" components.SelfLink = ds.SelfLink version := strings.Split(ds.Spec.Template.Spec.Containers[0].Image, ":") - components.Version = version[1] + + if len(version) < 2 { + + components.Version = "latest" + + } else { + + components.Version = version[1] + + } components.UpdateTime = ds.CreationTimestamp.Time - components.AvailableReplicas = int(ds.Status.NumberAvailable) components.Replicas = int(ds.Status.DesiredNumberScheduled) - if components.AvailableReplicas == components.Replicas { + if ds.Status.NumberAvailable == ds.Status.DesiredNumberScheduled { components.HealthStatus = "health" @@ -221,6 +240,7 @@ func GetComponents() (result []Components, err error) { components.Name = dm.Name components.Kind = "Deployment" components.SelfLink = dm.SelfLink + components.Replicas = int(dm.Status.Replicas) version := strings.Split(dm.Spec.Template.Spec.Containers[0].Image, ":") if len(version) < 2 { @@ -233,10 +253,8 @@ func GetComponents() (result []Components, err error) { } components.UpdateTime = dm.Status.Conditions[0].LastUpdateTime.Time - components.AvailableReplicas = int(dm.Status.AvailableReplicas) - components.Replicas = int(dm.Status.Replicas) - if components.AvailableReplicas == components.Replicas { + if dm.Status.AvailableReplicas == dm.Status.Replicas { components.HealthStatus = "health"