@@ -31,30 +31,36 @@ func analyzeOneStatefulsetStatus(analyzer *troubleshootv1beta2.StatefulsetStatus
3131 return nil , errors .Wrap (err , "failed to unmarshal statefulset list" )
3232 }
3333
34- var status * appsv1.StatefulSetStatus
35- for _ , statefulset := range statefulsets {
36- if statefulset .Name == analyzer .Name {
37- status = statefulset . Status .DeepCopy ()
34+ var statefulset * appsv1.StatefulSet
35+ for _ , s := range statefulsets {
36+ if s .Name == analyzer .Name {
37+ statefulset = s .DeepCopy ()
3838 break
3939 }
4040 }
4141
42- if status == nil {
42+ if statefulset == nil {
4343 result = & AnalyzeResult {
4444 Title : fmt .Sprintf ("%s Statefulset Status" , analyzer .Name ),
4545 IconKey : "kubernetes_statefulset_status" ,
4646 IconURI : "https://troubleshoot.sh/images/analyzer-icons/statefulset-status.svg?w=23&h=14" ,
4747 IsFail : true ,
4848 Message : fmt .Sprintf ("The statefulset %q was not found" , analyzer .Name ),
4949 }
50- } else {
51- result , err = commonStatus (analyzer .Outcomes , fmt .Sprintf ("%s Status" , analyzer .Name ), "kubernetes_statefulset_status" , "https://troubleshoot.sh/images/analyzer-icons/statefulset-status.svg?w=23&h=14" , int (status .ReadyReplicas ))
50+ } else if len ( analyzer . Outcomes ) > 0 {
51+ result , err = commonStatus (analyzer .Outcomes , fmt .Sprintf ("%s Status" , analyzer .Name ), "kubernetes_statefulset_status" , "https://troubleshoot.sh/images/analyzer-icons/statefulset-status.svg?w=23&h=14" , int (statefulset . Status .ReadyReplicas ))
5252 if err != nil {
5353 return nil , errors .Wrap (err , "failed to process status" )
5454 }
55+ } else {
56+ result = getDefaultStatefulSetResult (statefulset )
5557 }
5658 }
5759
60+ if result == nil {
61+ return nil , nil
62+ }
63+
5864 return []* AnalyzeResult {result }, nil
5965}
6066
@@ -79,21 +85,26 @@ func analyzeAllStatefulsetStatuses(analyzer *troubleshootv1beta2.StatefulsetStat
7985 }
8086
8187 for _ , statefulset := range statefulsets {
82- if statefulset .Status .Replicas == statefulset .Status .ReadyReplicas {
83- continue
84- }
85-
86- result := & AnalyzeResult {
87- Title : fmt .Sprintf ("%s/%s Statefulset Status" , statefulset .Namespace , statefulset .Name ),
88- IconKey : "kubernetes_statefulset_status" ,
89- IconURI : "https://troubleshoot.sh/images/analyzer-icons/statefulset-status.svg?w=23&h=14" ,
90- IsFail : true ,
91- Message : fmt .Sprintf ("The statefulset %s/%s has %d/%d replicas" , statefulset .Namespace , statefulset .Name , statefulset .Status .ReadyReplicas , statefulset .Status .Replicas ),
88+ result := getDefaultStatefulSetResult (& statefulset )
89+ if result != nil {
90+ results = append (results , result )
9291 }
93-
94- results = append (results , result )
9592 }
9693 }
9794
9895 return results , nil
9996}
97+
98+ func getDefaultStatefulSetResult (statefulset * appsv1.StatefulSet ) * AnalyzeResult {
99+ if statefulset .Status .Replicas == statefulset .Status .ReadyReplicas {
100+ return nil
101+ }
102+
103+ return & AnalyzeResult {
104+ Title : fmt .Sprintf ("%s/%s Statefulset Status" , statefulset .Namespace , statefulset .Name ),
105+ IconKey : "kubernetes_statefulset_status" ,
106+ IconURI : "https://troubleshoot.sh/images/analyzer-icons/statefulset-status.svg?w=23&h=14" ,
107+ IsFail : true ,
108+ Message : fmt .Sprintf ("The statefulset %s/%s has %d/%d replicas" , statefulset .Namespace , statefulset .Name , statefulset .Status .ReadyReplicas , statefulset .Status .Replicas ),
109+ }
110+ }
0 commit comments