Add adjacencies for kubernetes storage components

- Kubernetes storage components such as PV and PVC are connected based on two
parameters Persistent volume claim name and Persistent Volume name.
- PVC contains the volume name which is, PV name itself. Hence, we can
show edge for PVC and PV.
- This will bring higher level visibility for kubernetes storage components.

Signed-off-by: Satyam Zode <satyam.zode@openebs.io>
This commit is contained in:
Satyam Zode
2018-04-05 16:55:59 +05:30
parent 23210a6a77
commit 2f69973de6
13 changed files with 310 additions and 18 deletions

View File

@@ -93,14 +93,18 @@ var (
ClientContainerImageName = "image/client"
ServerContainerImageName = "image/server"
KubernetesNamespace = "ping"
ClientPodUID = "5d4c3b2a1"
ServerPodUID = "i9h8g7f6e"
ClientPodNodeID = report.MakePodNodeID(ClientPodUID)
ServerPodNodeID = report.MakePodNodeID(ServerPodUID)
ServiceName = "pongservice"
ServiceUID = "service1234"
ServiceNodeID = report.MakeServiceNodeID(ServiceUID)
KubernetesNamespace = "ping"
ClientPodUID = "5d4c3b2a1"
ServerPodUID = "i9h8g7f6e"
ClientPodNodeID = report.MakePodNodeID(ClientPodUID)
ServerPodNodeID = report.MakePodNodeID(ServerPodUID)
ServiceName = "pongservice"
ServiceUID = "service1234"
ServiceNodeID = report.MakeServiceNodeID(ServiceUID)
PersistentVolumeUID = "pv1234"
PersistentVolumeNodeID = report.MakePersistentVolumeNodeID(PersistentVolumeUID)
PersistentVolumeClaimUID = "pvc1234"
PersistentVolumeClaimNodeID = report.MakePersistentVolumeClaimNodeID(PersistentVolumeClaimUID)
ClientProcess1CPUMetric = report.MakeSingletonMetric(Now.Add(-1*time.Second), 0.01)
ClientProcess1MemoryMetric = report.MakeSingletonMetric(Now.Add(-2*time.Second), 0.02)
@@ -348,6 +352,36 @@ var (
WithTopology(report.Service),
},
}.WithShape(report.Heptagon).WithLabel("service", "services"),
PersistentVolumeClaim: report.Topology{
Nodes: report.Nodes{
PersistentVolumeClaimNodeID: report.MakeNodeWith(
PersistentVolumeClaimNodeID, map[string]string{
kubernetes.Name: "pvc-6124",
kubernetes.Namespace: "ping",
kubernetes.Status: "bound",
kubernetes.VolumeName: "pongvolume",
kubernetes.AccessModes: "ReadWriteOnce",
kubernetes.StorageClassName: "standard",
}).
WithTopology(report.PersistentVolumeClaim),
},
}.WithShape(report.Cylinder).WithLabel("persistent volume claim", "persistent volume claims"),
PersistentVolume: report.Topology{
Nodes: report.Nodes{
PersistentVolumeNodeID: report.MakeNodeWith(
PersistentVolumeNodeID, map[string]string{
kubernetes.Name: "pongvolume",
kubernetes.Namespace: "ping",
kubernetes.Status: "bound",
kubernetes.VolumeClaim: "pvc-6124",
kubernetes.AccessModes: "ReadWriteOnce",
kubernetes.StorageClassName: "standard",
}).
WithTopology(report.PersistentVolume),
},
}.WithShape(report.Cylinder).WithLabel("persistent volume", "persistent volumes"),
Sampling: report.Sampling{
Count: 1024,
Total: 4096,