Merge pull request #1146 from povilasv/add-volume-id
add aws/gce volume id to kube_persistentvolume_info
This commit is contained in:
commit
cce1e3309a
|
|
@ -1,3 +1,7 @@
|
|||
## MASTER
|
||||
|
||||
* [FEATURE] Add ebs_volume_id and gce_persistent_disk_name to kube_persistentvolume_info metric. #1146
|
||||
|
||||
## v1.9.5 / 2020-02-20
|
||||
|
||||
* [BUGFIX] Switch to using only v1 client of validatingwebhookconfiguration #1052
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@
|
|||
| kube_persistentvolume_capacity_bytes | Gauge | `persistentvolume`=<pv-name> | STABLE |
|
||||
| kube_persistentvolume_status_phase | Gauge | `persistentvolume`=<pv-name> <br>`phase`=<Bound\|Failed\|Pending\|Available\|Released>| STABLE |
|
||||
| kube_persistentvolume_labels | Gauge | `persistentvolume`=<persistentvolume-name> <br> `label_PERSISTENTVOLUME_LABEL`=<PERSISTENTVOLUME_LABEL> | STABLE |
|
||||
| kube_persistentvolume_info | Gauge | `persistentvolume`=<pv-name> <br> `storageclass`=<storageclass-name> | STABLE |
|
||||
| kube_persistentvolume_info | Gauge | `persistentvolume`=<pv-name> <br> `storageclass`=<storageclass-name> <br> `gce_persistent_disk_name`=<pd-name> <br> `ebs_volume_id`=<ebs-volume-id> | STABLE |
|
||||
|
||||
|
|
|
|||
|
|
@ -102,12 +102,28 @@ var (
|
|||
Type: metric.Gauge,
|
||||
Help: "Information about persistentvolume.",
|
||||
GenerateFunc: wrapPersistentVolumeFunc(func(p *v1.PersistentVolume) *metric.Family {
|
||||
var gcePDDiskName, ebsVolumeID string
|
||||
switch {
|
||||
case p.Spec.PersistentVolumeSource.GCEPersistentDisk != nil:
|
||||
gcePDDiskName = p.Spec.PersistentVolumeSource.GCEPersistentDisk.PDName
|
||||
case p.Spec.PersistentVolumeSource.AWSElasticBlockStore != nil:
|
||||
ebsVolumeID = p.Spec.PersistentVolumeSource.AWSElasticBlockStore.VolumeID
|
||||
}
|
||||
|
||||
return &metric.Family{
|
||||
Metrics: []*metric.Metric{
|
||||
{
|
||||
LabelKeys: []string{"storageclass"},
|
||||
LabelValues: []string{p.Spec.StorageClassName},
|
||||
Value: 1,
|
||||
LabelKeys: []string{
|
||||
"storageclass",
|
||||
"gce_persistent_disk_name",
|
||||
"ebs_volume_id",
|
||||
},
|
||||
LabelValues: []string{
|
||||
p.Spec.StorageClassName,
|
||||
gcePDDiskName,
|
||||
ebsVolumeID,
|
||||
},
|
||||
Value: 1,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -169,7 +169,53 @@ func TestPersistentVolumeStore(t *testing.T) {
|
|||
Want: `
|
||||
# HELP kube_persistentvolume_info Information about persistentvolume.
|
||||
# TYPE kube_persistentvolume_info gauge
|
||||
kube_persistentvolume_info{persistentvolume="test-pv-available",storageclass=""} 1
|
||||
kube_persistentvolume_info{ebs_volume_id="",gce_persistent_disk_name="",persistentvolume="test-pv-available",storageclass=""} 1
|
||||
`,
|
||||
MetricNames: []string{"kube_persistentvolume_info"},
|
||||
},
|
||||
{
|
||||
Obj: &v1.PersistentVolume{
|
||||
Spec: v1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: v1.PersistentVolumeSource{
|
||||
GCEPersistentDisk: &v1.GCEPersistentDiskVolumeSource{
|
||||
PDName: "name",
|
||||
},
|
||||
},
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "test-pv-available",
|
||||
},
|
||||
Status: v1.PersistentVolumeStatus{
|
||||
Phase: v1.VolumeAvailable,
|
||||
},
|
||||
},
|
||||
Want: `
|
||||
# HELP kube_persistentvolume_info Information about persistentvolume.
|
||||
# TYPE kube_persistentvolume_info gauge
|
||||
kube_persistentvolume_info{ebs_volume_id="",gce_persistent_disk_name="name",persistentvolume="test-pv-available",storageclass=""} 1
|
||||
`,
|
||||
MetricNames: []string{"kube_persistentvolume_info"},
|
||||
},
|
||||
{
|
||||
Obj: &v1.PersistentVolume{
|
||||
Spec: v1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: v1.PersistentVolumeSource{
|
||||
AWSElasticBlockStore: &v1.AWSElasticBlockStoreVolumeSource{
|
||||
VolumeID: "aws://eu-west-1c/vol-012d34d567890123b",
|
||||
},
|
||||
},
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "test-pv-available",
|
||||
},
|
||||
Status: v1.PersistentVolumeStatus{
|
||||
Phase: v1.VolumeAvailable,
|
||||
},
|
||||
},
|
||||
Want: `
|
||||
# HELP kube_persistentvolume_info Information about persistentvolume.
|
||||
# TYPE kube_persistentvolume_info gauge
|
||||
kube_persistentvolume_info{ebs_volume_id="aws://eu-west-1c/vol-012d34d567890123b",gce_persistent_disk_name="",persistentvolume="test-pv-available",storageclass=""} 1
|
||||
`,
|
||||
MetricNames: []string{"kube_persistentvolume_info"},
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue