|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 22/35] netboot: Break out subst_netboot_template
No functional change.
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
Osstest/TestSupport.pm | 31 +++++++++++++++++++------------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index bb72fe5..990ddbc 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -116,6 +116,7 @@ BEGIN {
await_webspace_fetch_byleaf create_webfile
file_link_contents get_timeout
setup_netboot_di setup_netboot_local host_netboot_file
+ subst_netboot_template
ether_prefix
@@ -2366,6 +2367,22 @@ sub file_link_contents ($$$) {
logm("wrote $fn". (defined $stash ? " (stashed as $stash)" : ""));
}
+sub subst_netboot_template ($$$) {
+ my ($templates, $v, $what) = (@_);
+ foreach my $pat (split /\s+/, $templates) {
+ # we skip patterns that contain any references to undefined %var%s
+ $pat =~ s{\%(\w*)\%}{
+ $1 eq '' ? '%' :
+ defined($v->{$1}) ? $v->{$1} :
+ next;
+ }ge;
+ # and return the first pattern we managed to completely substitute
+ return $pat;
+ }
+ die "no netboot template ($what) matched $templates ".
+ (join ",", sort keys %$v)." ?";
+}
+
sub host_netboot_file ($;$) {
my ($ho, $templatekeytail) = @_;
# returns the full netboot filename path
@@ -2394,18 +2411,8 @@ sub host_netboot_file ($;$) {
$v{'ipaddr'} = $ip;
$v{'ipaddrhex'} = sprintf "%02X%02X%02X%02X", split /\./, $ip;
}
- foreach my $pat (split /\s+/, $templates) {
- # we skip patterns that contain any references to undefined %var%s
- $pat =~ s{\%(\w*)\%}{
- $1 eq '' ? '%' :
- defined($v{$1}) ? $v{$1} :
- next;
- }ge;
- # and return the first pattern we managed to completely substitute
- return wantarray ? ($dir,$pat) : $dir.$pat;
- }
- die "no netboot template ($templatekey) matched $templates ".
- (join ",", sort keys %v)." ?";
+ my $got = subst_netboot_template($templates, \%v, $templatekey);
+ return wantarray ? ($dir,$got) : $dir.$got;
}
sub setup_netboot_bootcfg ($$) {
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |