aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetter Reinholdtsen <pere@hungry.com>2007-11-23 20:03:25 +0000
committerPetter Reinholdtsen <pere@hungry.com>2007-11-23 20:03:25 +0000
commit00b996c068fe17ff4c2271e44d91bd1a92f6aa76 (patch)
treeb4d48905ff6776e2b7936f9d0bb57b3d4654e949
parentac842568a1885d0b8c52cfc07f779d92be4e0cb2 (diff)
downloadsitesummary-00b996c068fe17ff4c2271e44d91bd1a92f6aa76.tar.gz
sitesummary-00b996c068fe17ff4c2271e44d91bd1a92f6aa76.tar.bz2
sitesummary-00b996c068fe17ff4c2271e44d91bd1a92f6aa76.tar.xz
* Add -l option to kernelversion-summary, to get it to list the
individual hosts with the given kernel version.
-rw-r--r--debian/changelog7
-rwxr-xr-xkernelversion-summary31
2 files changed, 35 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index bda4145..96d04c8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+sitesummary (0.0.31) UNRELEASED; urgency=low
+
+ * Add -l option to kernelversion-summary, to get it to list the
+ individual hosts with the given kernel version.
+
+ -- Petter Reinholdtsen <pere@debian.org> Fri, 23 Nov 2007 21:02:44 +0100
+
sitesummary (0.0.30) unstable; urgency=low
* Change default apache setup to allow everyone read access to
diff --git a/kernelversion-summary b/kernelversion-summary
index 0298004..a80b936 100755
--- a/kernelversion-summary
+++ b/kernelversion-summary
@@ -4,8 +4,21 @@ use strict;
use warnings;
use SiteSummary;
+use Getopt::Std;
my %kernelvers;
+my %opts;
+
+sub usage {
+ my $retval = shift;
+ print <<EOF;
+Usage: $0 [-l]
+ -l list hosts using the given kernel versions
+EOF
+ exit $retval;
+}
+
+getopt("l", \%opts) || usage(1);
for_all_hosts(\&handle_host);
@@ -15,14 +28,26 @@ sub handle_host {
my $hostid = shift;
#print "$hostid\n";
for my $kver (get_linux_kernel_ver($hostid)) {
- $kver = "" unless defined $kver;
- $kernelvers{$kver}++;
+ $kver = "" unless defined $kver;
+ if (exists $kernelvers{$kver}) {
+ push @{$kernelvers{$kver}}, $hostid ;
+ } else {
+ $kernelvers{$kver} = [$hostid];
+ }
}
}
sub print_summary {
printf(" %-20s %5s\n", "kernel", "count");
for my $kver (sort keys %kernelvers) {
- printf(" %-20s %5d\n", $kver, $kernelvers{$kver});
+ printf(" %-20s %5d\n", $kver, scalar @{$kernelvers{$kver}});
+ if (exists $opts{l}) {
+ for my $hostid (@{$kernelvers{$kver}}) {
+ my $hostname = get_hostname($hostid);
+ my $site = get_site($hostid) || "";
+ my $sitegroup = get_sitegroup($hostid) || "";
+ printf " %s %s/%s %s\n", $hostname, $site, $sitegroup, $hostid;
+ }
+ }
}
}