summaryrefslogtreecommitdiffstats
path: root/config-db
diff options
context:
space:
mode:
authorOliver Tappe2007-05-07 18:07:15 +0200
committerOliver Tappe2007-05-07 18:07:15 +0200
commit47b886b5e1b7a00ae3fb4d0cf247eab0353161dd (patch)
tree1fa33d963536863ae61c650e22d2bc154c89281c /config-db
parent* moved instantiateClass() from OpenSLX::Utils to OpenSLX::Basics (diff)
downloadcore-47b886b5e1b7a00ae3fb4d0cf247eab0353161dd.tar.gz
core-47b886b5e1b7a00ae3fb4d0cf247eab0353161dd.tar.xz
core-47b886b5e1b7a00ae3fb4d0cf247eab0353161dd.zip
* reworked construction of export-URI to be delegated into the respective
exporter module, as a result, the NBD-URLs are now correct * added 'nbd' as an alias for the 'nbd-squash' export type git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1024 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db')
-rw-r--r--config-db/OpenSLX/ConfigDB.pm27
1 files changed, 11 insertions, 16 deletions
diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm
index 971a9c8e..22584c10 100644
--- a/config-db/OpenSLX/ConfigDB.pm
+++ b/config-db/OpenSLX/ConfigDB.pm
@@ -940,41 +940,36 @@ sub aggregatedSystemFileInfoFor
my $self = shift;
my $system = shift;
+ my $info = { %$system };
+
my $export = $self->fetchExportByID($system->{export_id});
if (!defined $export) {
die _tr("DB-problem: system '%s' references export with id=%s, but that doesn't exist!",
$system->{name}, $system->{export_id});
}
+ $info->{'export'} = $export;
+
my $vendorOS = $self->fetchVendorOSByID($export->{vendor_os_id});
if (!defined $vendorOS) {
die _tr("DB-problem: export '%s' references vendor-OS with id=%s, but that doesn't exist!",
$export->{name}, $export->{vendor_os_id});
}
+ $info->{'vendor-os'} = $vendorOS;
+
my $kernelPath
= "$openslxConfig{'private-path'}/stage1/$vendorOS->{name}/boot";
+ $info->{'kernel-file'} = "$kernelPath/$system->{kernel}";
my $exportURI = $export->{'uri'};
if ($exportURI !~ m[\w]) {
# auto-generate export_uri if none has been given:
my $type = $export->{'type'};
- my $serverIpToken
- = length($export->{server_ip})
- ? $export->{server_ip}
- : generatePlaceholderFor('serverip');
- my $port
- = length($export->{port})
- ? ":$export->{port}"
- : '';
- $exportURI
- = $type.'://'.$serverIpToken.$port.$openslxConfig{'export-path'}
- .'/'.$type.'/'.$export->{name};
+ my $osExportEngine = instantiateClass("OpenSLX::OSExport::Engine");
+ $osExportEngine->initializeFromExisting($export->{name});
+ $exportURI = $osExportEngine->generateExportURI($export);
}
-
- my $info = { %$system };
- $info->{'kernel-file'} = "$kernelPath/$system->{kernel}";
$info->{'export-uri'} = $exportURI;
- $info->{'export'} = $export;
- $info->{'vendor-os'} = $vendorOS;
+
return $info;
}