Re: [libvirt] [libvirt-go PATCH] Add MigrateGetMaxDowntime API

2017-08-28 Thread John Ferlan
On 08/28/2017 06:16 PM, John Ferlan wrote: > Signed-off-by: John Ferlan > --- > > This is a "best guess" effort - basically copied some previous examples > from recent comments, built, and ran the same test that the CI build test > runs. > > domain.go | 15

Re: [libvirt] [libvirt-python PATCH 0/2] Python bindings for virDomainMigrateGetMaxDowntime

2017-08-28 Thread John Ferlan
On 08/26/2017 09:01 AM, John Ferlan wrote: > Implement the bindings similar to previous such implementations for > Compression cache (commit id's 7465d31bb and feae4e052) > > John Ferlan (2): > Introduce virDomainMigrateGetMaxDowntime API > Implement virDomainMigrateGetMaxDowntime > >

Re: [libvirt] [libvirt-perl PATCH] Add migrate_get_max_downtime

2017-08-28 Thread John Ferlan
On 08/26/2017 08:47 AM, John Ferlan wrote: > Add new API for 3.7 pushed code for virDomainMigrateGetMaxDowntime > > Signed-off-by: John Ferlan > --- > Changes| 1 + > Virt.xs| 15 +++ > lib/Sys/Virt/Domain.pm | 6 ++ > 3

[libvirt] [libvirt-go PATCH] Add MigrateGetMaxDowntime API

2017-08-28 Thread John Ferlan
Signed-off-by: John Ferlan --- This is a "best guess" effort - basically copied some previous examples from recent comments, built, and ran the same test that the CI build test runs. domain.go | 15 +++ 1 file changed, 15 insertions(+) diff --git a/domain.go

Re: [libvirt] [PATCH v3 5/6] util: Introduce virFileWaitForAccess

2017-08-28 Thread John Ferlan
On 08/24/2017 07:23 AM, Erik Skultety wrote: > Since we have a number of places where we workaround timing issues with > devices, attributes (files in general) not being available at the time > of processing them by calling usleep in a loop for a fixed number of > tries, we could as well have a

Re: [libvirt] [PATCH v3 6/6] nodedev: Work around the uevent race by hooking up virFileWaitForAccess

2017-08-28 Thread John Ferlan
On 08/24/2017 07:23 AM, Erik Skultety wrote: > If we find ourselves in the situation that the 'add' uevent has been > fired earlier than the sysfs tree for a device was created, we should > use the best-effort approach and give kernel some predetermined amount > of time, thus waiting for the

Re: [libvirt] [PATCH v3 4/6] nodedev: Disable/re-enable polling on the udev fd

2017-08-28 Thread John Ferlan
On 08/24/2017 07:23 AM, Erik Skultety wrote: > The event loop may get scheduled earlier than the udev event handler > thread which means that it would keep invoking the handler callback with > "new" events, while in fact it's most likely still the same event which > the handler thread hasn't

Re: [libvirt] [PATCH v3 3/6] udev: Convert udevEventHandleThread to an actual thread routine

2017-08-28 Thread John Ferlan
On 08/24/2017 07:23 AM, Erik Skultety wrote: > Adjust udevEventHandleThread to be a proper thread routine running in an > infinite loop handling devices. Also introduce udevEventThreadData > private structure. > Every time there's and incoming event from udev, udevEventHandleCallback > only

Re: [libvirt] [PATCH v4 3/7] qemu: Implement qemuDomainManagedSaveGetXMLDesc

2017-08-28 Thread Peter Krempa
On Tue, Aug 08, 2017 at 13:32:51 +0530, Kothapally Madhu Pavan wrote: > This commit adds qemu driver implementation to get xml description > for managed save state domain. > > Signed-off-by: Kothapally Madhu Pavan > --- > src/qemu/qemu_driver.c | 46

Re: [libvirt] [PATCH v4 4/7] qemu: Implement qemuDomainManagedSaveDefineXML

2017-08-28 Thread Peter Krempa
On Tue, Aug 08, 2017 at 13:32:52 +0530, Kothapally Madhu Pavan wrote: > This commit adds qemu driver implementation to edit xml > configuration of managed save state file of a domain. > > Signed-off-by: Kothapally Madhu Pavan > --- > src/qemu/qemu_driver.c | 41

Re: [libvirt] [PATCH] maint: correct quoting for gl_WARN_ADD

2017-08-28 Thread Eric Blake
On 08/28/2017 04:05 AM, Andrea Bolognani wrote: > On Thu, 2017-08-24 at 16:13 -0500, Eric Blake wrote: >> 3 out of 4 uses of gl_WARN_ADD() were incorrectly adding "" around >> the argument, which in turn resulted in the argument being used >> unquoted (configure had

Re: [libvirt] [PATCH v3 2/6] udev: Split udevEventHandleCallback in two functions

2017-08-28 Thread John Ferlan
On 08/24/2017 07:23 AM, Erik Skultety wrote: > This patch splits udevEventHandleCallback in two (introduces > udevEventHandleThread) in order to be later able to refactor the latter > to actually become a detached thread which will wait some time for the > kernel to create the whole sysfs tree

Re: [libvirt] [PATCH v3 1/6] nodedev: Introduce udevCheckMonitorFD helper function

2017-08-28 Thread John Ferlan
On 08/24/2017 07:23 AM, Erik Skultety wrote: > We need to perform some sanity checks on the udev monitor before every > use so that we know nothing changed in the meantime. The reason for > moving the code to a separate function is to be able to perform the same > check from a worker thread that

Re: [libvirt] [PATCH v3 REBASE 05/16] qemu: drop excessive zero-out in qemuMigrationFetchJobStatus

2017-08-28 Thread Jiri Denemark
On Thu, Aug 24, 2017 at 09:56:42 +0300, Nikolay Shirokovskiy wrote: > qemuMonitorGetMigrationStats will do it for us anyway. > --- > src/qemu/qemu_migration.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c > index b7ad65d..cc42f7a

Re: [libvirt] [PATCH v3 REBASE 04/16] qemu: drop QEMU_MIGRATION_COMPLETED_UPDATE_STATS

2017-08-28 Thread Jiri Denemark
On Thu, Aug 24, 2017 at 09:56:41 +0300, Nikolay Shirokovskiy wrote: > This way we get stats only in one place. The former code waits for > complete/postcopy status basically and don't need to mess with stats. > > The patch drops raising an error on stats updates failure. This > does not make much

Re: [libvirt] [PATCH v3 REBASE 03/16] qemu: introduce QEMU_DOMAIN_JOB_STATUS_POSTCOPY

2017-08-28 Thread Jiri Denemark
On Thu, Aug 24, 2017 at 09:56:40 +0300, Nikolay Shirokovskiy wrote: > Current code consults job.current->stats.status to check for postcopy > state. First it is more correct to check for both job.current->status > and job.current->stats.status.code because on some paths on failures > we change

Re: [libvirt] [PATCH v3 REBASE 02/16] qemu: introduce qemu domain job status

2017-08-28 Thread Jiri Denemark
On Thu, Aug 24, 2017 at 09:56:39 +0300, Nikolay Shirokovskiy wrote: > This patch simply switches code from using VIR_DOMAIN_JOB_* to > introduced QEMU_DOMAIN_JOB_STATUS_*. Later this gives us freedom > to introduce states for postcopy and mirroring phases. ... > diff --git a/src/qemu/qemu_driver.c

Re: [libvirt] [PATCH v3 REBASE 01/16] qemu: drop code for VIR_DOMAIN_JOB_BOUNDED and timeRemaining

2017-08-28 Thread Jiri Denemark
On Thu, Aug 24, 2017 at 09:56:38 +0300, Nikolay Shirokovskiy wrote: > qemu driver does not have VIR_DOMAIN_JOB_BOUNDED jobs and > timeRemaining is always 0. > --- > src/qemu/qemu_domain.c | 7 --- > src/qemu/qemu_domain.h | 1 - > src/qemu/qemu_migration_cookie.c | 5 -

Re: [libvirt] [PATCH v4 3/7] qemu: Implement qemuDomainManagedSaveGetXMLDesc

2017-08-28 Thread Peter Krempa
On Tue, Aug 08, 2017 at 13:32:51 +0530, Kothapally Madhu Pavan wrote: > This commit adds qemu driver implementation to get xml description > for managed save state domain. > > Signed-off-by: Kothapally Madhu Pavan > --- > src/qemu/qemu_driver.c | 46

Re: [libvirt] [PATCH v4 2/7] lib: Add API to edit domain's managed save state xml configuration

2017-08-28 Thread Peter Krempa
On Tue, Aug 08, 2017 at 13:32:50 +0530, Kothapally Madhu Pavan wrote: > Similar to domainSaveImageDefineXML this commit adds > domainManagedSaveDefineXML > API which allows to edit domain's managed save state xml configuration. > > Signed-off-by: Kothapally Madhu Pavan

[libvirt] [libvirt-php][PATCH 1/3] Shut up automake

2017-08-28 Thread Michal Privoznik
Now that we have multiple source files it makes sense to turn automake into silent mode. Not only it produces nicer output but any error message is easier to find. Signed-off-by: Michal Privoznik --- configure.ac | 4 1 file changed, 4 insertions(+) diff --git

[libvirt] [libvirt-php][PATCH 3/3] examples: Initialize $ret in index.php

2017-08-28 Thread Michal Privoznik
In bd258258 when adding a simple example to demonstrate NWFilter APIs I've forgot to initialize $ret variable which is then used (possibly undefined). Signed-off-by: Michal Privoznik --- examples/index.php | 1 + 1 file changed, 1 insertion(+) diff --git

[libvirt] [libvirt-php][PATCH 2/3] libvirt-php.c: Reorder includes

2017-08-28 Thread Michal Privoznik
The includes are not in alphabetical order which hurts my OCD. Signed-off-by: Michal Privoznik --- src/libvirt-php.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libvirt-php.c b/src/libvirt-php.c index ec73034..ef057fe 100644 ---

[libvirt] [libvirt-php][PATCH 0/3] Couple of trivial fixes/improvements

2017-08-28 Thread Michal Privoznik
*** BLURB HERE *** Michal Privoznik (3): Shut up automake libvirt-php.c: Reorder includes examples: Initialize $ret in index.php configure.ac | 4 examples/index.php | 1 + src/libvirt-php.c | 8 3 files changed, 9 insertions(+), 4 deletions(-) -- 2.13.5 --

Re: [libvirt] [PATCH v2 1/5] qemu: whitelist valid video types

2017-08-28 Thread Cole Robinson
On 08/28/2017 03:56 AM, Pavel Hrdina wrote: > On Sun, Aug 27, 2017 at 11:04:38AM -0400, Cole Robinson wrote: >> Rather than require an explicit blacklist that needs to be extended >> for every new VIDEO_TYPE >> >> Signed-off-by: Cole Robinson >> --- >> src/qemu/qemu_domain.c

Re: [libvirt] [PATCH] daemon: logging: Fix --verbose option being ignored by the daemon

2017-08-28 Thread Erik Skultety
On Mon, Aug 28, 2017 at 03:32:31PM +0200, Ján Tomko wrote: > On Mon, Aug 28, 2017 at 10:39:15AM +0200, Erik Skultety wrote: > > Commit 94c465d0 refactored the logging setup phase but introduced an > > issue, where the daemon ignores verbose mode when there are no outputs > > defined and the

Re: [libvirt] [PATCH v2] qemu: Handle host devices not being available better

2017-08-28 Thread Andrea Bolognani
On Mon, 2017-08-28 at 13:14 +0200, Peter Krempa wrote: > > In order to be consistent, when a device's isolation > > group can't be determined fall back to not isolating it > > rather than erroring out or, worse, making the guest > > disappear. > > (Didn't you set your text width for commit

Re: [libvirt] [PATCH] daemon: logging: Fix --verbose option being ignored by the daemon

2017-08-28 Thread Erik Skultety
On Mon, Aug 28, 2017 at 03:32:31PM +0200, Ján Tomko wrote: > On Mon, Aug 28, 2017 at 10:39:15AM +0200, Erik Skultety wrote: > > Commit 94c465d0 refactored the logging setup phase but introduced an > > issue, where the daemon ignores verbose mode when there are no outputs > > defined and the

Re: [libvirt] [libvirt-php PATCH v2 02/11] Split up the bindings for libvirt connection API

2017-08-28 Thread Michal Privoznik
On 08/03/2017 08:35 PM, Dawid Zamirski wrote: > * add libvirt-connection.h and libvirt-connection.c > * move all libvirt_connect_* function declarations and definitions to > above files > * other minor adjusments to libvirt-php.h and util.h to keep the code > compilable while the code is being

Re: [libvirt] [libvirt-php PATCH v2 00/11] Refactor into smaller components

2017-08-28 Thread Michal Privoznik
On 08/03/2017 08:34 PM, Dawid Zamirski wrote: > As per [1], this patch series splits up the large libvirt-php.c into > components that (attempts) to resemble the structure of the libvirt > project. Each patch successive patch was compile-tested while the whole > series was verified with "make

Re: [libvirt] [PATCH] daemon: logging: Fix --verbose option being ignored by the daemon

2017-08-28 Thread Ján Tomko
On Mon, Aug 28, 2017 at 10:39:15AM +0200, Erik Skultety wrote: Commit 94c465d0 refactored the logging setup phase but introduced an issue, where the daemon ignores verbose mode when there are no outputs defined and the default must be used. The problem is that the default output was determined

Re: [libvirt] [PATCH 1/5] qemu: introduce QEMU_CAPS_CHARDEV_RECONNECT

2017-08-28 Thread Pavel Hrdina
On Mon, Aug 28, 2017 at 03:07:25PM +0200, Ján Tomko wrote: > On Mon, Aug 28, 2017 at 02:56:49PM +0200, Pavel Hrdina wrote: > > Signed-off-by: Pavel Hrdina > > --- > > src/qemu/qemu_capabilities.c| 2 ++ > > src/qemu/qemu_capabilities.h

Re: [libvirt] [PATCH 0/5] introduce reconnect feature for chardev devices

2017-08-28 Thread Ján Tomko
On Mon, Aug 28, 2017 at 02:56:48PM +0200, Pavel Hrdina wrote: Pavel Hrdina (5): qemu: introduce QEMU_CAPS_CHARDEV_RECONNECT conf: introduce reconnect element for chardev source tests: add generic xml chardev reconnect tests qemu: implement chardev source reconnect tests: add qemu chardev

Re: [libvirt] [PATCH 5/5] tests: add qemu chardev srouce reconnect tests

2017-08-28 Thread Ján Tomko
s/srouce/source/ Jan signature.asc Description: Digital signature -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH 2/5] conf: introduce reconnect element for chardev source

2017-08-28 Thread Ján Tomko
On Mon, Aug 28, 2017 at 02:56:50PM +0200, Pavel Hrdina wrote: Signed-off-by: Pavel Hrdina --- docs/formatdomain.html.in | 11 docs/schemas/domaincommon.rng | 12 + src/conf/domain_conf.c| 119 +++---

Re: [libvirt] [PATCH 1/5] qemu: introduce QEMU_CAPS_CHARDEV_RECONNECT

2017-08-28 Thread Ján Tomko
On Mon, Aug 28, 2017 at 02:56:49PM +0200, Pavel Hrdina wrote: Signed-off-by: Pavel Hrdina --- src/qemu/qemu_capabilities.c| 2 ++ src/qemu/qemu_capabilities.h| 1 + tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml

[libvirt] [PATCH 4/5] qemu: implement chardev source reconnect

2017-08-28 Thread Pavel Hrdina
The reconnect attribute for chardev devices in QEMU is used to configure the reconnect timeout in seconds. Setting '0' value disables the reconnect functionality thus we don't allow to set '0' for QEMU. To disable the reconnect user should use . Resolves:

[libvirt] [PATCH 1/5] qemu: introduce QEMU_CAPS_CHARDEV_RECONNECT

2017-08-28 Thread Pavel Hrdina
Signed-off-by: Pavel Hrdina --- src/qemu/qemu_capabilities.c| 2 ++ src/qemu/qemu_capabilities.h| 1 + tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml| 1 + tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml

[libvirt] [PATCH 5/5] tests: add qemu chardev srouce reconnect tests

2017-08-28 Thread Pavel Hrdina
Signed-off-by: Pavel Hrdina --- .../qemuxml2argv-channel-reconnect.args| 31 +++ ...uxml2argv-chardev-reconnect-invalid-timeout.xml | 23 +++ .../qemuxml2argv-chardev-reconnect.args| 40 +++

[libvirt] [PATCH 3/5] tests: add generic xml chardev reconnect tests

2017-08-28 Thread Pavel Hrdina
Signed-off-by: Pavel Hrdina --- .../generic-chardev-reconnect-invalid-mode.xml | 26 + .../generic-chardev-reconnect-missing-timeout.xml | 26 + .../generic-chardev-reconnect.xml | 32 +

[libvirt] [PATCH 2/5] conf: introduce reconnect element for chardev source

2017-08-28 Thread Pavel Hrdina
Signed-off-by: Pavel Hrdina --- docs/formatdomain.html.in | 11 docs/schemas/domaincommon.rng | 12 + src/conf/domain_conf.c| 119 +++--- src/conf/domain_conf.h| 11 4 files changed, 145 insertions(+), 8

[libvirt] [PATCH 0/5] introduce reconnect feature for chardev devices

2017-08-28 Thread Pavel Hrdina
Pavel Hrdina (5): qemu: introduce QEMU_CAPS_CHARDEV_RECONNECT conf: introduce reconnect element for chardev source tests: add generic xml chardev reconnect tests qemu: implement chardev source reconnect tests: add qemu chardev srouce reconnect tests docs/formatdomain.html.in

[libvirt] Schedule for next release

2017-08-28 Thread Daniel Veillard
I'm a little behind, I was on vacations last week and kind of forgot ... So I think the best will be to enter freeze tomorrow morning (29 Aug), then have an RC2 on the 31, and make the release over the week-end. I assume this works for everybody, otherwise raise your voice :-) thanks,

Re: [libvirt] [PATCH 0/3] chardev and disk source format cleanup

2017-08-28 Thread John Ferlan
On 08/24/2017 11:22 AM, Pavel Hrdina wrote: > Pavel Hrdina (3): > util: introduce virBufferSetChildIndent macro > util: introduce virXMLFormatElement helper > conf: don't close the source element inside different function > > src/conf/capabilities.c| 3 +- >

Re: [libvirt] [PATCH v2] qemu: Handle host devices not being available better

2017-08-28 Thread Peter Krempa
On Fri, Aug 25, 2017 at 18:15:37 +0200, Andrea Bolognani wrote: > We can't retrieve the isolation group of a device that's > not present in the system. However, it's very common for > VFs to be created late in the boot, so they might not be > present yet when libvirtd starts, which would cause the

Re: [libvirt] New QEMU daemon for persistent reservations

2017-08-28 Thread Michal Privoznik
On 08/25/2017 12:41 AM, Paolo Bonzini wrote: > On 22/08/2017 18:27, Paolo Bonzini wrote: >> Hi all, Hey, sorry for late reply. I was enjoying my PTO by not reading e-mails :-) >> >> I am adding a new daemon to QEMU, that QEMU can connect to in order to >> issue persistent reservation commands.

Re: [libvirt] [PATCH v2 5/5] qemu: Default to video type=virtio for machvirt

2017-08-28 Thread Pavel Hrdina
On Sun, Aug 27, 2017 at 11:04:42AM -0400, Cole Robinson wrote: > arm/aarch64 -M virt on KVM doesn't and will never work with standard > VGA card emulation. The recommended method is to use type=virtio, so > let's make it the default for video devices without an explicit type > set by the user

Re: [libvirt] [PATCH v2 4/5] qemu: Set default video type in qemu PostParse

2017-08-28 Thread Pavel Hrdina
On Sun, Aug 27, 2017 at 11:04:41AM -0400, Cole Robinson wrote: > And not generic domain_conf code. We will need qemu private functions > in a bit. > > Signed-off-by: Cole Robinson > --- > src/conf/domain_conf.c | 3 --- > src/qemu/qemu_domain.c | 7 +++ > 2 files

Re: [libvirt] [PATCH v2 2/5] conf: domain: add VIDEO_TYPE_DEFAULT

2017-08-28 Thread Pavel Hrdina
On Mon, Aug 28, 2017 at 12:23:19PM +0200, Pavel Hrdina wrote: > On Sun, Aug 27, 2017 at 11:04:39AM -0400, Cole Robinson wrote: > > Will be needed for future patches to pull the default video type > > setting out of XML parsing routines. > > > > Signed-off-by: Cole Robinson >

Re: [libvirt] [PATCH v2 3/5] conf: domain: move video type validation to DeviceDefValidate

2017-08-28 Thread Pavel Hrdina
On Sun, Aug 27, 2017 at 11:04:40AM -0400, Cole Robinson wrote: > This allows drivers to set their own default. But if a driver neglects > to fill one in, we still error like we previously would at parse time. > > Signed-off-by: Cole Robinson > --- > src/conf/domain_conf.c |

Re: [libvirt] [PATCH v2 2/5] conf: domain: add VIDEO_TYPE_DEFAULT

2017-08-28 Thread Pavel Hrdina
On Sun, Aug 27, 2017 at 11:04:39AM -0400, Cole Robinson wrote: > Will be needed for future patches to pull the default video type > setting out of XML parsing routines. > > Signed-off-by: Cole Robinson > --- > src/conf/domain_conf.c | 1 + >

[libvirt] [PATCH] maint: Update to latest gnulib

2017-08-28 Thread Erik Skultety
This pulls in, among other new things, vc-list-files fix to make syntax-check work with git worktrees. Signed-off-by: Erik Skultety --- As per http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00171.html which fixes the build with old autoconf, pushing this patch

Re: [libvirt] [PATCH] maint: correct quoting for gl_WARN_ADD

2017-08-28 Thread Andrea Bolognani
On Thu, 2017-08-24 at 16:13 -0500, Eric Blake wrote: > 3 out of 4 uses of gl_WARN_ADD() were incorrectly adding "" around > the argument, which in turn resulted in the argument being used > unquoted (configure had gl_positive=""-fstack-protector-all"", > rather than the intended

[libvirt] [PATCH] daemon: logging: Fix --verbose option being ignored by the daemon

2017-08-28 Thread Erik Skultety
Commit 94c465d0 refactored the logging setup phase but introduced an issue, where the daemon ignores verbose mode when there are no outputs defined and the default must be used. The problem is that the default output was determined too early, thus ignoring the potential '--verbose' option taking

Re: [libvirt] [PATCH v2 1/5] qemu: whitelist valid video types

2017-08-28 Thread Pavel Hrdina
On Sun, Aug 27, 2017 at 11:04:38AM -0400, Cole Robinson wrote: > Rather than require an explicit blacklist that needs to be extended > for every new VIDEO_TYPE > > Signed-off-by: Cole Robinson > --- > src/qemu/qemu_domain.c | 13 + > 1 file changed, 5

Re: [libvirt] security: the qemu agent command "guest-exec" may cause Insider Access

2017-08-28 Thread Peter Krempa
On Sat, Aug 26, 2017 at 01:05:46 +, Zhangbo (Oscar) wrote: > >On Fri, Aug 25, 2017 at 08:52:16 +, Zhangbo (Oscar) wrote: > >> >On Fri, Aug 25, 2017 at 06:45:18 +, Zhangbo (Oscar) wrote: [...] > >If you don't trust the host, don't use it. There's no protection from > >reading the

Re: [libvirt] [PATCH] spec: Own %{_libdir}/libvirt{, /connection-driver} dirs, mark licenses as %license

2017-08-28 Thread Peter Krempa
On Sun, Aug 27, 2017 at 12:35:07 -0400, Cole Robinson wrote: > From: Ville Skyttä > > https://bugzilla.redhat.com/show_bug.cgi?id=1483293 > Signed-off-by: Cole Robinson > --- Looks like two separate problems. Also the commit message is rather sparse.

Re: [libvirt] security: the qemu agent command "guest-exec" may cause Insider Access

2017-08-28 Thread Michal Privoznik
On 08/25/2017 12:41 PM, Martin Kletzander wrote: > On Fri, Aug 25, 2017 at 10:29:03AM +, Zhangbo (Oscar) wrote: >>> >>> Host can read all of the guest's memory or mount the image and modify >>> the guest agent. Or even add their own communication program that can >>> do anything. >>> >> >> I