[RFC PATCH 0/4] Introduce Advanced Watch Dog module

Zhang Chen posted 4 patches 4 years, 6 months ago
Test asan passed
Test checkpatch passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191016112209.9024-1-chen.zhang@intel.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>
There is a newer version of this series
net/Makefile.objs |   1 +
net/awd.c         | 486 ++++++++++++++++++++++++++++++++++++++++++++++
qemu-options.hx   |   6 +
vl.c              |   7 +
4 files changed, 500 insertions(+)
create mode 100644 net/awd.c
[RFC PATCH 0/4] Introduce Advanced Watch Dog module
Posted by Zhang Chen 4 years, 6 months ago
From: Zhang Chen <chen.zhang@intel.com>

Advanced Watch Dog is an universal monitoring module on VMM side, it can be used to detect network down(VMM to guest, VMM to VMM, VMM to another remote server) and do previously set operation.
for example: send message to admin, notify another VMM, send qmp command to qemu do some operation like restart the VM, build VMM heartbeat system, etc.
It make user have basic VM/Host network monitoring tools and basic false tolerance and recovery solution.

Demo usage(for COLO heartbeat):

In primary node:

-chardev socket,id=h1,host=3.3.3.3,port=9009,server,nowait
-chardev socket,id=heartbeat0,host=3.3.3.3,port=4445
-object iothread,id=iothread2
-object advanced-watchdog,id=heart1,server=on,awd_node=h1,notification_node=heartbeat0,opt_script=colo_opt_script_path,iothread=iothread1,pulse_interval=1000,timeout=5000

In secondary node:

-monitor tcp::4445,server,nowait 
-chardev socket,id=h1,host=3.3.3.3,port=9009,reconnect=1
-chardev socket,id=heart1,host=3.3.3.8,port=4445
-object iothread,id=iothread1
-object advanced-watchdog,id=heart1,server=off,awd_node=h1,notification_node=heart1,opt_script=colo_secondary_opt_script,iothread=iothread1,timeout=10000


Zhang Chen (4):
  net/awd.c: Introduce Advanced Watch Dog module framework
  net/awd.c: Initailize input/output chardev
  net/awd.c: Load advanced watch dog worker thread job
  vl.c: Make Advanced Watch Dog delayed initialization

 net/Makefile.objs |   1 +
 net/awd.c         | 486 ++++++++++++++++++++++++++++++++++++++++++++++
 qemu-options.hx   |   6 +
 vl.c              |   7 +
 4 files changed, 500 insertions(+)
 create mode 100644 net/awd.c

-- 
2.17.1


Re: [RFC PATCH 0/4] Introduce Advanced Watch Dog module
Posted by no-reply@patchew.org 4 years, 6 months ago
Patchew URL: https://patchew.org/QEMU/20191016112209.9024-1-chen.zhang@intel.com/



Hi,

This series failed the docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-centos7 V=1 NETWORK=1
time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===

Clone of 'https://git.qemu.org/git/dtc.git' into submodule path 'dtc' failed
failed to update submodule dtc
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) unregistered for path 'dtc'
make[1]: *** [/var/tmp/patchew-tester-tmp-2eq69u33/src/docker-src.2019-10-16-11.34.59.10123] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-2eq69u33/src'
make: *** [docker-run-test-quick@centos7] Error 2

real    0m3.762s
user    0m2.349s


The full log is available at
http://patchew.org/logs/20191016112209.9024-1-chen.zhang@intel.com/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [RFC PATCH 0/4] Introduce Advanced Watch Dog module
Posted by Zhang Chen 4 years, 6 months ago
On Wed, Oct 16, 2019 at 11:35 PM <no-reply@patchew.org> wrote:

> Patchew URL:
> https://patchew.org/QEMU/20191016112209.9024-1-chen.zhang@intel.com/
>
>
>
> Hi,
>
> This series failed the docker-quick@centos7 build test. Please find the
> testing commands and
> their output below. If you have Docker installed, you can probably
> reproduce it
> locally.
>
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
> make docker-image-centos7 V=1 NETWORK=1
> time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
> === TEST SCRIPT END ===
>
> Clone of 'https://git.qemu.org/git/dtc.git' into submodule path 'dtc'
> failed
> failed to update submodule dtc
> Submodule 'dtc' (https://git.qemu.org/git/dtc.git) unregistered for path
> 'dtc'
> make[1]: ***
> [/var/tmp/patchew-tester-tmp-2eq69u33/src/docker-src.2019-10-16-11.34.59.10123]
> Error 1
> make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-2eq69u33/src'
> make: *** [docker-run-test-quick@centos7] Error 2
>
>
It looks this problem dose not caused by my patch series?

Thanks
Zhang Chen


> real    0m3.762s
> user    0m2.349s
>
>
> The full log is available at
>
> http://patchew.org/logs/20191016112209.9024-1-chen.zhang@intel.com/testing.docker-quick@centos7/?type=message
> .
> ---
> Email generated automatically by Patchew [https://patchew.org/].
> Please send your feedback to patchew-devel@redhat.com
Re: [RFC PATCH 0/4] Introduce Advanced Watch Dog module
Posted by Zhang Chen 4 years, 6 months ago
On Wed, Oct 16, 2019 at 11:35 PM <no-reply@patchew.org> wrote:
>
> Patchew URL: https://patchew.org/QEMU/20191016112209.9024-1-chen.zhang@intel.com/
>
>
>
> Hi,
>
> This series failed the docker-quick@centos7 build test. Please find the testing commands and
> their output below. If you have Docker installed, you can probably reproduce it
> locally.
>
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
> make docker-image-centos7 V=1 NETWORK=1
> time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
> === TEST SCRIPT END ===
>
> Clone of 'https://git.qemu.org/git/dtc.git' into submodule path 'dtc' failed
> failed to update submodule dtc
> Submodule 'dtc' (https://git.qemu.org/git/dtc.git) unregistered for path 'dtc'
> make[1]: *** [/var/tmp/patchew-tester-tmp-2eq69u33/src/docker-src.2019-10-16-11.34.59.10123] Error 1
> make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-2eq69u33/src'
> make: *** [docker-run-test-quick@centos7] Error 2
>

It looks this problem dose not caused by my patch series?

Thanks
Zhang Chen

> real    0m3.762s
> user    0m2.349s
>
>
> The full log is available at
> http://patchew.org/logs/20191016112209.9024-1-chen.zhang@intel.com/testing.docker-quick@centos7/?type=message.
> ---
> Email generated automatically by Patchew [https://patchew.org/].
> Please send your feedback to patchew-devel@redhat.com