diff mbox

[OSSTEST,09/11] ts-examine-hostprops-save: introduce a script to save properties

Message ID 20170728152637.20301-10-roger.pau@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Roger Pau Monne July 28, 2017, 3:26 p.m. UTC
The introduce script turns the properties stored in the runvars using
the format hostprop_$hotname_$prop=$val into host properties stored in
the database.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 ts-examine-hostprops-save | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100755 ts-examine-hostprops-save

Comments

Ian Jackson July 28, 2017, 3:50 p.m. UTC | #1
Roger Pau Monne writes ("[PATCH OSSTEST 09/11] ts-examine-hostprops-save: introduce a script to save properties"):
> The introduce script turns the properties stored in the runvars using
> the format hostprop_$hotname_$prop=$val into host properties stored in
> the database.
...
> +exit 0 if intended_blessing() ne "real";

Can we at least print a message in this case ?
TBH I think it might be better to actually fail.

> +logm("setting host properties");
> +
> +foreach my $k (sort keys %r) {
> +    next unless $k =~ m/^hostprop_([^_]*)_([^_]*)$/;
> +    my $hostname= $1;
> +    my $prop=$2;
> +
> +    logm("recording for $hostname $prop=$r{$k}");
> +    set_host_property($hostname, $prop, $r{$k});

My earlier comments mean you're going to have to call selecthost().

That means you are going to need to record the current hostname and
compare it to the one you have in $ho, or something.  (Otherwise
you'll call selecthost for every prop which would produce a lot of
undesirable noise.)

Ian.
diff mbox

Patch

diff --git a/ts-examine-hostprops-save b/ts-examine-hostprops-save
new file mode 100755
index 00000000..ce9a643d
--- /dev/null
+++ b/ts-examine-hostprops-save
@@ -0,0 +1,39 @@ 
+#!/usr/bin/perl -w
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2017 Citrix Inc.
+# 
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+use strict qw(vars);
+use DBI;
+use POSIX;
+
+unshift @INC, qw(.);
+use Osstest;
+use Osstest::TestSupport;
+
+tsreadconfig();
+
+exit 0 if intended_blessing() ne "real";
+
+logm("setting host properties");
+
+foreach my $k (sort keys %r) {
+    next unless $k =~ m/^hostprop_([^_]*)_([^_]*)$/;
+    my $hostname= $1;
+    my $prop=$2;
+
+    logm("recording for $hostname $prop=$r{$k}");
+    set_host_property($hostname, $prop, $r{$k});
+}