mbox series

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

Message ID 20191016112209.9024-1-chen.zhang@intel.com (mailing list archive)
Headers show
Series Introduce Advanced Watch Dog module | expand

Message

Zhang Chen Oct. 16, 2019, 11:22 a.m. UTC
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

Comments

no-reply@patchew.org Oct. 16, 2019, 3:35 p.m. UTC | #1
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
Zhang Chen Oct. 16, 2019, 3:35 p.m. UTC | #2
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
Zhang Chen Oct. 16, 2019, 3:40 p.m. UTC | #3
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