Skip to content

Commit 0bfc298

Browse files
authored
Merge pull request #1145 from qw1mb0/add-unexpected-admission-error-pod-reason
add UnexpectedAdmissionError to kube_pod_status_reason metric
2 parents 331cc50 + bdb2e92 commit 0bfc298

File tree

4 files changed

+27
-2
lines changed

4 files changed

+27
-2
lines changed

docs/pod-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
| kube_pod_init_container_resource_requests | Gauge | `resource`=&lt;resource-name&gt; <br> `unit`=&lt;resource-unit&gt; <br> `container`=&lt;container-name&gt; <br> `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `node`=&lt; node-name&gt; | STABLE |
3939
| kube_pod_spec_volumes_persistentvolumeclaims_info | Gauge | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `volume`=&lt;volume-name&gt; <br> `persistentvolumeclaim`=&lt;persistentvolumeclaim-claimname&gt; | STABLE |
4040
| kube_pod_spec_volumes_persistentvolumeclaims_readonly | Gauge | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `volume`=&lt;volume-name&gt; <br> `persistentvolumeclaim`=&lt;persistentvolumeclaim-claimname&gt; | STABLE |
41-
| kube_pod_status_reason | Gauge | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `reason`=&lt;NodeLost\|Evicted&gt; | EXPERIMENTAL |
41+
| kube_pod_status_reason | Gauge | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; <br> `reason`=&lt;NodeLost\|Evicted\|UnexpectedAdmissionError&gt; | EXPERIMENTAL |
4242
| kube_pod_status_scheduled_time | Gauge | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; | STABLE |
4343
| kube_pod_status_unschedulable | Gauge | `pod`=&lt;pod-name&gt; <br> `namespace`=&lt;pod-namespace&gt; | STABLE |
4444

internal/store/pod.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ var (
3535
descPodLabelsDefaultLabels = []string{"namespace", "pod"}
3636
containerWaitingReasons = []string{"ContainerCreating", "CrashLoopBackOff", "CreateContainerConfigError", "ErrImagePull", "ImagePullBackOff", "CreateContainerError", "InvalidImageName"}
3737
containerTerminatedReasons = []string{"OOMKilled", "Completed", "Error", "ContainerCannotRun", "DeadlineExceeded", "Evicted"}
38-
podStatusReasons = []string{"NodeLost", "Evicted"}
38+
podStatusReasons = []string{"NodeLost", "Evicted", "UnexpectedAdmissionError"}
3939

4040
podMetricFamilies = []generator.FamilyGenerator{
4141
{

internal/store/pod_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,6 +1092,7 @@ kube_pod_container_status_last_terminated_reason{container="container7",namespac
10921092
kube_pod_status_phase{namespace="ns4",phase="Unknown",pod="pod4"} 0
10931093
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="Evicted"} 0
10941094
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="NodeLost"} 1
1095+
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="UnexpectedAdmissionError"} 0
10951096
`,
10961097
MetricNames: []string{"kube_pod_status_phase", "kube_pod_status_reason"},
10971098
},
@@ -1112,6 +1113,28 @@ kube_pod_container_status_last_terminated_reason{container="container7",namespac
11121113
# TYPE kube_pod_status_reason gauge
11131114
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="Evicted"} 1
11141115
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="NodeLost"} 0
1116+
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="UnexpectedAdmissionError"} 0
1117+
`,
1118+
MetricNames: []string{"kube_pod_status_reason"},
1119+
},
1120+
{
1121+
Obj: &v1.Pod{
1122+
ObjectMeta: metav1.ObjectMeta{
1123+
Name: "pod4",
1124+
Namespace: "ns4",
1125+
DeletionTimestamp: &metav1.Time{},
1126+
},
1127+
Status: v1.PodStatus{
1128+
Phase: v1.PodRunning,
1129+
Reason: "UnexpectedAdmissionError",
1130+
},
1131+
},
1132+
Want: `
1133+
# HELP kube_pod_status_reason The pod status reasons
1134+
# TYPE kube_pod_status_reason gauge
1135+
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="Evicted"} 0
1136+
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="NodeLost"} 0
1137+
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="UnexpectedAdmissionError"} 1
11151138
`,
11161139
MetricNames: []string{"kube_pod_status_reason"},
11171140
},
@@ -1132,6 +1155,7 @@ kube_pod_container_status_last_terminated_reason{container="container7",namespac
11321155
# TYPE kube_pod_status_reason gauge
11331156
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="Evicted"} 0
11341157
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="NodeLost"} 0
1158+
kube_pod_status_reason{namespace="ns4",pod="pod4",reason="UnexpectedAdmissionError"} 0
11351159
`,
11361160
MetricNames: []string{"kube_pod_status_reason"},
11371161
},

main_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ kube_pod_status_phase{namespace="default",pod="pod0",phase="Unknown"} 0
193193
# TYPE kube_pod_status_reason gauge
194194
kube_pod_status_reason{namespace="default",pod="pod0",reason="Evicted"} 0
195195
kube_pod_status_reason{namespace="default",pod="pod0",reason="NodeLost"} 0
196+
kube_pod_status_reason{namespace="default",pod="pod0",reason="UnexpectedAdmissionError"} 0
196197
# HELP kube_pod_status_scheduled Describes the status of the scheduling process for the pod.
197198
# TYPE kube_pod_status_scheduled gauge
198199
# HELP kube_pod_container_info Information about a container in a pod.

0 commit comments

Comments
 (0)