|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [OSSTEST PATCH v2 1/2] host props/flags: Break out blessing_must_not_modify_host
This return value convention is convenient for the callers, since they
want to print a message when we mayn't modify.
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
Osstest.pm | 10 +++++++++-
Osstest/HostDB/Executive.pm | 4 ++--
ts-examine-hostprops-save | 4 ++--
3 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/Osstest.pm b/Osstest.pm
index 27136bc9..54f0085c 100644
--- a/Osstest.pm
+++ b/Osstest.pm
@@ -40,7 +40,7 @@ BEGIN {
$dbh_tests db_retry db_retry_retry db_retry_abort
db_readonly_report
db_begin_work db_prepare
- get_harness_rev
+ get_harness_rev blessing_must_not_modify_host
ensuredir get_filecontents_core_quiet system_checked
nonempty visible_undef show_abs_time
%arch_debian2xen %arch_xen2debian
@@ -407,6 +407,14 @@ sub get_harness_rev () {
return $rev;
}
+sub blessing_must_not_modify_host ($) {
+ # returns '' (falseish) if we may modify a host's props etc.,
+ # or a trueish string message if may not
+ my ($intended_blessing) = @_;
+ return '' if $intended_blessing eq "real";
+ return "intended blessing $intended_blessing != real";
+}
+
sub get_filecontents_core_quiet ($) { # ENOENT => undef
my ($path) = @_;
if (!open GFC, '<', $path) {
diff --git a/Osstest/HostDB/Executive.pm b/Osstest/HostDB/Executive.pm
index a6dc4462..41cce046 100644
--- a/Osstest/HostDB/Executive.pm
+++ b/Osstest/HostDB/Executive.pm
@@ -55,8 +55,8 @@ sub modify_host ($$$) {
my ($hd, $ho, $query) = @_;
my $blessing = intended_blessing();
- die "Attempting to modify host with intended blessing $blessing != real"
- if $blessing ne "real";
+ my $wrong = blessing_must_not_modify_host($blessing);
+ die "Attempting to modify host but $wrong" if $wrong;
db_retry($dbh_tests, [qw(resources)], $query);
}
diff --git a/ts-examine-hostprops-save b/ts-examine-hostprops-save
index e50ea7fb..0c39b864 100755
--- a/ts-examine-hostprops-save
+++ b/ts-examine-hostprops-save
@@ -31,8 +31,8 @@ logm("setting host properties and flags");
# NB: in order to aid debug only attempt to save the host props on flights
# with intended real blessing, for the rest just do a dry run.
-our $dry_run = $blessing ne "real";
-logm("not saving host props/flags with intended blessing $blessing != real")
+our $dry_run = blessing_must_not_modify_host($blessing);
+logm("not saving host props/flags ($dry_run)")
if $dry_run;
foreach my $k (sort keys %r) {
--
2.11.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |