diff options
author | Oliver Tappe | 2007-03-15 22:41:10 +0100 |
---|---|---|
committer | Oliver Tappe | 2007-03-15 22:41:10 +0100 |
commit | 03db5fcadee81bd5ce66665f18b611e106783c27 (patch) | |
tree | 1071ff956228157c52fbd5b5087ca8928b37d0f9 /config-db/OpenSLX/DBSchema.pm | |
parent | * removed 'nbd' from supported export types as I have learned from Dirk yeste... (diff) | |
download | core-03db5fcadee81bd5ce66665f18b611e106783c27.tar.gz core-03db5fcadee81bd5ce66665f18b611e106783c27.tar.xz core-03db5fcadee81bd5ce66665f18b611e106783c27.zip |
* largish overhaul, changed ConfigDB to be object-oriented (could be improved, though!)
* slxos-setup, slxos-export, slxconfig and slxconfig-demuxer can now be run one after the
other in order to get a complete setup
* still problems when trying to boot that system here, need to investigate...
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@774 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/OpenSLX/DBSchema.pm')
-rw-r--r-- | config-db/OpenSLX/DBSchema.pm | 77 |
1 files changed, 38 insertions, 39 deletions
diff --git a/config-db/OpenSLX/DBSchema.pm b/config-db/OpenSLX/DBSchema.pm index 6d5400ad..0a141137 100644 --- a/config-db/OpenSLX/DBSchema.pm +++ b/config-db/OpenSLX/DBSchema.pm @@ -59,50 +59,47 @@ $DbSchema = { 'schema_version:s.5', # schema-version currently implemented by DB ], 'vendor_os' => [ - # a vendor os describes a folder containing an operating system as + # 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.48', # structured name of OS installation - # (e.g. suse-9.3-minimal, suse-9.3-kde, - # debian-3.1-ppc) - 'comment:s.1024', # internal comment (optional, for admins) - 'path:s.256', # path to os filesystem root + 'id:pk', # primary key + 'name:s.48', # structured name of OS installation + # (e.g. suse-9.3-kde, debian-3.1-ppc, + # suse-10.2-cloned-from-kiwi). + # This is used as the folder name for the + # corresponding stage1, too. + 'comment:s.1024', # internal comment (optional, for admins) + 'clone_source:s.256', # if vendor-OS was cloned, this contains + # the rsync-URI pointing to the original ], - 'system' => [ - # a system describes one bootable instance of a vendor os + 'export' => [ + # an export describes a vendor-OS "wrapped" in some kind of exporting + # format (NFS or NBD-squash). This represents the rootfs that the + # clients will see. 'id:pk', # primary key + 'name:s.64', # unique name of export, is automatically + # constructed like this: + # <vendor-os-name>-<export-type> 'vendor_os_id:fk', # foreign key - 'name:s.48', # 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', # name visible to user (pxe-label) 'comment:s.1024', # internal comment (optional, for admins) - 'export_type:s.10', # 'nbd', 'nbd-squash', 'nfs', ... - 'export_uri:s.256', # path to export (NDB-image or NFS-path), if + 'export_type:s.10', # 'nbd-squash', 'nfs', ... + 'export_uri:s.256', # path to export (squashfs or NFS-path), if # empty it will be auto-generated by # config-demuxer - 'kernel:s.128', # path to kernel file, relative to OS root - 'kernel_params:s.512', # kernel-param string for pxe - 'ramfs_debug_level:i', # debug level for initramfs-generator-script - 'ramfs_use_glibc:b', # use glibc in ramfs - 'ramfs_use_busybox:b', # use busybox in ramfs - 'ramfs_nicmods:s.128', # list of network interface card modules - 'ramfs_fsmods:s.128', # list of filesystem modules - 'ramfs_screen:s.10', # screen size for splash - 'hidden:b', # hidden systems won't be offered for booting - @sharedAttributes, ], - 'system_variant' => [ - # a system_variant describes an alternative boot setup for a system - # which will always be offered if the systems itself is offered by - # a client + 'system' => [ + # a system describes one bootable instance of an export, it + # represents a selectable line in the PXE boot menu of all the + # clients associated with this system 'id:pk', # primary key - 'name_addition:s.48', # string added to system name in order to - # get a unique system name - 'system_id:fk', # foreign key - 'label_addition:s.64', # visible name part (added to pxe-label) + 'export_id:fk', # foreign key + 'name:s.64', # unique name of system, is automatically + # constructed like this: + # <vendor-os-name>-<export-type>-<kernel> + 'label:s.64', # name visible to user (pxe-label) + # if empty, this will be autocreated from + # the name 'comment:s.1024', # internal comment (optional, for admins) - 'kernel:s.128', # name of kernel file + 'kernel:s.128', # path to kernel file, relative to /boot 'kernel_params:s.512', # kernel-param string for pxe 'ramfs_debug_level:i', # debug level for initramfs-generator-script 'ramfs_use_glibc:b', # use glibc in ramfs @@ -110,6 +107,8 @@ $DbSchema = { 'ramfs_nicmods:s.128', # list of network interface card modules 'ramfs_fsmods:s.128', # list of filesystem modules 'ramfs_screen:s.10', # screen size for splash + 'hidden:b', # hidden systems won't be offered for booting + @sharedAttributes, ], 'client' => [ # a client is a PC booting via network @@ -211,6 +210,11 @@ $DbSchema = { }, { 'cmd' => 'add-table', + 'table' => 'export', + 'cols' => $DbSchema->{'tables'}->{'export'}, + }, + { + 'cmd' => 'add-table', 'table' => 'system', 'cols' => $DbSchema->{'tables'}->{'system'}, 'vals' => [ @@ -223,11 +227,6 @@ $DbSchema = { }, { 'cmd' => 'add-table', - 'table' => 'system_variant', - 'cols' => $DbSchema->{'tables'}->{'system_variant'}, - }, - { - 'cmd' => 'add-table', 'table' => 'client', 'cols' => $DbSchema->{'tables'}->{'client'}, 'vals' => [ |