From b3409356f34900a04bc3d5f82c61039cc39ce4b6 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 28 Sep 2011 15:45:13 +0200 Subject: [PATCH] implement openvz status update --- bin/pvestatd | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/bin/pvestatd b/bin/pvestatd index 4676250d..b119696a 100755 --- a/bin/pvestatd +++ b/bin/pvestatd @@ -13,6 +13,7 @@ use PVE::INotify; use PVE::Cluster qw(cfs_read_file); use PVE::Storage; use PVE::QemuServer; +use PVE::OpenVZ; use PVE::RPCEnvironment; $SIG{'__WARN__'} = sub { @@ -194,6 +195,31 @@ sub update_qemu_status { } } +sub update_openvz_status { + + my $ctime = time(); + + my $vmstatus = PVE::OpenVZ::vmstatus(); + + foreach my $vmid (keys %$vmstatus) { + my $d = $vmstatus->{$vmid}; + my $data; + if ($d->{status} eq 'running') { # running + $data = "$d->{uptime}:$d->{name}:$ctime:$d->{cpus}:$d->{cpu}:" . + "$d->{maxmem}:$d->{mem}:" . + "$d->{maxdisk}:$d->{disk}:" . + "$d->{netin}:$d->{netout}:" . + "$d->{diskread}:$d->{diskwrite}"; + } else { + $data = "0:$d->{name}:$ctime:$d->{cpus}::" . + "$d->{maxmem}::" . + "$d->{maxdisk}:$d->{disk}:" . + ":::"; + } + PVE::Cluster::broadcast_rrd("pve2-vm/$vmid", $data); + } +} + sub update_storage_status { my $cfg = cfs_read_file("storage.cfg"); @@ -240,6 +266,12 @@ sub update_status { $err = $@; syslog('err', "qemu status update error: $err") if $err; + eval { + update_openvz_status(); + }; + $err = $@; + syslog('err', "openvz status update error: $err") if $err; + eval { update_storage_status(); };