summaryrefslogtreecommitdiffstats
path: root/config-db
diff options
context:
space:
mode:
authorOliver Tappe2006-08-14 12:02:52 +0200
committerOliver Tappe2006-08-14 12:02:52 +0200
commit10697701d2f5f7bb2f2f03881407b7a7236d62cb (patch)
treebcf2c84bcdfa78ac161017e46822ebb3b31c50bd /config-db
parentChanges for new filesystem structure (see BootRootVerzeichnisse) and (diff)
downloadcore-10697701d2f5f7bb2f2f03881407b7a7236d62cb.tar.gz
core-10697701d2f5f7bb2f2f03881407b7a7236d62cb.tar.xz
core-10697701d2f5f7bb2f2f03881407b7a7236d62cb.zip
* added table 'vendor_os' which represents an os-"image" as provided by
the os vendor. Each system now refers to one vendor_os. * improved comments somewhat, still not complete, though git-svn-id: http://svn.openslx.org/svn/openslx/trunk@295 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db')
-rw-r--r--config-db/ODLX/DBSchema.pm54
1 files changed, 44 insertions, 10 deletions
diff --git a/config-db/ODLX/DBSchema.pm b/config-db/ODLX/DBSchema.pm
index b378cd0a..ec6451a6 100644
--- a/config-db/ODLX/DBSchema.pm
+++ b/config-db/ODLX/DBSchema.pm
@@ -13,6 +13,8 @@ $VERSION = 0.01;
use vars qw($DbSchema %DbSchemaHistory);
+# TODO: copy attributes from installer/default_files/dhcp.conf
+
################################################################################
### DB-schema definition
### This hash-ref describes the current ODLX configuration database schema.
@@ -34,17 +36,29 @@ $DbSchema = {
# information about the database as such
'schema_version:s.5', # schema-version currently implemented by DB
],
- 'system' => [
- # a system describes a bootable instance of an os
+ 'vendor_os' => [
+ # a vendor os describes a folder containing an operating system as provided by the
+ # vendor (a.k.a. unchanged and thus updatable)
'id:pk', # primary key
- 'name:s.128', # visible name (pxe-label)
- 'descr:s.1024', # internal description (for admins)
- 'path:s.256', # path to image
- 'os_type:s.20', # type of OS (Linux, ...)
- 'os_name:s.80', # name of OS (opensuse-10.1, Kubuntu-1, ...)
- 'kernel:s.128', # name of kernel file
- 'initrd:s.128', # name of initrd file
- 'hidden:b' # hidden systems won't be offered for booting
+ 'name:s.32', # structured name of OS installation (e.g. suse-9.3-minimal,
+ # suse-9.3-kde, debian-3.1-ppc)
+ 'descr:s.1024', # internal description (optional, for admins)
+ 'path:s.256', # path to os filesystem root
+ ],
+ 'system' => [
+ # a system describes one bootable instance of a vendor os
+ 'id:pk', # primary key
+ 'vendor_os:fk', # foreign key
+ 'name:s.32', # name used in filesystem and passed to kernel via cmdline arg
+ # (e.g.: suse-9.3-minimal, suse-9.3-minimal-nbd, ...)
+ 'label:s.128', # visible name (pxe-label)
+ 'descr:s.1024', # internal description (optional, for admins)
+ 'export_uri:s.256', # path to export (NDB-image or NFS-path)
+ 'tftp_uri:s.256', # path to tftp export directory
+ 'kernel:s.128', # name of kernel file
+ 'kernel_params:s.512', # kernel-param string for pxe
+ 'initramfs:s.128', # name of initrd file
+ 'hidden:b', # hidden systems won't be offered for booting
],
'client' => [
# a client is a PC booting via net
@@ -86,6 +100,21 @@ $DbSchema = {
### 'cols' => contains a list of column descriptions
### 'vals' => optional, contains list of data hashes to be inserted
### into new table
+### drop-table => drops an existing table
+### 'table => contains the name of the table to be dropped
+### rename-table => renames a table
+### 'old-table' => contains the old name of the table
+### 'new-table' => contains the new name of the table
+### add-columns => adds columns to a table
+### 'table' => the name of the table the columns should be added to
+### 'new-cols' => contains a list of new column descriptions
+### 'new-default-vals' => optional, a list of data hashes to be used
+### as default values for the new columns
+### 'cols' => contains a list of column descriptions
+### drop-columns => drops columns from a table
+### 'table' => the name of the table the columns should be dropped from
+### 'col-changes' => a hash with changed column descriptions
+### 'cols' => contains a full list of resulting column descriptions
################################################################################
%DbSchemaHistory = (
@@ -103,6 +132,11 @@ $DbSchema = {
},
{
'cmd' => 'add-table',
+ 'table' => 'vendor_os',
+ 'cols' => $DbSchema->{'tables'}->{'vendor_os'},
+ },
+ {
+ 'cmd' => 'add-table',
'table' => 'system',
'cols' => $DbSchema->{'tables'}->{'system'},
'vals' => [