@@ -59,39 +59,47 @@ func analyzeOneDeploymentStatus(analyzer *troubleshootv1beta2.DeploymentStatus,
5959}
6060
6161func analyzeAllDeploymentStatuses (analyzer * troubleshootv1beta2.DeploymentStatus , getFileContents func (string ) (map [string ][]byte , error )) ([]* AnalyzeResult , error ) {
62- var fileName string
62+ fileNames := make ([] string , 0 )
6363 if analyzer .Namespace != "" {
64- fileName = filepath .Join ("cluster-resources" , "deployments" , fmt .Sprintf ("%s.json" , analyzer .Namespace ))
65- } else {
66- fileName = filepath .Join ("cluster-resources" , "deployments" , "*.json" )
64+ fileNames = append (fileNames , filepath .Join ("cluster-resources" , "deployments" , fmt .Sprintf ("%s.json" , analyzer .Namespace )))
65+ }
66+ for _ , ns := range analyzer .Namespaces {
67+ fileNames = append (fileNames , filepath .Join ("cluster-resources" , "deployments" , fmt .Sprintf ("%s.json" , ns )))
6768 }
6869
69- files , err := getFileContents ( fileName )
70- if err != nil {
71- return nil , errors . Wrap ( err , "failed to read collected deployments from file" )
70+ // no namespace specified, so we need to analyze all deployments
71+ if len ( fileNames ) == 0 {
72+ fileNames = append ( fileNames , filepath . Join ( "cluster-resources" , "deployments" , "*.json" ) )
7273 }
7374
7475 results := []* AnalyzeResult {}
75- for _ , collected := range files {
76- var deployments []appsv1. Deployment
77- if err := json . Unmarshal ( collected , & deployments ); err != nil {
78- return nil , errors .Wrap (err , "failed to unmarshal deployment list " )
76+ for _ , fileName := range fileNames {
77+ files , err := getFileContents ( fileName )
78+ if err != nil {
79+ return nil , errors .Wrap (err , "failed to read collected deployments from file " )
7980 }
8081
81- for _ , deployment := range deployments {
82- if deployment .Status .Replicas == deployment .Status .AvailableReplicas {
83- continue
82+ for _ , collected := range files {
83+ var deployments []appsv1.Deployment
84+ if err := json .Unmarshal (collected , & deployments ); err != nil {
85+ return nil , errors .Wrap (err , "failed to unmarshal deployment list" )
8486 }
8587
86- result := & AnalyzeResult {
87- Title : fmt .Sprintf ("%s/%s Deployment Status" , deployment .Namespace , deployment .Name ),
88- IconKey : "kubernetes_deployment_status" ,
89- IconURI : "https://troubleshoot.sh/images/analyzer-icons/deployment-status.svg?w=17&h=17" ,
90- IsFail : true ,
91- Message : fmt .Sprintf ("The deployment %s/%s has %d/%d replicas" , deployment .Namespace , deployment .Name , deployment .Status .ReadyReplicas , deployment .Status .Replicas ),
92- }
88+ for _ , deployment := range deployments {
89+ if deployment .Status .Replicas == deployment .Status .AvailableReplicas {
90+ continue
91+ }
92+
93+ result := & AnalyzeResult {
94+ Title : fmt .Sprintf ("%s/%s Deployment Status" , deployment .Namespace , deployment .Name ),
95+ IconKey : "kubernetes_deployment_status" ,
96+ IconURI : "https://troubleshoot.sh/images/analyzer-icons/deployment-status.svg?w=17&h=17" ,
97+ IsFail : true ,
98+ Message : fmt .Sprintf ("The deployment %s/%s has %d/%d replicas" , deployment .Namespace , deployment .Name , deployment .Status .ReadyReplicas , deployment .Status .Replicas ),
99+ }
93100
94- results = append (results , result )
101+ results = append (results , result )
102+ }
95103 }
96104 }
97105
0 commit comments