diff options
author | Oliver Tappe | 2007-05-07 18:07:15 +0200 |
---|---|---|
committer | Oliver Tappe | 2007-05-07 18:07:15 +0200 |
commit | 47b886b5e1b7a00ae3fb4d0cf247eab0353161dd (patch) | |
tree | 1fa33d963536863ae61c650e22d2bc154c89281c /config-db | |
parent | * moved instantiateClass() from OpenSLX::Utils to OpenSLX::Basics (diff) | |
download | core-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.pm | 27 |
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; } |