On 07/26/2017 04:00 AM, Peter Krempa wrote:
---
.../qemumonitorjson-nodename-iscsi-blockstats.json | 113 ++++++++++++++++++++
...qemumonitorjson-nodename-iscsi-named-nodes.json | 114 +++++++++++++++++++++
.../qemumonitorjson-nodename-iscsi.result | 13 +++
tests/qemumonitorjsontest.c | 1 +
4 files changed, 241 insertions(+)
create mode 100644
tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json
create mode 100644
tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result
FYI, I've noticed that this patch causes build failures of 3.6.0 on s390x and ppc64
[ 189s] 100) node-name-detect(iscsi) ...
[ 189s] In
'/home/abuild/rpmbuild/BUILD/libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result':
[ 189s] Offset 6
[ 189s] Expect [scsi0-0-1
[ 189s] filename : 'json:{"lun": "0", "portal":
"example.com:3260",
"driver": "iscsi", "transport": "tcp",
"target": "iqn.2016-09.com.example:server"}'
[ 189s] format node : '#block301'
[ 189s] format drv : 'raw'
[ 189s] storage node: '#block250'
[ 189s] storage drv : 'iscsi'
[ 189s]
[ 189s] drive-virtio-disk0
[ 189s] filename : 'json:{"lun": "0", "portal":
"example.com:3260",
"driver": "iscsi", "transport": "tcp",
"target": "iqn.2016-09.com.example:server"}'
[ 189s] format node : '#block169'
[ 189s] format drv : 'raw'
[ 189s] storage node: '#block038]
[ 189s] Actual [virtio-disk0
[ 189s] filename : 'json:{"lun": "0", "portal":
"example.com:3260",
"driver": "iscsi", "transport": "tcp",
"target": "iqn.2016-09.com.example:server"}'
[ 189s] format node : '#block169'
[ 189s] format drv : 'raw'
[ 189s] storage node: '#block038'
[ 189s] storage drv : 'iscsi'
[ 189s]
[ 189s] drive-scsi0-0-1
[ 189s] filename : 'json:{"lun": "0", "portal":
"example.com:3260",
"driver": "iscsi", "transport": "tcp",
"target": "iqn.2016-09.com.example:server"}'
[ 189s] format node : '#block301'
[ 189s] format drv : 'raw'
[ 189s] storage node: '#block250]
[ 189s] ... FAILED
As you can see the device order is swapped in the "Actual" output. It is odd
that I don't see the failure on other arches. I have little experience with the
monitor test code. Any ideas on what might cause that?
Regards,
Jim
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json
b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json
new file mode 100644
index 000000000..b13386ecb
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json
@@ -0,0 +1,113 @@
+[
+ {
+ "device": "drive-virtio-disk0",
+ "parent": {
+ "stats": {
+ "flush_total_time_ns": 0,
+ "wr_highest_offset": 0,
+ "wr_total_time_ns": 0,
+ "failed_wr_operations": 0,
+ "failed_rd_operations": 0,
+ "wr_merged": 0,
+ "wr_bytes": 0,
+ "timed_stats": [
+
+ ],
+ "failed_flush_operations": 0,
+ "account_invalid": false,
+ "rd_total_time_ns": 0,
+ "flush_operations": 0,
+ "wr_operations": 0,
+ "rd_merged": 0,
+ "rd_bytes": 0,
+ "invalid_flush_operations": 0,
+ "account_failed": false,
+ "rd_operations": 0,
+ "invalid_wr_operations": 0,
+ "invalid_rd_operations": 0
+ },
+ "node-name": "#block038"
+ },
+ "stats": {
+ "flush_total_time_ns": 0,
+ "wr_highest_offset": 0,
+ "wr_total_time_ns": 0,
+ "failed_wr_operations": 0,
+ "failed_rd_operations": 0,
+ "wr_merged": 0,
+ "wr_bytes": 0,
+ "timed_stats": [
+
+ ],
+ "failed_flush_operations": 0,
+ "account_invalid": true,
+ "rd_total_time_ns": 995504,
+ "flush_operations": 0,
+ "wr_operations": 0,
+ "rd_merged": 0,
+ "rd_bytes": 512,
+ "invalid_flush_operations": 0,
+ "account_failed": true,
+ "idle_time_ns": 117550038551,
+ "rd_operations": 1,
+ "invalid_wr_operations": 0,
+ "invalid_rd_operations": 0
+ },
+ "node-name": "#block169"
+ },
+ {
+ "device": "drive-scsi0-0-1",
+ "parent": {
+ "stats": {
+ "flush_total_time_ns": 0,
+ "wr_highest_offset": 0,
+ "wr_total_time_ns": 0,
+ "failed_wr_operations": 0,
+ "failed_rd_operations": 0,
+ "wr_merged": 0,
+ "wr_bytes": 0,
+ "timed_stats": [
+
+ ],
+ "failed_flush_operations": 0,
+ "account_invalid": false,
+ "rd_total_time_ns": 0,
+ "flush_operations": 0,
+ "wr_operations": 0,
+ "rd_merged": 0,
+ "rd_bytes": 0,
+ "invalid_flush_operations": 0,
+ "account_failed": false,
+ "rd_operations": 0,
+ "invalid_wr_operations": 0,
+ "invalid_rd_operations": 0
+ },
+ "node-name": "#block250"
+ },
+ "stats": {
+ "flush_total_time_ns": 0,
+ "wr_highest_offset": 0,
+ "wr_total_time_ns": 0,
+ "failed_wr_operations": 0,
+ "failed_rd_operations": 0,
+ "wr_merged": 0,
+ "wr_bytes": 0,
+ "timed_stats": [
+
+ ],
+ "failed_flush_operations": 0,
+ "account_invalid": true,
+ "rd_total_time_ns": 0,
+ "flush_operations": 0,
+ "wr_operations": 0,
+ "rd_merged": 0,
+ "rd_bytes": 0,
+ "invalid_flush_operations": 0,
+ "account_failed": true,
+ "rd_operations": 0,
+ "invalid_wr_operations": 0,
+ "invalid_rd_operations": 0
+ },
+ "node-name": "#block301"
+ }
+]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json
b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json
new file mode 100644
index 000000000..6a04e62c0
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json
@@ -0,0 +1,114 @@
+[
+ {
+ "iops_rd": 0,
+ "detect_zeroes": "off",
+ "image": {
+ "virtual-size": 1073741824,
+ "filename": "json:{\"driver\": \"raw\",
\"file\": {\"lun\": \"0\", \"portal\":
\"example.com:3260\", \"driver\": \"iscsi\",
\"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}}",
+ "format": "raw",
+ "dirty-flag": false
+ },
+ "iops_wr": 0,
+ "ro": false,
+ "node-name": "#block301",
+ "backing_file_depth": 0,
+ "drv": "raw",
+ "iops": 0,
+ "bps_wr": 0,
+ "write_threshold": 0,
+ "encrypted": false,
+ "bps": 0,
+ "bps_rd": 0,
+ "cache": {
+ "no-flush": false,
+ "direct": false,
+ "writeback": true
+ },
+ "file": "json:{\"driver\": \"raw\",
\"file\": {\"lun\": \"0\", \"portal\":
\"example.com:3260\", \"driver\": \"iscsi\",
\"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}}",
+ "encryption_key_missing": false
+ },
+ {
+ "iops_rd": 0,
+ "detect_zeroes": "off",
+ "image": {
+ "virtual-size": 1073741824,
+ "filename": "json:{\"lun\": \"0\",
\"portal\": \"example.com:3260\", \"driver\":
\"iscsi\", \"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}",
+ "format": "iscsi",
+ "dirty-flag": false
+ },
+ "iops_wr": 0,
+ "ro": false,
+ "node-name": "#block250",
+ "backing_file_depth": 0,
+ "drv": "iscsi",
+ "iops": 0,
+ "bps_wr": 0,
+ "write_threshold": 0,
+ "encrypted": false,
+ "bps": 0,
+ "bps_rd": 0,
+ "cache": {
+ "no-flush": false,
+ "direct": false,
+ "writeback": true
+ },
+ "file": "json:{\"lun\": \"0\",
\"portal\": \"example.com:3260\", \"driver\":
\"iscsi\", \"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}",
+ "encryption_key_missing": false
+ },
+ {
+ "iops_rd": 0,
+ "detect_zeroes": "off",
+ "image": {
+ "virtual-size": 1073741824,
+ "filename": "json:{\"driver\": \"raw\",
\"file\": {\"lun\": \"0\", \"portal\":
\"example.com:3260\", \"driver\": \"iscsi\",
\"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}}",
+ "format": "raw",
+ "dirty-flag": false
+ },
+ "iops_wr": 0,
+ "ro": false,
+ "node-name": "#block169",
+ "backing_file_depth": 0,
+ "drv": "raw",
+ "iops": 0,
+ "bps_wr": 0,
+ "write_threshold": 0,
+ "encrypted": false,
+ "bps": 0,
+ "bps_rd": 0,
+ "cache": {
+ "no-flush": false,
+ "direct": false,
+ "writeback": true
+ },
+ "file": "json:{\"driver\": \"raw\",
\"file\": {\"lun\": \"0\", \"portal\":
\"example.com:3260\", \"driver\": \"iscsi\",
\"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}}",
+ "encryption_key_missing": false
+ },
+ {
+ "iops_rd": 0,
+ "detect_zeroes": "off",
+ "image": {
+ "virtual-size": 1073741824,
+ "filename": "json:{\"lun\": \"0\",
\"portal\": \"example.com:3260\", \"driver\":
\"iscsi\", \"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}",
+ "format": "iscsi",
+ "dirty-flag": false
+ },
+ "iops_wr": 0,
+ "ro": false,
+ "node-name": "#block038",
+ "backing_file_depth": 0,
+ "drv": "iscsi",
+ "iops": 0,
+ "bps_wr": 0,
+ "write_threshold": 0,
+ "encrypted": false,
+ "bps": 0,
+ "bps_rd": 0,
+ "cache": {
+ "no-flush": false,
+ "direct": false,
+ "writeback": true
+ },
+ "file": "json:{\"lun\": \"0\",
\"portal\": \"example.com:3260\", \"driver\":
\"iscsi\", \"transport\": \"tcp\", \"target\":
\"iqn.2016-09.com.example:server\"}",
+ "encryption_key_missing": false
+ }
+]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result
b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result
new file mode 100644
index 000000000..3ffe55340
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result
@@ -0,0 +1,13 @@
+drive-scsi0-0-1
+filename : 'json:{"lun": "0", "portal":
"example.com:3260", "driver": "iscsi",
"transport": "tcp", "target":
"iqn.2016-09.com.example:server"}'
+format node : '#block301'
+format drv : 'raw'
+storage node: '#block250'
+storage drv : 'iscsi'
+
+drive-virtio-disk0
+filename : 'json:{"lun": "0", "portal":
"example.com:3260", "driver": "iscsi",
"transport": "tcp", "target":
"iqn.2016-09.com.example:server"}'
+format node : '#block169'
+format drv : 'raw'
+storage node: '#block038'
+storage drv : 'iscsi'
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index f4169e550..150a1d879 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -2937,6 +2937,7 @@ mymain(void)
DO_TEST_BLOCK_NODE_DETECT("old");
DO_TEST_BLOCK_NODE_DETECT("empty");
DO_TEST_BLOCK_NODE_DETECT("luks");
+ DO_TEST_BLOCK_NODE_DETECT("iscsi");
#undef DO_TEST_BLOCK_NODE_DETECT