diff --git a/build.gradle b/build.gradle index 35b1df1..7d7a876 100644 --- a/build.gradle +++ b/build.gradle @@ -33,6 +33,7 @@ dependencies { implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-toml:2.14.1' testImplementation 'junit:junit:4.13.2' + testImplementation 'org.slf4j:slf4j-simple:2.0.4' testImplementation 'org.spockframework:spock-core:2.3-groovy-3.0' testImplementation "org.mock-server:mockserver-netty-no-dependencies:5.14.0" } diff --git a/doc/dashboards/SVCi - IBM Spectrum Virtualize.json b/doc/dashboards/SVCi - IBM Spectrum Virtualize.json index f820a65..7f0cdf7 100644 --- a/doc/dashboards/SVCi - IBM Spectrum Virtualize.json +++ b/doc/dashboards/SVCi - IBM Spectrum Virtualize.json @@ -11,6 +11,18 @@ ], "__elements": {}, "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "panel", + "id": "gauge", + "name": "Gauge", + "version": "" + }, { "type": "grafana", "id": "grafana", @@ -23,6 +35,12 @@ "name": "InfluxDB", "version": "1.0.0" }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, { "type": "panel", "id": "text", @@ -95,6 +113,177 @@ "transparent": true, "type": "text" }, + { + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "filterable": false, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "string" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "name" + }, + "properties": [ + { + "id": "displayName", + "value": "Name" + } + ] + } + ] + }, + "gridPos": { + "h": 3, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 17, + "options": { + "footer": { + "enablePagination": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "9.1.6", + "targets": [ + { + "alias": "$col", + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "groupBy": [ + { + "params": [ + "8h" + ], + "type": "time" + }, + { + "params": [ + "name" + ], + "type": "tag" + }, + { + "params": [ + "previous" + ], + "type": "fill" + } + ], + "limit": "0", + "measurement": "system", + "orderByTime": "DESC", + "policy": "default", + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "location" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "Location" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "product_name" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "Product" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "code_level" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "Code Level" + ], + "type": "alias" + } + ] + ], + "tags": [] + } + ], + "title": "System Details", + "transparent": true, + "type": "table" + }, { "datasource": { "type": "influxdb", @@ -158,7 +347,7 @@ "h": 8, "w": 12, "x": 0, - "y": 3 + "y": 6 }, "id": 13, "options": { @@ -223,6 +412,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "FC" @@ -241,6 +436,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "iSCSI" @@ -330,7 +531,7 @@ "h": 8, "w": 12, "x": 12, - "y": 3 + "y": 6 }, "id": 5, "options": { @@ -395,6 +596,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "FC" @@ -502,7 +709,7 @@ "h": 8, "w": 12, "x": 0, - "y": 11 + "y": 14 }, "id": 14, "options": { @@ -567,6 +774,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "SAS" @@ -656,7 +869,7 @@ "h": 8, "w": 12, "x": 12, - "y": 11 + "y": 14 }, "id": 12, "options": { @@ -721,6 +934,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "SAS" @@ -808,9 +1027,9 @@ }, "gridPos": { "h": 8, - "w": 12, + "w": 6, "x": 0, - "y": 19 + "y": 22 }, "id": 2, "options": { @@ -818,7 +1037,7 @@ "calcs": [], "displayMode": "list", "placement": "bottom", - "showLegend": true + "showLegend": false }, "tooltip": { "mode": "multi", @@ -875,6 +1094,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "System" @@ -893,6 +1118,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "Compression" @@ -937,7 +1168,190 @@ "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, - "gradientMode": "opacity", + "gradientMode": "hue", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": 3600000, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 6, + "y": 22 + }, + "id": 11, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "alias": "$tag_system - $tag_name : $col", + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "system" + ], + "type": "tag" + }, + { + "params": [ + "name" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "node_stats", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_cache_pc" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, + { + "params": [ + "Total" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "write_cache_pc" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, + { + "params": [ + "Write" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "system", + "operator": "=~", + "value": "/^$system$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$node$/" + } + ] + } + ], + "title": "Cache Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-BlYlRd", + "seriesBy": "last" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 12, + "gradientMode": "hue", "hideFrom": { "legend": false, "tooltip": false, @@ -977,7 +1391,7 @@ "h": 8, "w": 6, "x": 12, - "y": 19 + "y": 22 }, "id": 9, "options": { @@ -1070,37 +1484,7 @@ "fieldConfig": { "defaults": { "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": 3600000, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "mode": "continuous-GrYlRd" }, "mappings": [], "thresholds": { @@ -1109,6 +1493,10 @@ { "color": "green", "value": null + }, + { + "color": "red", + "value": 80 } ] }, @@ -1120,21 +1508,24 @@ "h": 8, "w": 6, "x": 18, - "y": 19 + "y": 22 }, "id": 10, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "displayMode": "lcd", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "mode": "multi", - "sort": "none" - } + "showUnfilled": true }, + "pluginVersion": "9.1.6", "targets": [ { "alias": "$tag_system - $tag_id", @@ -1203,355 +1594,7 @@ } ], "title": "Enclosure Temperature", - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "${DS_SVCI}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": 3600000, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 - }, - "id": 11, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "alias": "$tag_system - $tag_name : $col", - "datasource": { - "type": "influxdb", - "uid": "${DS_SVCI}" - }, - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "system" - ], - "type": "tag" - }, - { - "params": [ - "name" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "node_stats", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "total_cache_pc" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - }, - { - "params": [ - "Total" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "write_cache_pc" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - }, - { - "params": [ - "Write" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "system", - "operator": "=~", - "value": "/^$system$/" - }, - { - "condition": "AND", - "key": "name", - "operator": "=~", - "value": "/^$node$/" - } - ] - } - ], - "title": "Cache Usage", - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "${DS_SVCI}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": 3600000, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "decmbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "id": 6, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "alias": "$tag_system - $tag_name : $col", - "datasource": { - "type": "influxdb", - "uid": "${DS_SVCI}" - }, - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "system" - ], - "type": "tag" - }, - { - "params": [ - "name" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "node_stats", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "drive_r_mb" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - }, - { - "params": [ - "Read" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "drive_w_mb" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - }, - { - "params": [ - "*-1" - ], - "type": "math" - }, - { - "params": [ - "Write" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "system", - "operator": "=~", - "value": "/^$system$/" - }, - { - "condition": "AND", - "key": "name", - "operator": "=~", - "value": "/^$node$/" - } - ] - } - ], - "title": "Drive Throughout", - "type": "timeseries" + "type": "bargauge" }, { "datasource": { @@ -1615,7 +1658,7 @@ "h": 8, "w": 12, "x": 0, - "y": 35 + "y": 30 }, "id": 4, "options": { @@ -1680,6 +1723,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "Read" @@ -1698,6 +1747,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "*-1" @@ -1727,9 +1782,312 @@ ] } ], - "title": "Drive Operations", + "title": "Drives Operations", "type": "timeseries" }, + { + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": 3600000, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decmbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 30 + }, + "id": 6, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "alias": "$tag_system - $tag_name : $col", + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "system" + ], + "type": "tag" + }, + { + "params": [ + "name" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "node_stats", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "drive_r_mb" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, + { + "params": [ + "Read" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "drive_w_mb" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, + { + "params": [ + "*-1" + ], + "type": "math" + }, + { + "params": [ + "Write" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "system", + "operator": "=~", + "value": "/^$system$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$node$/" + } + ] + } + ], + "title": "Drives Throughout", + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 38 + }, + "id": 19, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "9.1.6", + "repeat": "system", + "repeatDirection": "h", + "targets": [ + { + "alias": "$tag_system - $tag_name", + "datasource": { + "type": "influxdb", + "uid": "${DS_SVCI}" + }, + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "system" + ], + "type": "tag" + }, + { + "params": [ + "name" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "m_disk_groups", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "vdisk_count" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "V Disks" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "system", + "operator": "=~", + "value": "/^$system$/" + } + ] + } + ], + "title": "Volumes / Pool", + "type": "gauge" + }, { "datasource": { "type": "influxdb", @@ -1792,7 +2150,7 @@ "h": 8, "w": 12, "x": 12, - "y": 35 + "y": 38 }, "id": 7, "options": { @@ -1857,6 +2215,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "Read" @@ -1875,6 +2239,12 @@ "params": [], "type": "mean" }, + { + "params": [ + 10 + ], + "type": "moving_average" + }, { "params": [ "*-1" @@ -1904,11 +2274,11 @@ ] } ], - "title": "Drive Latency (ms)", + "title": "Drives Latency (ms)", "type": "timeseries" } ], - "refresh": "10s", + "refresh": "30s", "schemaVersion": 37, "style": "dark", "tags": [], @@ -1940,7 +2310,7 @@ "type": "influxdb", "uid": "${DS_SVCI}" }, - "definition": "SHOW TAG VALUES FROM \"node_stats\" WITH KEY = \"name\" WHERE \"system\" = $system AND time > now() - 24h", + "definition": "SHOW TAG VALUES FROM \"node_stats\" WITH KEY = \"name\" WHERE \"system\" =~ /$system/ AND time > now() - 24h", "description": "", "hide": 0, "includeAll": true, @@ -1948,7 +2318,7 @@ "multi": true, "name": "node", "options": [], - "query": "SHOW TAG VALUES FROM \"node_stats\" WITH KEY = \"name\" WHERE \"system\" = $system AND time > now() - 24h", + "query": "SHOW TAG VALUES FROM \"node_stats\" WITH KEY = \"name\" WHERE \"system\" =~ /$system/ AND time > now() - 24h", "refresh": 1, "regex": "", "skipUrlSync": false, @@ -1958,15 +2328,25 @@ ] }, "time": { - "from": "now-3h", - "to": "now-10s" + "from": "now-30m", + "to": "now-30s" }, "timepicker": { - "nowDelay": "10s" + "nowDelay": "30s", + "refresh_intervals": [ + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] }, "timezone": "", "title": "SVCi - IBM Spectrum Virtualize", "uid": "7R8LbzKV3", - "version": 3, + "version": 12, "weekStart": "" } \ No newline at end of file diff --git a/doc/svci.toml b/doc/svci.toml index f65d859..6fd95a9 100644 --- a/doc/svci.toml +++ b/doc/svci.toml @@ -12,7 +12,6 @@ database = "svci" url = "https://10.10.10.12:7443" username = "superuser" password = "password" -refresh = 10 -discover = 120 +refresh = 30 trust = true # Ignore SSL cert. errors diff --git a/gradle.properties b/gradle.properties index e09a9e7..1976259 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ projectId = svci projectGroup = biz.nellemann.svci -projectVersion = 0.0.1 +projectVersion = 0.0.2 diff --git a/src/main/java/biz/nellemann/svci/CapacityToDoubleConverter.java b/src/main/java/biz/nellemann/svci/CapacityToDoubleConverter.java new file mode 100644 index 0000000..a604078 --- /dev/null +++ b/src/main/java/biz/nellemann/svci/CapacityToDoubleConverter.java @@ -0,0 +1,49 @@ +package biz.nellemann.svci; + +import com.fasterxml.jackson.databind.util.StdConverter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Jackson Converter + * Converts a "storage capacity" presented as a String with a unit (eg. MB) to a Double value in TB. + */ +public class CapacityToDoubleConverter extends StdConverter { + + private final static Logger log = LoggerFactory.getLogger(CapacityToDoubleConverter.class); + + final private Pattern p = Pattern.compile("(^\\d*\\.?\\d*)\\s?(\\D{2})$"); + + + @Override + public Double convert(String value) { + Matcher m = p.matcher(value); + if(!m.matches()) { + return null; + } + + double input = Double.parseDouble(m.group(1)); + String unit = m.group(2); + log.debug("Input: {} {}", input, unit); + + double output = input; + if(unit.equals("PB")) { + output = input * 1000; + } else if(unit.equals("TB")) { + output = input; + } else if(unit.equals("GB")) { + output = input / 1000; + } else if(unit.equals("MB")) { + output = input / 1_000_000; + } else { + log.warn("convert() - Unit {} not supported.", unit); + } + + log.debug("Output: {} TB", output); + return output; + } + +} diff --git a/src/main/java/biz/nellemann/svci/VolumeController.java b/src/main/java/biz/nellemann/svci/VolumeController.java index 454c63b..37b8d1f 100644 --- a/src/main/java/biz/nellemann/svci/VolumeController.java +++ b/src/main/java/biz/nellemann/svci/VolumeController.java @@ -15,8 +15,7 @@ */ package biz.nellemann.svci; -import biz.nellemann.svci.dto.json.EnclosureStat; -import biz.nellemann.svci.dto.json.NodeStat; +import biz.nellemann.svci.dto.json.*; import biz.nellemann.svci.dto.json.System; import biz.nellemann.svci.dto.toml.SvcConfiguration; import com.fasterxml.jackson.databind.ObjectMapper; @@ -38,25 +37,17 @@ class VolumeController implements Runnable { private final static Logger log = LoggerFactory.getLogger(VolumeController.class); - private final ObjectMapper objectMapper = new ObjectMapper(); - private final Integer refreshValue; - private final Integer discoverValue; - //private final List managedSystems = new ArrayList<>(); - - private final RestClient restClient; private final InfluxClient influxClient; + private final ObjectMapper objectMapper = new ObjectMapper(); private final AtomicBoolean keepRunning = new AtomicBoolean(true); - protected Integer responseErrors = 0; - protected System system; VolumeController(SvcConfiguration configuration, InfluxClient influxClient) { this.refreshValue = configuration.refresh; - this.discoverValue = configuration.discover; this.influxClient = influxClient; restClient = new RestClient(configuration.url, configuration.username, configuration.password, configuration.trust); @@ -67,9 +58,7 @@ class VolumeController implements Runnable { public void run() { log.trace("run()"); - restClient.login(); - discover(); do { Instant instantStart = Instant.now(); @@ -96,7 +85,7 @@ class VolumeController implements Runnable { log.error("run() - sleep interrupted", e); } } else { - log.warn("run() - possible slow response from this HMC"); + log.warn("run() - possible slow response from this SVC"); } } while (keepRunning.get()); @@ -104,16 +93,12 @@ class VolumeController implements Runnable { } - void discover() { - log.debug("discover()"); - influxClient.write(getSystem(), Instant.now(),"system"); - } - - void refresh() { log.debug("refresh()"); + influxClient.write(getSystem(), Instant.now(),"system"); influxClient.write(getNodeStats(), Instant.now(),"node_stats"); influxClient.write(getEnclosureStats(), Instant.now(),"enclosure_stats"); + influxClient.write(getMDiskGroups(), Instant.now(),"m_disk_groups"); } @@ -139,8 +124,13 @@ class VolumeController implements Runnable { fieldsMap.put("location", system.location); fieldsMap.put("code_level", system.codeLevel); fieldsMap.put("product_name", system.productName); + fieldsMap.put("total_free_tb", system.totalFreeTB); + fieldsMap.put("total_used_tb", system.totalUsedTB); + fieldsMap.put("mdisk_total_tb", system.mDiskTotalTB); + fieldsMap.put("vdisk_total_tb", system.vDiskTotalTB); + fieldsMap.put("vdisk_allocated_tb", system.vDiskAllocatedTB); - log.trace("getNodeStats() - fields: " + fieldsMap); + log.trace("getSystem() - fields: " + fieldsMap); measurementList.add(new Measurement(tagsMap, fieldsMap)); } catch (IOException e) { @@ -158,13 +148,13 @@ class VolumeController implements Runnable { String response = restClient.postRequest("/rest/v1/lsnodestats"); // Do not try to parse empty response - if(response == null || response.length() <= 1) { + if(system == null || response == null || response.length() <= 1) { log.warn("getNodeStats() - no data."); return measurementList; } - List pojo = Arrays.asList(objectMapper.readValue(response, NodeStat[].class)); - pojo.forEach((stat) -> { + List list = Arrays.asList(objectMapper.readValue(response, NodeStat[].class)); + list.forEach( (stat) -> { HashMap tagsMap = new HashMap<>(); HashMap fieldsMap = new HashMap<>(); @@ -188,6 +178,7 @@ class VolumeController implements Runnable { return measurementList; } + List getEnclosureStats() { List measurementList = new ArrayList<>(); @@ -195,13 +186,13 @@ class VolumeController implements Runnable { String response = restClient.postRequest("/rest/v1/lsenclosurestats"); // Do not try to parse empty response - if(response == null || response.length() <= 1) { + if(system == null || response == null || response.length() <= 1) { log.warn("getEnclosureStats() - no data."); return measurementList; } - List pojo = Arrays.asList(objectMapper.readValue(response, EnclosureStat[].class)); - pojo.forEach((stat) -> { + List list = Arrays.asList(objectMapper.readValue(response, EnclosureStat[].class)); + list.forEach( (stat) -> { HashMap tagsMap = new HashMap<>(); HashMap fieldsMap = new HashMap<>(); @@ -223,4 +214,86 @@ class VolumeController implements Runnable { return measurementList; } + + + List getVDisk() { + List measurementList = new ArrayList<>(); + + try { + String response = restClient.postRequest("/rest/v1/lsvdisk"); + + // Do not try to parse empty response + if(system == null || response == null || response.length() <= 1) { + log.warn("getVDisk() - no data."); + return measurementList; + } + + List list = Arrays.asList(objectMapper.readValue(response, VDisk[].class)); + list.forEach( (stat) -> { + + HashMap tagsMap = new HashMap<>(); + HashMap fieldsMap = new HashMap<>(); + + tagsMap.put("id", stat.id); + tagsMap.put("name", stat.name); + tagsMap.put("type", stat.type); + tagsMap.put("system", system.name); + + fieldsMap.put("capacity_tb", stat.capacity); + log.trace("getVDisk() - fields: " + fieldsMap); + + measurementList.add(new Measurement(tagsMap, fieldsMap)); + + //log.info("{}: {} -> {}", stat.nodeName, stat.statName, stat.statCurrent); + }); + + } catch (IOException e) { + log.error("getVDisk() - error 2: {}", e.getMessage()); + } + + return measurementList; + } + + List getMDiskGroups() { + List measurementList = new ArrayList<>(); + + try { + String response = restClient.postRequest("/rest/v1/lsmdiskgrp"); + + // Do not try to parse empty response + if(system == null || response == null || response.length() <= 1) { + log.warn("getMDiskGroups() - no data."); + return measurementList; + } + + List list = Arrays.asList(objectMapper.readValue(response, MDiskGroup[].class)); + list.forEach( (stat) -> { + + HashMap tagsMap = new HashMap<>(); + HashMap fieldsMap = new HashMap<>(); + + tagsMap.put("id", stat.id); + tagsMap.put("name", stat.name); + tagsMap.put("system", system.name); + + fieldsMap.put("mdisk_count", stat.mDiskCount); + fieldsMap.put("vdisk_count", stat.vDiskCount); + fieldsMap.put("capacity_free_tb", stat.capacityFree); + fieldsMap.put("capacity_real_tb", stat.capacityReal); + fieldsMap.put("capacity_used_tb", stat.capacityUsed); + fieldsMap.put("capacity_total_tb", stat.capacityTotal); + fieldsMap.put("capacity_virtual_tb", stat.capacityVirtual); + log.trace("getMDiskGroups() - fields: " + fieldsMap); + + measurementList.add(new Measurement(tagsMap, fieldsMap)); + + //log.info("{}: {} -> {}", stat.nodeName, stat.statName, stat.statCurrent); + }); + + } catch (IOException e) { + log.error("getMDiskGroups() - error 2: {}", e.getMessage()); + } + + return measurementList; + } } diff --git a/src/main/java/biz/nellemann/svci/dto/json/MDiskGroup.java b/src/main/java/biz/nellemann/svci/dto/json/MDiskGroup.java new file mode 100644 index 0000000..675d894 --- /dev/null +++ b/src/main/java/biz/nellemann/svci/dto/json/MDiskGroup.java @@ -0,0 +1,80 @@ +package biz.nellemann.svci.dto.json; + +import biz.nellemann.svci.CapacityToDoubleConverter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class MDiskGroup { + + public String id; + + public String name; + + public String status; + + @JsonProperty("mdisk_count") + public Number mDiskCount; + + @JsonProperty("vdisk_count") + public Number vDiskCount; + + @JsonProperty("capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Number capacityTotal; + + @JsonProperty("free_capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Number capacityFree; + + @JsonProperty("virtual_capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Number capacityVirtual; + + @JsonProperty("used_capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Number capacityUsed; + + @JsonProperty("real_capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Number capacityReal; + + @JsonProperty("parent_mdisk_grp_id") + public Number parentMDiskGroupId; + + @JsonProperty("parent_mdisk_grp_name") + public String parentMDiskGroupName; + + /* + { + "extent_size": "1024", + "overallocation": "41", + "warning": "80", + "easy_tier": "auto", + "easy_tier_status": "balanced", + "compression_active": "no", + "compression_virtual_capacity": "0.00MB", + "compression_compressed_capacity": "0.00MB", + "compression_uncompressed_capacity": "0.00MB", + "child_mdisk_grp_count": "0", + "child_mdisk_grp_capacity": "0.00MB", + "type": "parent", + "encrypt": "no", + "owner_type": "none", + "owner_id": "", + "owner_name": "", + "site_id": "", + "site_name": "", + "data_reduction": "no", + "used_capacity_before_reduction": "0.00MB", + "used_capacity_after_reduction": "0.00MB", + "overhead_capacity": "0.00MB", + "deduplication_capacity_saving": "0.00MB", + "reclaimable_capacity": "0.00MB", + "easy_tier_fcm_over_allocation_max": "", + "provisioning_policy_id": "", + "provisioning_policy_name": "" + }, + */ +} diff --git a/src/main/java/biz/nellemann/svci/dto/json/System.java b/src/main/java/biz/nellemann/svci/dto/json/System.java index 3ae626c..b9b5243 100644 --- a/src/main/java/biz/nellemann/svci/dto/json/System.java +++ b/src/main/java/biz/nellemann/svci/dto/json/System.java @@ -1,7 +1,9 @@ package biz.nellemann.svci.dto.json; +import biz.nellemann.svci.CapacityToDoubleConverter; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @JsonIgnoreProperties(ignoreUnknown = true) public class System { @@ -10,6 +12,9 @@ public class System { public String location; + @JsonProperty("time_zone") + public String timeZone; + @JsonProperty("statistics_status") public String statisticsStatus; @@ -22,21 +27,32 @@ public class System { @JsonProperty("product_name") public String productName; + @JsonProperty("total_mdisk_capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Double mDiskTotalTB; + + @JsonProperty("space_allocated_to_vdisks") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Double vDiskAllocatedTB; + + @JsonProperty("total_vdisk_capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Double vDiskTotalTB; + + @JsonProperty("total_free_space") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Double totalFreeTB; + + @JsonProperty("total_used_capacity") + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Double totalUsedTB; + /** - - "id": "000001002100613E", - "name": "V7000_A2U12", - "location": "local", "partnership": "", - "total_mdisk_capacity": "60.9TB", "space_in_mdisk_grps": "60.9TB", - "space_allocated_to_vdisks": "2.87TB", - "total_free_space": "58.0TB", "total_vdiskcopy_capacity": "20.42TB", - "total_used_capacity": "2.60TB", "total_overallocation": "33", - "total_vdisk_capacity": "20.42TB", "total_allocated_extent_capacity": "2.92TB", "statistics_status": "on", "statistics_frequency": "5", @@ -154,6 +170,6 @@ public class System { "automatic_vdisk_analysis_enabled": "on", "callhome_accepted_usage": "no", "safeguarded_copy_suspended": "no" - */ + } diff --git a/src/main/java/biz/nellemann/svci/dto/json/VDisk.java b/src/main/java/biz/nellemann/svci/dto/json/VDisk.java new file mode 100644 index 0000000..b84b4c2 --- /dev/null +++ b/src/main/java/biz/nellemann/svci/dto/json/VDisk.java @@ -0,0 +1,64 @@ +package biz.nellemann.svci.dto.json; + +import biz.nellemann.svci.CapacityToDoubleConverter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class VDisk { + + public String id; + + public String name; + + public String type; + + public String status; + + @JsonDeserialize(converter = CapacityToDoubleConverter.class) + public Number capacity; + + @JsonProperty("IO_group_id") + public Number ioGroupId; + + @JsonProperty("IO_group_name") + public String ioGroupName; + + @JsonProperty("mdisk_grp_id") + public Number mDiskGroupId; + + @JsonProperty("mdisk_grp_name") + public String mDiskGroupName; + + @JsonProperty("parent_mdisk_grp_id") + public Number parentMDiskGroupId; + + @JsonProperty("parent_mdisk_grp_name") + public String parentMDiskGroupName; + + + /* + { + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000005F", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "72", + "volume_name": "volume-Image_rhcos_4-11_volume_1-e4c39c5a-c8bf", + "function": "", + "protocol": "" + }, + */ +} diff --git a/src/main/java/biz/nellemann/svci/dto/toml/SvcConfiguration.java b/src/main/java/biz/nellemann/svci/dto/toml/SvcConfiguration.java index dcdcd7a..1bb5689 100644 --- a/src/main/java/biz/nellemann/svci/dto/toml/SvcConfiguration.java +++ b/src/main/java/biz/nellemann/svci/dto/toml/SvcConfiguration.java @@ -8,10 +8,7 @@ public class SvcConfiguration { public String url; public String username; public String password; - public Integer refresh = 30; - public Integer discover = 120; - public Boolean trust = true; } diff --git a/src/test/groovy/biz/nellemann/svci/CapacityToDoubleConverterTest.groovy b/src/test/groovy/biz/nellemann/svci/CapacityToDoubleConverterTest.groovy new file mode 100644 index 0000000..67c7e2a --- /dev/null +++ b/src/test/groovy/biz/nellemann/svci/CapacityToDoubleConverterTest.groovy @@ -0,0 +1,56 @@ +package biz.nellemann.svci + +import spock.lang.Specification + + +class CapacityToDoubleConverterTest extends Specification { + + + CapacityToDoubleConverter converter = new CapacityToDoubleConverter() + + + def "convert from TB String to TB Double"() { + when: + def result = converter.convert("123.45TB") + + then: + result == 123.45 + } + + + def "convert from PB String to TB Double"() { + when: + def result = converter.convert("1024.0PB") + + then: + result == 1024000.0 + } + + + def "convert from GB String to TB Double"() { + when: + def result = converter.convert("8192.0GB") + + then: + result == 8.192 + } + + + def "convert from GB String (with a space) to TB Double"() { + when: + def result = converter.convert("8192.0 GB") + + then: + result == 8.192 + } + + + def "convert from MB String to TB Double"() { + when: + def result = converter.convert("4096.0MB") + + then: + result == 0.004096 + } + +} diff --git a/src/test/groovy/biz/nellemann/svci/DeserializationTest.groovy b/src/test/groovy/biz/nellemann/svci/DeserializationTest.groovy index 0e0c648..4bc526e 100644 --- a/src/test/groovy/biz/nellemann/svci/DeserializationTest.groovy +++ b/src/test/groovy/biz/nellemann/svci/DeserializationTest.groovy @@ -25,7 +25,7 @@ class DeserializationTest extends Specification { void "lssystem"() { when: - Path testConfigurationFile = Paths.get(getClass().getResource('/lssystem.json').toURI()) + Path testConfigurationFile = Paths.get(getClass().getResource('/json/lssystem.json').toURI()) System system = mapper.readerFor(System.class).readValue(testConfigurationFile.toFile()) then: @@ -33,13 +33,15 @@ class DeserializationTest extends Specification { system.location == "local" system.codeLevel == "8.4.2.0 (build 154.20.2109031944000)" system.productName == "IBM Storwize V7000" + system.totalUsedTB == 2.6 + system.totalFreeTB == 58.0 } void "lsnodestat"() { when: - Path testConfigurationFile = Paths.get(getClass().getResource('/lsnodestats.json').toURI()) + Path testConfigurationFile = Paths.get(getClass().getResource('/json/lsnodestats.json').toURI()) List nodeStats = Arrays.asList(mapper.readerFor(NodeStat[].class).readValue(testConfigurationFile.toFile())) then: @@ -53,7 +55,7 @@ class DeserializationTest extends Specification { void "lsenclosurestats"() { when: - Path testConfigurationFile = Paths.get(getClass().getResource('/lsenclosurestats.json').toURI()) + Path testConfigurationFile = Paths.get(getClass().getResource('/json/lsenclosurestats.json').toURI()) List enclosureStats = Arrays.asList(mapper.readerFor(EnclosureStat[].class).readValue(testConfigurationFile.toFile())) then: diff --git a/src/test/groovy/biz/nellemann/svci/RestClientTest.groovy b/src/test/groovy/biz/nellemann/svci/RestClientTest.groovy index ba4c2de..32d5d9b 100644 --- a/src/test/groovy/biz/nellemann/svci/RestClientTest.groovy +++ b/src/test/groovy/biz/nellemann/svci/RestClientTest.groovy @@ -64,7 +64,7 @@ class RestClientTest extends Specification { def "Test SVC Login"() { setup: - def responseFile = new File(getClass().getResource('/svc-auth-response.json').toURI()) + def responseFile = new File(getClass().getResource('/json/svc-auth-response.json').toURI()) def req = HttpRequest.request() .withHeader("X-Auth-Username", "superuser") .withHeader("X-Auth-Password", "password") diff --git a/src/test/resources/lsenclosurestats.json b/src/test/resources/json/lsenclosurestats.json similarity index 100% rename from src/test/resources/lsenclosurestats.json rename to src/test/resources/json/lsenclosurestats.json diff --git a/src/test/resources/json/lsmdisk.json b/src/test/resources/json/lsmdisk.json new file mode 100644 index 0000000..a608e11 --- /dev/null +++ b/src/test/resources/json/lsmdisk.json @@ -0,0 +1,42 @@ +[ + { + "id": "0", + "name": "MDisk1", + "status": "online", + "mode": "array", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "49.2TB", + "ctrl_LUN_#": "", + "controller_name": "", + "UID": "", + "tier": "tier1_flash", + "encrypt": "no", + "site_id": "", + "site_name": "", + "distributed": "yes", + "dedupe": "no", + "over_provisioned": "no", + "supports_unmap": "yes" + }, + { + "id": "16", + "name": "MDisk2", + "status": "online", + "mode": "array", + "mdisk_grp_id": "1", + "mdisk_grp_name": "Pool1", + "capacity": "11.8TB", + "ctrl_LUN_#": "", + "controller_name": "", + "UID": "", + "tier": "tier_enterprise", + "encrypt": "no", + "site_id": "", + "site_name": "", + "distributed": "yes", + "dedupe": "no", + "over_provisioned": "no", + "supports_unmap": "no" + } +] diff --git a/src/test/resources/json/lsmdiskgrp.json b/src/test/resources/json/lsmdiskgrp.json new file mode 100644 index 0000000..b49419f --- /dev/null +++ b/src/test/resources/json/lsmdiskgrp.json @@ -0,0 +1,84 @@ +[ + { + "id": "0", + "name": "Pool0", + "status": "online", + "mdisk_count": "1", + "vdisk_count": "95", + "capacity": "49.17TB", + "extent_size": "1024", + "free_capacity": "46.23TB", + "virtual_capacity": "20.42TB", + "used_capacity": "2.62TB", + "real_capacity": "2.89TB", + "overallocation": "41", + "warning": "80", + "easy_tier": "auto", + "easy_tier_status": "balanced", + "compression_active": "no", + "compression_virtual_capacity": "0.00MB", + "compression_compressed_capacity": "0.00MB", + "compression_uncompressed_capacity": "0.00MB", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "child_mdisk_grp_count": "0", + "child_mdisk_grp_capacity": "0.00MB", + "type": "parent", + "encrypt": "no", + "owner_type": "none", + "owner_id": "", + "owner_name": "", + "site_id": "", + "site_name": "", + "data_reduction": "no", + "used_capacity_before_reduction": "0.00MB", + "used_capacity_after_reduction": "0.00MB", + "overhead_capacity": "0.00MB", + "deduplication_capacity_saving": "0.00MB", + "reclaimable_capacity": "0.00MB", + "easy_tier_fcm_over_allocation_max": "", + "provisioning_policy_id": "", + "provisioning_policy_name": "" + }, + { + "id": "1", + "name": "Pool1", + "status": "online", + "mdisk_count": "1", + "vdisk_count": "0", + "capacity": "11.74TB", + "extent_size": "1024", + "free_capacity": "11.74TB", + "virtual_capacity": "0.00MB", + "used_capacity": "0.00MB", + "real_capacity": "0.00MB", + "overallocation": "0", + "warning": "80", + "easy_tier": "auto", + "easy_tier_status": "balanced", + "compression_active": "no", + "compression_virtual_capacity": "0.00MB", + "compression_compressed_capacity": "0.00MB", + "compression_uncompressed_capacity": "0.00MB", + "parent_mdisk_grp_id": "1", + "parent_mdisk_grp_name": "Pool1", + "child_mdisk_grp_count": "0", + "child_mdisk_grp_capacity": "0.00MB", + "type": "parent", + "encrypt": "no", + "owner_type": "none", + "owner_id": "", + "owner_name": "", + "site_id": "", + "site_name": "", + "data_reduction": "no", + "used_capacity_before_reduction": "0.00MB", + "used_capacity_after_reduction": "0.00MB", + "overhead_capacity": "0.00MB", + "deduplication_capacity_saving": "0.00MB", + "reclaimable_capacity": "0.00MB", + "easy_tier_fcm_over_allocation_max": "", + "provisioning_policy_id": "", + "provisioning_policy_name": "" + } +] diff --git a/src/test/resources/lsnodestats.json b/src/test/resources/json/lsnodestats.json similarity index 100% rename from src/test/resources/lsnodestats.json rename to src/test/resources/json/lsnodestats.json diff --git a/src/test/resources/lssystem.json b/src/test/resources/json/lssystem.json similarity index 100% rename from src/test/resources/lssystem.json rename to src/test/resources/json/lssystem.json diff --git a/src/test/resources/json/lsvdisk.json b/src/test/resources/json/lsvdisk.json new file mode 100644 index 0000000..ce548c3 --- /dev/null +++ b/src/test/resources/json/lsvdisk.json @@ -0,0 +1,3042 @@ +[ + { + "id": "0", + "name": "HMC92_Disk1", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000000", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "0", + "volume_name": "HMC92_Disk1", + "function": "", + "protocol": "scsi" + }, + { + "id": "1", + "name": "BrbIBMiA-DD001", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000001", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "1", + "volume_name": "BrbIBMiA-DD001", + "function": "", + "protocol": "scsi" + }, + { + "id": "2", + "name": "BrbIBMiA-DD002", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000002", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "2", + "volume_name": "BrbIBMiA-DD002", + "function": "", + "protocol": "scsi" + }, + { + "id": "3", + "name": "BrbIBMiA-DD003", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000003", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "3", + "volume_name": "BrbIBMiA-DD003", + "function": "", + "protocol": "scsi" + }, + { + "id": "4", + "name": "BrbIBMiA-DD004", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000004", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "4", + "volume_name": "BrbIBMiA-DD004", + "function": "", + "protocol": "scsi" + }, + { + "id": "5", + "name": "BrbIBMiA-DD005", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000005", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "5", + "volume_name": "BrbIBMiA-DD005", + "function": "", + "protocol": "scsi" + }, + { + "id": "6", + "name": "BrbIBMiA-DD006", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000006", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "6", + "volume_name": "BrbIBMiA-DD006", + "function": "", + "protocol": "scsi" + }, + { + "id": "7", + "name": "BrbIBMi_image-DD003", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000007", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "7", + "volume_name": "BrbIBMi_image-DD003", + "function": "", + "protocol": "" + }, + { + "id": "8", + "name": "BrbIBMi_image-DD002", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000008", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "8", + "volume_name": "BrbIBMi_image-DD002", + "function": "", + "protocol": "" + }, + { + "id": "9", + "name": "BrbIBMi_image-DD005", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000009", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "9", + "volume_name": "BrbIBMi_image-DD005", + "function": "", + "protocol": "" + }, + { + "id": "10", + "name": "BrbIBMi_image-DD001", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000000A", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "10", + "volume_name": "BrbIBMi_image-DD001", + "function": "", + "protocol": "" + }, + { + "id": "11", + "name": "BrbIBMi_image-DD004", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000000B", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "11", + "volume_name": "BrbIBMi_image-DD004", + "function": "", + "protocol": "" + }, + { + "id": "12", + "name": "BrbIBMi_image-DD006", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000000C", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "12", + "volume_name": "BrbIBMi_image-DD006", + "function": "", + "protocol": "" + }, + { + "id": "13", + "name": "BrbIBMiB-DD005", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000000F", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "13", + "volume_name": "BrbIBMiB-DD005", + "function": "", + "protocol": "scsi" + }, + { + "id": "14", + "name": "BrbIBMiB-DD006", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000010", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "14", + "volume_name": "BrbIBMiB-DD006", + "function": "", + "protocol": "scsi" + }, + { + "id": "15", + "name": "BrbIBMiB-DD003", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000011", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "15", + "volume_name": "BrbIBMiB-DD003", + "function": "", + "protocol": "scsi" + }, + { + "id": "16", + "name": "BrbIBMiB-DD004", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000012", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "16", + "volume_name": "BrbIBMiB-DD004", + "function": "", + "protocol": "scsi" + }, + { + "id": "17", + "name": "BrbIBMiB-DD002", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000013", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "17", + "volume_name": "BrbIBMiB-DD002", + "function": "", + "protocol": "scsi" + }, + { + "id": "18", + "name": "BrbIBMiB-DD001", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000014", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "18", + "volume_name": "BrbIBMiB-DD001", + "function": "", + "protocol": "scsi" + }, + { + "id": "19", + "name": "OldPowerVC_vol10", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000015", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "19", + "volume_name": "OldPowerVC_vol10", + "function": "", + "protocol": "" + }, + { + "id": "20", + "name": "OldPowerVC_vol11", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000016", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "20", + "volume_name": "OldPowerVC_vol11", + "function": "", + "protocol": "" + }, + { + "id": "21", + "name": "Lars01_vol0", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000017", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "21", + "volume_name": "Lars01_vol0", + "function": "", + "protocol": "scsi" + }, + { + "id": "22", + "name": "Lars01_vol1", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000018", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "22", + "volume_name": "Lars01_vol1", + "function": "", + "protocol": "" + }, + { + "id": "23", + "name": "Mark01_vol0", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000019", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "23", + "volume_name": "Mark01_vol0", + "function": "", + "protocol": "scsi" + }, + { + "id": "24", + "name": "Mark01_vol1", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000001A", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "24", + "volume_name": "Mark01_vol1", + "function": "", + "protocol": "scsi" + }, + { + "id": "25", + "name": "PowerVC_vol1", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000001B", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "25", + "volume_name": "PowerVC_vol1", + "function": "", + "protocol": "scsi" + }, + { + "id": "26", + "name": "PowerVC_vol2", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000001C", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "26", + "volume_name": "PowerVC_vol2", + "function": "", + "protocol": "scsi" + }, + { + "id": "27", + "name": "BrbIBMiC-DD004", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000001D", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "27", + "volume_name": "BrbIBMiC-DD004", + "function": "", + "protocol": "scsi" + }, + { + "id": "28", + "name": "BrbIBMiC-DD003", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000001E", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "28", + "volume_name": "BrbIBMiC-DD003", + "function": "", + "protocol": "scsi" + }, + { + "id": "29", + "name": "BrbIBMiC-DD005", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000001F", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "29", + "volume_name": "BrbIBMiC-DD005", + "function": "", + "protocol": "scsi" + }, + { + "id": "30", + "name": "BrbIBMiC-DD006", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000020", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "30", + "volume_name": "BrbIBMiC-DD006", + "function": "", + "protocol": "scsi" + }, + { + "id": "31", + "name": "BrbIBMiC-DD002", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000021", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "31", + "volume_name": "BrbIBMiC-DD002", + "function": "", + "protocol": "scsi" + }, + { + "id": "32", + "name": "BrbIBMiC-DD001", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000022", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "32", + "volume_name": "BrbIBMiC-DD001", + "function": "", + "protocol": "scsi" + }, + { + "id": "33", + "name": "BrbIBMiD-DD001", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000023", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "33", + "volume_name": "BrbIBMiD-DD001", + "function": "", + "protocol": "scsi" + }, + { + "id": "34", + "name": "BrbIBMiD-DD006", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000024", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "34", + "volume_name": "BrbIBMiD-DD006", + "function": "", + "protocol": "scsi" + }, + { + "id": "35", + "name": "BrbIBMiD-DD004", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000025", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "35", + "volume_name": "BrbIBMiD-DD004", + "function": "", + "protocol": "scsi" + }, + { + "id": "36", + "name": "BrbIBMiD-DD005", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000026", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "36", + "volume_name": "BrbIBMiD-DD005", + "function": "", + "protocol": "scsi" + }, + { + "id": "37", + "name": "BrbIBMiD-DD002", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000027", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "37", + "volume_name": "BrbIBMiD-DD002", + "function": "", + "protocol": "scsi" + }, + { + "id": "38", + "name": "BrbIBMiD-DD003", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000028", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "38", + "volume_name": "BrbIBMiD-DD003", + "function": "", + "protocol": "scsi" + }, + { + "id": "39", + "name": "volume-Image_BrbIBMi_Image_volume_1-255683f1-dfb2", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000029", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "39", + "volume_name": "volume-Image_BrbIBMi_Image_volume_1-255683f1-dfb2", + "function": "", + "protocol": "" + }, + { + "id": "40", + "name": "volume-Image_BrbIBMi_Image_volume_2-cb5bec20-804b", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000002A", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "40", + "volume_name": "volume-Image_BrbIBMi_Image_volume_2-cb5bec20-804b", + "function": "", + "protocol": "" + }, + { + "id": "41", + "name": "volume-Image_BrbIBMi_Image_volume_3-9285e0c0-d767", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000002B", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "41", + "volume_name": "volume-Image_BrbIBMi_Image_volume_3-9285e0c0-d767", + "function": "", + "protocol": "" + }, + { + "id": "42", + "name": "volume-Image_BrbIBMi_Image_volume_4-eb4720c7-5c64", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000002C", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "42", + "volume_name": "volume-Image_BrbIBMi_Image_volume_4-eb4720c7-5c64", + "function": "", + "protocol": "" + }, + { + "id": "43", + "name": "volume-Image_BrbIBMi_Image_volume_5-1bde78c6-e2f3", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000002D", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "43", + "volume_name": "volume-Image_BrbIBMi_Image_volume_5-1bde78c6-e2f3", + "function": "", + "protocol": "" + }, + { + "id": "44", + "name": "volume-Image_BrbIBMi_Image_volume_6-f43a8bb1-ea36", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000002E", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "44", + "volume_name": "volume-Image_BrbIBMi_Image_volume_6-f43a8bb1-ea36", + "function": "", + "protocol": "" + }, + { + "id": "45", + "name": "volume-BrbIBMi75-9e5582ff-00000002-boot-0-1199211d-3e21", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000002F", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "45", + "volume_name": "volume-BrbIBMi75-9e5582ff-00000002-boot-0-1199211d-3e21", + "function": "", + "protocol": "scsi" + }, + { + "id": "46", + "name": "volume-BrbIBMi75-9e5582ff-00000002-data-1-16538600-cea7", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000030", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "46", + "volume_name": "volume-BrbIBMi75-9e5582ff-00000002-data-1-16538600-cea7", + "function": "", + "protocol": "scsi" + }, + { + "id": "47", + "name": "volume-BrbIBMi75-9e5582ff-00000002-data-2-b06922a6-ed15", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000031", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "47", + "volume_name": "volume-BrbIBMi75-9e5582ff-00000002-data-2-b06922a6-ed15", + "function": "", + "protocol": "scsi" + }, + { + "id": "48", + "name": "volume-BrbIBMi75-9e5582ff-00000002-data-3-599d241d-336c", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000032", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "48", + "volume_name": "volume-BrbIBMi75-9e5582ff-00000002-data-3-599d241d-336c", + "function": "", + "protocol": "scsi" + }, + { + "id": "49", + "name": "volume-BrbIBMi75-9e5582ff-00000002-data-4-2570c774-6d81", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000033", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "49", + "volume_name": "volume-BrbIBMi75-9e5582ff-00000002-data-4-2570c774-6d81", + "function": "", + "protocol": "scsi" + }, + { + "id": "50", + "name": "volume-BrbIBMi75-9e5582ff-00000002-data-5-1b360bb3-36f1", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000034", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "50", + "volume_name": "volume-BrbIBMi75-9e5582ff-00000002-data-5-1b360bb3-36f1", + "function": "", + "protocol": "scsi" + }, + { + "id": "51", + "name": "volume-ibmi75-5feffab3-00000003-boot-0-8d0655f9-8bc7", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000035", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "51", + "volume_name": "volume-ibmi75-5feffab3-00000003-boot-0-8d0655f9-8bc7", + "function": "", + "protocol": "scsi" + }, + { + "id": "52", + "name": "volume-ibmi75-5feffab3-00000003-data-1-dd3616d5-b96b", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000036", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "52", + "volume_name": "volume-ibmi75-5feffab3-00000003-data-1-dd3616d5-b96b", + "function": "", + "protocol": "scsi" + }, + { + "id": "53", + "name": "volume-ibmi75-5feffab3-00000003-data-2-5e0fd809-f322", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000037", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "53", + "volume_name": "volume-ibmi75-5feffab3-00000003-data-2-5e0fd809-f322", + "function": "", + "protocol": "scsi" + }, + { + "id": "54", + "name": "volume-ibmi75-5feffab3-00000003-data-3-2658dc1c-157e", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000038", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "54", + "volume_name": "volume-ibmi75-5feffab3-00000003-data-3-2658dc1c-157e", + "function": "", + "protocol": "scsi" + }, + { + "id": "55", + "name": "volume-ibmi75-5feffab3-00000003-data-4-cb470fb1-78da", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000039", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "55", + "volume_name": "volume-ibmi75-5feffab3-00000003-data-4-cb470fb1-78da", + "function": "", + "protocol": "scsi" + }, + { + "id": "56", + "name": "volume-ibmi75-5feffab3-00000003-data-5-5b4402a9-f0ca", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000003A", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "56", + "volume_name": "volume-ibmi75-5feffab3-00000003-data-5-5b4402a9-f0ca", + "function": "", + "protocol": "scsi" + }, + { + "id": "57", + "name": "volume-Image_alma-86_Image_volume_1-467df4e0-73d1", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000005C", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "57", + "volume_name": "volume-Image_alma-86_Image_volume_1-467df4e0-73d1", + "function": "", + "protocol": "" + }, + { + "id": "58", + "name": "volume-capture2-49ba8ca8-00000005-boot-0-3fc82038-c2ca", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000003C", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "58", + "volume_name": "volume-capture2-49ba8ca8-00000005-boot-0-3fc82038-c2ca", + "function": "", + "protocol": "scsi" + }, + { + "id": "59", + "name": "volume-Image_capture-sles15sp3_volume_1-5858f644-6ed8", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000003D", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "59", + "volume_name": "volume-Image_capture-sles15sp3_volume_1-5858f644-6ed8", + "function": "", + "protocol": "" + }, + { + "id": "60", + "name": "volume-smukfest-6cccbe79-00000006-boot-0-01fa1f95-35d3", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000003E", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "60", + "volume_name": "volume-smukfest-6cccbe79-00000006-boot-0-01fa1f95-35d3", + "function": "", + "protocol": "scsi" + }, + { + "id": "61", + "name": "volume-BrbIBMiCloud-74ae4825-00000007-boot-0-59686ae7-7868", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000003F", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "61", + "volume_name": "volume-BrbIBMiCloud-74ae4825-00000007-boot-0-59686ae7-7868", + "function": "", + "protocol": "scsi" + }, + { + "id": "62", + "name": "volume-BrbIBMiCloud-74ae4825-00000007-data-1-17b52752-1c0f", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000040", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "62", + "volume_name": "volume-BrbIBMiCloud-74ae4825-00000007-data-1-17b52752-1c0f", + "function": "", + "protocol": "scsi" + }, + { + "id": "63", + "name": "volume-BrbIBMiCloud-74ae4825-00000007-data-2-d3f7526f-3125", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000041", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "63", + "volume_name": "volume-BrbIBMiCloud-74ae4825-00000007-data-2-d3f7526f-3125", + "function": "", + "protocol": "scsi" + }, + { + "id": "64", + "name": "volume-BrbIBMiCloud-74ae4825-00000007-data-3-b7e23430-ffba", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000042", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "64", + "volume_name": "volume-BrbIBMiCloud-74ae4825-00000007-data-3-b7e23430-ffba", + "function": "", + "protocol": "scsi" + }, + { + "id": "65", + "name": "volume-BrbIBMiCloud-74ae4825-00000007-data-4-599d8492-88c7", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000043", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "65", + "volume_name": "volume-BrbIBMiCloud-74ae4825-00000007-data-4-599d8492-88c7", + "function": "", + "protocol": "scsi" + }, + { + "id": "66", + "name": "volume-BrbIBMiCloud-74ae4825-00000007-data-5-f60d036d-32ac", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "300.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000044", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "66", + "volume_name": "volume-BrbIBMiCloud-74ae4825-00000007-data-5-f60d036d-32ac", + "function": "", + "protocol": "scsi" + }, + { + "id": "67", + "name": "volume-origo-test1-746fd8f3-00000008-boot-0-b14cb8d6-77be", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000045", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "67", + "volume_name": "volume-origo-test1-746fd8f3-00000008-boot-0-b14cb8d6-77be", + "function": "", + "protocol": "scsi" + }, + { + "id": "68", + "name": "volume-origo-test--1-dfa12663-00000009-boot--c05bfa96-e399", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000046", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "68", + "volume_name": "volume-origo-test--1-dfa12663-00000009-boot--c05bfa96-e399", + "function": "", + "protocol": "scsi" + }, + { + "id": "69", + "name": "volume-origo-test--2-9c9b9246-0000000a-boot--ee4b3d57-e181", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000047", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "69", + "volume_name": "volume-origo-test--2-9c9b9246-0000000a-boot--ee4b3d57-e181", + "function": "", + "protocol": "scsi" + }, + { + "id": "70", + "name": "volume-lab-mgt-0bba8ba8-0000001c-boot-0-bf3d7ee1-adc5", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000005D", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "70", + "volume_name": "volume-lab-mgt-0bba8ba8-0000001c-boot-0-bf3d7ee1-adc5", + "function": "", + "protocol": "scsi" + }, + { + "id": "71", + "name": "volume-ocp-bootstrap-295321a0-0000001d-boot--fcbc7333-6c41", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000005E", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "71", + "volume_name": "volume-ocp-bootstrap-295321a0-0000001d-boot--fcbc7333-6c41", + "function": "", + "protocol": "scsi" + }, + { + "id": "72", + "name": "volume-Image_rhcos_4-11_volume_1-e4c39c5a-c8bf", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000005F", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "72", + "volume_name": "volume-Image_rhcos_4-11_volume_1-e4c39c5a-c8bf", + "function": "", + "protocol": "" + }, + { + "id": "73", + "name": "volume-Image_alma_86-2_volume_1-b6c45702-986e", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000007D", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "73", + "volume_name": "volume-Image_alma_86-2_volume_1-b6c45702-986e", + "function": "", + "protocol": "" + }, + { + "id": "74", + "name": "volume-regionh-b09e14dc-00000016-boot-0-fcb6d611-0814", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000057", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "74", + "volume_name": "volume-regionh-b09e14dc-00000016-boot-0-fcb6d611-0814", + "function": "", + "protocol": "scsi" + }, + { + "id": "75", + "name": "volume-rootdisk-image-de450189-2776", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000053", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "75", + "volume_name": "volume-rootdisk-image-de450189-2776", + "function": "", + "protocol": "" + }, + { + "id": "76", + "name": "volume-regionh2-a9b7880f-00000017-boot-0-9eb0710c-8fb3", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000058", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "76", + "volume_name": "volume-regionh2-a9b7880f-00000017-boot-0-9eb0710c-8fb3", + "function": "", + "protocol": "scsi" + }, + { + "id": "77", + "name": "volume-Image_aix73-image_volume_1-2aba10c8-7559", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000055", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "77", + "volume_name": "volume-Image_aix73-image_volume_1-2aba10c8-7559", + "function": "", + "protocol": "" + }, + { + "id": "78", + "name": "volume-marktest-2-84ed9877-0000006a-boot-0-b56c7268-4232", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000B5", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "78", + "volume_name": "volume-marktest-2-84ed9877-0000006a-boot-0-b56c7268-4232", + "function": "", + "protocol": "scsi" + }, + { + "id": "79", + "name": "volume-test-d3e4-bas-aa5cbd86-0000001f-boot--d6a146c6-67c7", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000061", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "79", + "volume_name": "volume-test-d3e4-bas-aa5cbd86-0000001f-boot--d6a146c6-67c7", + "function": "", + "protocol": "scsi" + }, + { + "id": "80", + "name": "volume-Image_p9-linux-capture_Image_volume_1-45d3ae79-4c4d", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000A6", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "80", + "volume_name": "volume-Image_p9-linux-capture_Image_volume_1-45d3ae79-4c4d", + "function": "", + "protocol": "" + }, + { + "id": "81", + "name": "volume-Image_alma_90-1_volume_1-d19e452a-fd02", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000007B", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "81", + "volume_name": "volume-Image_alma_90-1_volume_1-d19e452a-fd02", + "function": "", + "protocol": "" + }, + { + "id": "82", + "name": "volume-ocp1-abee-bas-2c95b5d2-00000039-boot--8a660c4d-078c", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000007E", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "82", + "volume_name": "volume-ocp1-abee-bas-2c95b5d2-00000039-boot--8a660c4d-078c", + "function": "", + "protocol": "scsi" + }, + { + "id": "83", + "name": "volume-myklebust-45b66c6a-00000055-boot-0-dc87c822-663b", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000009D", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "83", + "volume_name": "volume-myklebust-45b66c6a-00000055-boot-0-dc87c822-663b", + "function": "", + "protocol": "scsi" + }, + { + "id": "84", + "name": "volume-Image_ubuntu_22_04-1_volume_1-e89aca8c-c71b", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000AA", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "84", + "volume_name": "volume-Image_ubuntu_22_04-1_volume_1-e89aca8c-c71b", + "function": "", + "protocol": "" + }, + { + "id": "85", + "name": "volume-hubert-linux--f36dbd4d-00000060-boot--2cf7f7b0-0669", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000AB", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "85", + "volume_name": "volume-hubert-linux--f36dbd4d-00000060-boot--2cf7f7b0-0669", + "function": "", + "protocol": "scsi" + }, + { + "id": "86", + "name": "volume-hubert-aix-01-c0208484-00000061-boot--18d280fd-d939", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000AC", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "86", + "volume_name": "volume-hubert-aix-01-c0208484-00000061-boot--18d280fd-d939", + "function": "", + "protocol": "scsi" + }, + { + "id": "87", + "name": "volume-hubert-aix-01-data-d336e9ab-003a", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "512.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000AD", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "87", + "volume_name": "volume-hubert-aix-01-data-d336e9ab-003a", + "function": "", + "protocol": "scsi" + }, + { + "id": "88", + "name": "volume-Image_rhcos_4-11_2_volume_1-dbf11c1b-dd91", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000006A", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "88", + "volume_name": "volume-Image_rhcos_4-11_2_volume_1-dbf11c1b-dd91", + "function": "", + "protocol": "" + }, + { + "id": "89", + "name": "volume-marktest-3-5b9cdba2-0000006b-boot-0-25bfcc3e-6ddc", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000B6", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "89", + "volume_name": "volume-marktest-3-5b9cdba2-0000006b-boot-0-25bfcc3e-6ddc", + "function": "", + "protocol": "scsi" + }, + { + "id": "90", + "name": "volume-Image_centos8-1_volume_1-bfc598a0-daf1", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000085", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "90", + "volume_name": "volume-Image_centos8-1_volume_1-bfc598a0-daf1", + "function": "", + "protocol": "" + }, + { + "id": "91", + "name": "volume-marktest-1-360287ba-00000069-boot-0-935bb080-86f6", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000B7", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "not_empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "91", + "volume_name": "volume-marktest-1-360287ba-00000069-boot-0-935bb080-86f6", + "function": "", + "protocol": "scsi" + }, + { + "id": "92", + "name": "volume-Image_centos8-2_volume_1-c6b654bd-3c6c", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F80000000000008D", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "92", + "volume_name": "volume-Image_centos8-2_volume_1-c6b654bd-3c6c", + "function": "", + "protocol": "" + }, + { + "id": "93", + "name": "volume-Image_centos8-3_volume_1-276a4505-2734", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F800000000000095", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "93", + "volume_name": "volume-Image_centos8-3_volume_1-276a4505-2734", + "function": "", + "protocol": "" + }, + { + "id": "94", + "name": "volume-kenneth-aix-0-22c3e800-0000006c-boot--1fd83421-1ed6", + "IO_group_id": "0", + "IO_group_name": "io_grp0", + "status": "online", + "mdisk_grp_id": "0", + "mdisk_grp_name": "Pool0", + "capacity": "100.00GB", + "type": "striped", + "FC_id": "", + "FC_name": "", + "RC_id": "", + "RC_name": "", + "vdisk_UID": "6005076400840184F8000000000000B8", + "fc_map_count": "0", + "copy_count": "1", + "fast_write_state": "empty", + "se_copy_count": "1", + "RC_change": "no", + "compressed_copy_count": "0", + "parent_mdisk_grp_id": "0", + "parent_mdisk_grp_name": "Pool0", + "owner_id": "", + "owner_name": "", + "formatting": "no", + "encrypt": "no", + "volume_id": "94", + "volume_name": "volume-kenneth-aix-0-22c3e800-0000006c-boot--1fd83421-1ed6", + "function": "", + "protocol": "scsi" + } +] diff --git a/src/test/resources/svc-auth-response.json b/src/test/resources/json/svc-auth-response.json similarity index 100% rename from src/test/resources/svc-auth-response.json rename to src/test/resources/json/svc-auth-response.json diff --git a/src/test/resources/simplelogger.properties b/src/test/resources/simplelogger.properties new file mode 100644 index 0000000..df16b1a --- /dev/null +++ b/src/test/resources/simplelogger.properties @@ -0,0 +1,6 @@ +org.slf4j.simpleLogger.logFile=System.err +org.slf4j.simpleLogger.showDateTime=false +org.slf4j.simpleLogger.showShortLogName=true +org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS +org.slf4j.simpleLogger.levelInBrackets=true +org.slf4j.simpleLogger.defaultLogLevel=warn diff --git a/src/test/resources/svci.toml b/src/test/resources/svci.toml index b9f68ef..c243285 100644 --- a/src/test/resources/svci.toml +++ b/src/test/resources/svci.toml @@ -13,6 +13,5 @@ url = "https://10.10.10.18:7443" username = "superuser" password = "password" refresh = 29 -discover = 59 trust = true # Ignore SSL cert. errors