Skip to content

Commit 9b10ddf

Browse files
authored
Merge pull request #61 from utkarshmani1997/master
Update vsm-stats command with latest mayaserver apis
2 parents 5bf7d04 + 5de8b29 commit 9b10ddf

File tree

2 files changed

+51
-47
lines changed

2 files changed

+51
-47
lines changed

command/stats.go

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,16 @@ type Volume struct {
3636

3737
// Annotations describes volume struct
3838
type Annotations struct {
39-
VolSize string `json:"be.jiva.volume.openebs.io\/vol-size"`
40-
// VolAddr string `json:"fe.jiva.volume.openebs.io/ip"`
41-
Iqn string `json:"iqn"`
42-
Targetportal string `json:"targetportal"`
43-
// Replicas []string `json:"JIVA_REP_IP_*"`
44-
ReplicaCount string `json:"be.jiva.volume.openebs.io\/count"`
39+
TargetPortal string `json:"vsm.openebs.io/targetportals"`
40+
ClusterIP string `json:"vsm.openebs.io/cluster-ips"`
41+
Iqn string `json:"vsm.openebs.io/iqn"`
42+
ReplicaCount string `json:"vsm.openebs.io/replica-count"`
43+
ControllerStatus string `json:"vsm.openebs.io/controller-status"`
44+
ReplicaStatus string `json:"vsm.openebs.io/replica-status"`
45+
VolSize string `json:"vsm.openebs.io/volume-size"`
46+
ControllerIP string `json:"vsm.openebs.io/controller-ips"`
47+
VolAddr string `json:"vsm.openebs.io/replica-ips"`
48+
Replicas string `json:"vsm.openebs.io/replica-ips"`
4549
}
4650

4751
const (
@@ -96,21 +100,22 @@ func GetVolAnnotations(volName string) (*Annotations, error) {
96100
}
97101
for key, value := range volume.Metadata.Annotations.(map[string]interface{}) {
98102
switch key {
99-
case "be.jiva.volume.openebs.io/vol-size":
103+
case "vsm.openebs.io/volume-size":
100104
annotations.VolSize = value.(string)
101105
// case "fe.jiva.volume.openebs.io/ip":
102106
// annotations.VolAddr = value.(string)
103-
case "iqn":
107+
case "vsm.openebs.io/iqn":
104108
annotations.Iqn = value.(string)
105-
case "be.jiva.volume.openebs.io/count":
109+
case "vsm.openebs.io/replica-count":
106110
annotations.ReplicaCount = value.(string)
107-
case "targetportal":
108-
annotations.Targetportal = value.(string)
109-
// case "JIVA_REP_IP_0":
110-
// annotations.Replicas = append(annotations.Replicas, value.(string))
111-
// case "JIVA_REP_IP_1":
112-
// annotations.Replicas = append(annotations.Replicas, value.(string))
113-
111+
case "vsm.openebs.io/cluster-ips":
112+
annotations.ClusterIP = value.(string)
113+
case "vsm.openebs.io/replica-ips":
114+
annotations.Replicas = value.(string)
115+
case "vsm.openebs.io/targetportals":
116+
annotations.TargetPortal = value.(string)
117+
case "vsm.openebs.io/controller-status":
118+
annotations.ControllerStatus = value.(string)
114119
}
115120
}
116121
return &annotations, nil

command/vsm_stats.go

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ func (c *VsmStatsCommand) Run(args []string) int {
100100

101101
var (
102102
err, err1, err2 error
103-
//status Status
104-
stats1 VolumeStats
105-
stats2 VolumeStats
106-
//statusArray []string
107-
ReadLatency int64
108-
WriteLatency int64
103+
status Status
104+
stats1 VolumeStats
105+
stats2 VolumeStats
106+
statusArray []string
107+
ReadLatency int64
108+
WriteLatency int64
109109

110110
AvgReadBlockCountPS int64
111111
AvgWriteBlockCountPS int64
@@ -126,30 +126,31 @@ func (c *VsmStatsCommand) Run(args []string) int {
126126

127127
annotations, err := GetVolAnnotations(args[0])
128128
if err != nil || annotations == nil {
129-
fmt.Println(err)
130129
return -1
131130
}
132-
/*
133-
for _, replica := range annotations.Replicas {
134-
err, errCode1 := GetStatus(replica+":9502", &status)
135-
if err != nil {
136-
if errCode1 == 500 || strings.Contains(err.Error(), "EOF") {
137-
statusArray = append(statusArray, fmt.Sprintf("%-15s %-12s%-10s", replica, "Waiting", "Unknown"))
138-
139-
} else {
140-
statusArray = append(statusArray, fmt.Sprintf("%-15s %-12s%-10s", replica, "Offline", "Unknown"))
141-
}
131+
if annotations.ControllerStatus != "Running" {
132+
fmt.Println("Volume not reachable")
133+
return -1
134+
}
135+
replicas := strings.Split(annotations.Replicas, ",")
136+
for _, replica := range replicas {
137+
err, errCode1 := GetStatus(replica+":9502", &status)
138+
if err != nil {
139+
if errCode1 == 500 || strings.Contains(err.Error(), "EOF") {
140+
statusArray = append(statusArray, fmt.Sprintf("%-15s %-12s%-10s", replica, "Waiting", "Unknown"))
141+
142142
} else {
143-
statusArray = append(statusArray, fmt.Sprintf("%-15s %-10s %d", replica, "Online", status.RevisionCounter))
143+
statusArray = append(statusArray, fmt.Sprintf("%-15s %-12s%-10s", replica, "Offline", "Unknown"))
144144
}
145+
} else {
146+
statusArray = append(statusArray, fmt.Sprintf("%-15s %-10s %d", replica, "Online", status.RevisionCounter))
145147
}
146-
*/
148+
}
149+
147150
//Get VolumeStats
148-
parts := strings.Split(annotations.Targetportal, ":")
149-
volumeAddr := parts[0]
150-
err1, _ = GetVolumeStats(volumeAddr+":9501", &stats1)
151+
err1, _ = GetVolumeStats(annotations.ClusterIP+":9501", &stats1)
151152
time.Sleep(1 * time.Second)
152-
err2, _ = GetVolumeStats(volumeAddr+":9501", &stats2)
153+
err2, _ = GetVolumeStats(annotations.ClusterIP+":9501", &stats2)
153154

154155
if (err1 != nil) || (err2 != nil) {
155156
fmt.Println("Volume not reachable")
@@ -204,7 +205,7 @@ func (c *VsmStatsCommand) Run(args []string) int {
204205

205206
IQN: annotations.Iqn,
206207
Volume: args[0],
207-
Portal: annotations.Targetportal,
208+
Portal: annotations.TargetPortal,
208209
Size: annotations.VolSize,
209210

210211
ReadIOPS: ReadIOPSPS,
@@ -234,15 +235,13 @@ func (c *VsmStatsCommand) Run(args []string) int {
234235
} else {
235236
fmt.Printf("%7s: %-48s\n", "IQN", annotations.Iqn)
236237
fmt.Printf("%7s: %-16s\n", "Volume", args[0])
237-
fmt.Printf("%7s: %-15s\n", "Portal", annotations.Targetportal)
238+
fmt.Printf("%7s: %-15s\n", "Portal", annotations.TargetPortal)
238239
fmt.Printf("%7s: %-6s\n\n", "Size", annotations.VolSize)
239-
/*
240-
fmt.Printf("%s %s %s\n", "Replica", "Status", "DataUpdateIndex")
240+
fmt.Printf("%s %s %s\n", "Replica", "Status", "DataUpdateIndex")
241241

242-
for i, _ := range statusArray {
243-
fmt.Printf("%s\n", statusArray[i])
244-
}
245-
*/
242+
for i, _ := range statusArray {
243+
fmt.Printf("%s\n", statusArray[i])
244+
}
246245
fmt.Println("------------------------------------")
247246

248247
// Printing in tabular form

0 commit comments

Comments
 (0)