diff options
Diffstat (limited to 'config-db/OpenSLX')
-rw-r--r-- | config-db/OpenSLX/ConfigDB.pm | 18 | ||||
-rw-r--r-- | config-db/OpenSLX/DBSchema.pm | 20 | ||||
-rw-r--r-- | config-db/OpenSLX/MetaDB/Base.pm | 8 | ||||
-rw-r--r-- | config-db/OpenSLX/MetaDB/DBI.pm | 14 |
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 ################################################################################ |