summaryrefslogtreecommitdiffstats
path: root/config-db
diff options
context:
space:
mode:
authorOliver Tappe2006-10-29 18:27:06 +0100
committerOliver Tappe2006-10-29 18:27:06 +0100
commit41c709db08c33cb43debf02c23726adda810448a (patch)
treeaeb8136397a800e0b9407569d724c4b5d9624435 /config-db
parentCleanup, minor fix, formatting, comments, ... (diff)
downloadcore-41c709db08c33cb43debf02c23726adda810448a.tar.gz
core-41c709db08c33cb43debf02c23726adda810448a.tar.xz
core-41c709db08c33cb43debf02c23726adda810448a.zip
* added support for new table 'settings', which contains
the system-wide settings. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@489 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db')
-rw-r--r--config-db/OpenSLX/ConfigDB.pm18
-rw-r--r--config-db/OpenSLX/DBSchema.pm20
-rw-r--r--config-db/OpenSLX/MetaDB/Base.pm8
-rw-r--r--config-db/OpenSLX/MetaDB/DBI.pm14
4 files changed, 60 insertions, 0 deletions
diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm
index 39f59485..3323ed04 100644
--- a/config-db/OpenSLX/ConfigDB.pm
+++ b/config-db/OpenSLX/ConfigDB.pm
@@ -37,6 +37,7 @@ my @accessExports = qw(
fetchClientIDsOfGroup
fetchGroupsByFilter fetchGroupsByID fetchGroupIDsOfClient
fetchGroupIDsOfSystem
+ fetchSettings
);
my @manipulationExports = qw(
@@ -52,6 +53,7 @@ my @manipulationExports = qw(
addGroup removeGroup changeGroup
setClientIDsOfGroup addClientIDsToGroup removeClientIDsFromGroup
setSystemIDsOfGroup addSystemIDsToGroup removeSystemIDsFromGroup
+ changeSettings
emptyDatabase
);
@@ -381,6 +383,14 @@ sub fetchGroupIDsOfClient
return $confDB->{'meta-db'}->fetchGroupIDsOfClient($clientID);
}
+sub fetchSettings
+{
+ my $confDB = shift;
+
+ my @rows = $confDB->{'meta-db'}->fetchSettings();
+ return shift @rows;
+}
+
################################################################################
### data manipulation interface
################################################################################
@@ -774,6 +784,14 @@ sub emptyDatabase
removeVendorOS($confDB, \@vendorOSIDs);
}
+sub changeSettings
+{
+ my $confDB = shift;
+ my $settings = shift;
+
+ return $confDB->{'meta-db'}->changeSettings($settings);
+}
+
################################################################################
### data aggregation interface
################################################################################
diff --git a/config-db/OpenSLX/DBSchema.pm b/config-db/OpenSLX/DBSchema.pm
index df20d810..d88029c3 100644
--- a/config-db/OpenSLX/DBSchema.pm
+++ b/config-db/OpenSLX/DBSchema.pm
@@ -156,6 +156,14 @@ $DbSchema = {
'group_id:fk', # foreign key
'system_id:fk', # foreign key
],
+ 'settings' => [
+ # system-wide settings
+ 'use_absolute_tftp:b',
+ # whether or not the TFTP-server requires the
+ # use of absolute path names
+ 'default_nicmods:s.256',
+ # list of default network modules
+ ],
},
};
@@ -255,6 +263,18 @@ $DbSchema = {
'table' => 'group_system_ref',
'cols' => $DbSchema->{'tables'}->{'group_system_ref'},
},
+ {
+ 'cmd' => 'add-table',
+ 'table' => 'settings',
+ 'cols' => $DbSchema->{'tables'}->{'settings'},
+ 'vals' => [
+ { # add default configuration
+ 'use_absolute_tftp' => '0',
+ 'default_nicmods'
+ => 'forcedeth e1000 e100 tg3 via-rhine r8169 pcnet32',
+ },
+ ],
+ },
],
);
diff --git a/config-db/OpenSLX/MetaDB/Base.pm b/config-db/OpenSLX/MetaDB/Base.pm
index 6766e795..bc2a0dc9 100644
--- a/config-db/OpenSLX/MetaDB/Base.pm
+++ b/config-db/OpenSLX/MetaDB/Base.pm
@@ -108,6 +108,10 @@ sub fetchGroupIDsOfSystem
{
}
+sub fetchSettings
+{
+}
+
################################################################################
### data manipulation interface
################################################################################
@@ -204,6 +208,10 @@ sub setSystemIDsOfGroup
{
}
+sub changeSettings
+{
+}
+
################################################################################
### schema related functions
################################################################################
diff --git a/config-db/OpenSLX/MetaDB/DBI.pm b/config-db/OpenSLX/MetaDB/DBI.pm
index f42ac506..0159a03b 100644
--- a/config-db/OpenSLX/MetaDB/DBI.pm
+++ b/config-db/OpenSLX/MetaDB/DBI.pm
@@ -316,6 +316,13 @@ sub fetchGroupIDsOfClient
return $self->_doSelect($sql, 'group_id');
}
+sub fetchSettings
+{
+ my $self = shift;
+ my $sql = "SELECT * FROM settings";
+ return $self->_doSelect($sql);
+}
+
################################################################################
### data manipulation functions
################################################################################
@@ -683,6 +690,13 @@ sub setSystemIDsOfGroup
'group_id', 'system_id', \@currSystems);
}
+sub changeSettings
+{
+ my $self = shift;
+ my $settings = shift;
+ return $self->_doUpdate('settings', undef, [ $settings ]);
+}
+
################################################################################
### schema related functions
################################################################################