diff options
author | Sebastian Schmelzer | 2010-09-02 17:50:49 +0200 |
---|---|---|
committer | Sebastian Schmelzer | 2010-09-02 17:50:49 +0200 |
commit | 416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5 (patch) | |
tree | 4715f7d742fec50931017f38fe6ff0a89d4ceccc /os-plugins/plugins/xen | |
parent | Fix for the problem reported on the list (sed filter forgotten for the (diff) | |
download | core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.gz core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.xz core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.zip |
change dir structure
Diffstat (limited to 'os-plugins/plugins/xen')
-rw-r--r-- | os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm | 185 | ||||
-rw-r--r-- | os-plugins/plugins/xen/XX_xen.sh | 73 | ||||
-rw-r--r-- | os-plugins/plugins/xen/files/hvm.include | 209 | ||||
-rw-r--r-- | os-plugins/plugins/xen/files/machine.include | 167 | ||||
-rw-r--r-- | os-plugins/plugins/xen/files/run-virt.include | 157 | ||||
-rw-r--r-- | os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh | 4 | ||||
-rwxr-xr-x | os-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh | 30 |
7 files changed, 0 insertions, 825 deletions
diff --git a/os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm b/os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm deleted file mode 100644 index 12331983..00000000 --- a/os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright (c) 2010 - RZ Uni Freiburg -# Copyright (c) 2010 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# xen.pm -# - implementation of the 'xen' plugin -# ----------------------------------------------------------------------------- -package OpenSLX::OSPlugin::xen; - -use strict; -use warnings; - -use base qw(OpenSLX::OSPlugin::Base); - -use File::Path; - -use OpenSLX::Basics; -use OpenSLX::Utils; - -sub new -{ - my $class = shift; - - my $self = { - name => 'xen', - }; - - return bless $self, $class; -} - -sub getInfo -{ - my $self = shift; - - return { - description => unshiftHereDoc(<<' End-of-Here'), - Configures Xen diskless boot, no installation yet. - End-of-Here - precedence => 10, - }; -} - -sub getAttrInfo -{ - my $self = shift; - - return { - 'xen::active' => { - applies_to_systems => 1, - applies_to_clients => 1, - description => unshiftHereDoc(<<' End-of-Here'), - should the 'xen'-plugin be executed during boot? - End-of-Here - content_regex => qr{^(0|1)$}, - content_descr => '1 means active - 0 means inactive', - # set active to 0, later set specially created Xen system to 1 - default => '0', - }, - # attribute 'imagesrc' defines where we can find xen images - 'xen::imagesrc' => { - applies_to_systems => 1, - applies_to_clients => 1, - description => unshiftHereDoc(<<' End-of-Here'), - Where do we store our xen images? NFS? Filesystem? - End-of-Here - content_regex => qr{^(/|nfs://)}, - content_descr => 'local path or URI or "-" (unset)', - default => undef, - }, - # attribute 'tftpdir' defines TFTP dir for network boots /w NAT - 'xen::tftpdir' => { - applies_to_systems => 1, - applies_to_clients => 1, - description => unshiftHereDoc(<<' End-of-Here'), - Do you want to define a stage 4 TFTP dir for netwoork boots? - Needed to boot Xen via NFS, we only need the initramfs - Hint: Mount your TFTP ro via NFS to a local dir - End-of-Here - content_regex => qr{^(/)}, - content_descr => 'local path or "-" (unset)', - default => undef, - }, - }; -} - -sub installationPhase -{ - my $self = shift; - my $info = shift; - - $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'}; - $self->{openslxBasePath} = $info->{'openslx-base-path'}; - - # Copy run-virt.include and template files to the appropriate place for - # inclusion in stage4 - my $pluginName = $self->{'name'}; - my $pluginBasePath = - "$self->{openslxBasePath}/lib/plugins/$pluginName/files"; - - foreach my $file ( qw( run-virt.include machine.include hvm.include ) ) { - copyFile("$pluginBasePath/$file", "$self->{pluginRepositoryPath}/"); - chmod 0644, "$self->{pluginRepositoryPath}/$file"; - } - - return; -} - -sub removalPhase -{ - my $self = shift; - my $info = shift; - - return; -} - -sub suggestAdditionalKernelModules -{ - my $self = shift; - my $makeInitRamFSEngine = shift; - - my @suggestedModules; - - # Xen needs bridge module, for guests xennet and maybe xenblk - # earlier versions needed netloop - push @suggestedModules, qw( bridge xennet xenblk ); - - return @suggestedModules; -} - -#sub _xenLabel -#{ -# # set label for each Xen system -# foreach my $info (@$systemInfos) { -# if ($info->{xen::active} eq 1) { -# my $label = $info->{label} || ''; -# if (!length($label) || $label eq $info->{name}) { -# if ($info->{name} =~ m{^(.+)::(.+)$}) { -# my $system = $1; -# my $exportType = $2; -# $label = $system . "-xen" . ' ' x (36-length($system)) -# . $exportType; -# } else { -# $label = $info->{name}; -# } -# } -# } -# $info->{pxeLabel} = $label; -# } -# return $info; #??? -#} - -#sub _xenBootEntry -#{ -# # Xen entries look different -# # Example: -# # KERNEL mboot.c32 vendor-os/xen.gz dom0_mem=128000 --- -# # vendor-os/vmlinuz-xen debug=3 --- vendor-os/initramfs-1 -# # TODO: versionsort oder per attr? -# if ($info->{xen::active} eq 1) { -# my $xenKernel = slxsystem(ls /boot/xen* | sort | tail -n 1); -# $append .= " file=$bootURI" if length($bootURI); -# $append .= " file=$tftpPrefix" if length($tftpPrefix); -# $append .= " $clientAppend"; -# $append .= " --- $pxePrefix$vendorOSName/$info->{'initramfs-name'}"; -# $slxLabels .= "LABEL openslx-$info->{'external-id'}-xen\n"; -# # $slxLabels .= $pxeDefault; -# $slxLabels .= "\tMENU LABEL ^$info->{pxeLabel}\n"; -# $slxLabels .= "\tKERNEL mboot.c32\n"; -# $slxLabels .= "\tAPPEND $pxePrefix$vendorOSName/$xenKernel"; -# # $slxLabels .= " dom0_mem=128000"; -# $slxLabels .= " --- $pxePrefix$vendorOSName/$kernelName"; -# $slxLabels .= " --- $append\n"; -# $slxLabels .= "\tIPAPPEND 3\n"; -# } -# return $slxLabels; -#} - -1; diff --git a/os-plugins/plugins/xen/XX_xen.sh b/os-plugins/plugins/xen/XX_xen.sh deleted file mode 100644 index 7dddeee0..00000000 --- a/os-plugins/plugins/xen/XX_xen.sh +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (c) 2010 - RZ Uni Freiburg -# Copyright (c) 2010 - OpenSLX GmbH -# -# This program/file is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your feedback to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org -# -# stage3 part of 'xen' plugin - the runlevel script -# -# script is included from init via the "." load function - thus it has all -# variables and functions available - -# include default directories -. /etc/openslx.conf - -CONFFILE=/initramfs/plugin-conf/xen.conf -PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/xen -PLUGINDIR=/mnt/${OPENSLX_DEFAULT_DIR}/plugin-repo/xen -VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}/xen - -# check if the configuration file is available -if [ -e ${CONFFILE} ]; then - - # load needed variables - . ${CONFFILE} - - # Test if this plugin is activated... more or less useless with the - # new plugin system - if [ $xen_active -ne 0 2>/dev/null ]; then - - [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'xen' os-plugin ..."; - - # load general configuration - . /etc/initramfs-setup - - # get source of xen image server (get type, server and path) - if strinstr "/" "${xen_imagesrc}" ; then - vbimgprot=$(uri_token ${xen_imagesrc} prot) - vbimgserv=$(uri_token ${xen_imagesrc} server) - vbimgpath="$(uri_token ${xen_imagesrc} path)" - fi - if [ -n "${vbimgserv}" ] ; then - # directory where qemu images are expected in - mnttarget=${VIRTDIR} - # mount the xen image source readonly (ro) - fsmount ${vbimgprot} ${vbimgserv} ${vbimgpath} ${mnttarget} ro - else - [ $DEBUGLEVEL -gt 1 ] && \ - error " * Incomplete information in variable ${xen_imagesrc}." \ - nonfatal - fi - - # copy virtualization include files to config dir - testmkd ${PLUGINCONFDIR} - testmkd /mnt/var/log/xen - testmkd /mnt/var/run/xend - testmkd /mnt/var/run/xenstored - cp ${PLUGINDIR}/*.include ${PLUGINCONFDIR} - # copy ${CONFFILE} to ${PLUGINCONFDIR} just in case - cp ${CONFFILE} ${PLUGINCONFDIR} - - # activate init files - # TODO: in xen-slx start - # increase loop devices for loop images - modprobe -q loop max_loop=64 >/tmp/xen.log 2>&1 - rllinker "xendomains" 14 8 - rllinker "xend" 13 9 - fi -fi diff --git a/os-plugins/plugins/xen/files/hvm.include b/os-plugins/plugins/xen/files/hvm.include deleted file mode 100644 index beb9315a..00000000 --- a/os-plugins/plugins/xen/files/hvm.include +++ /dev/null @@ -1,209 +0,0 @@ -# This is an machine template for run-virt.include of the Xen plugin. -# This template was taken from an example in openSUSE 11.2 -# HVM template - -cat <<EOF -# -*- mode: python; -*- -#============================================================================ -# Python configuration setup for 'xm create'. -# This configuration was created through $0 on $(date) -#============================================================================ - -import os, re - -arch_libdir = 'lib' -arch = os.uname()[4] -if os.uname()[0] == 'Linux' and re.search('64', arch): - arch_libdir = 'lib64' - -#---------------------------------------------------------------------------- -# Kernel image file. -kernel = "/usr/lib/xen/boot/hvmloader" - -# The domain build function. HVM domain uses 'hvm'. -builder='hvm' - -# Initial memory allocation (in megabytes) for the new domain. -memory = ${mem} - -# Shadow pagetable memory for the domain, in MB. -# If not explicictly set, xend will pick an appropriate value. -# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu. -#shadow_memory = 8 - -# A name for your domain. All domains must have different names. -name = "${vm_name}" - -#----------------------------------------------------------------------------- -# The number of cpus guest platform has, default=1 -#vcpus=1 - -# Enable/disable HVM guest PAE, default=1 (enabled) -#pae=1 - -# Enable/disable HVM guest ACPI, default=1 (enabled) -#acpi=1 - -# Enable/disable HVM APIC mode, default=1 (enabled) -# Note that this option is ignored if vcpus > 1 -#apic=1 - -# Enable/disable extended power management support within HVM guest, i.e., beyond -# S3, S4, S5 within guest like exposing battery meter. -# 0 (default option, extended power management support disabled) -# 1 (pass-through mode; uses pass-through as needed; efficient but limited in scope) -# 2 (non pass-through mode; extended scope, likely to work on all applicable environment -# but comparitively less efficient than pass-through mode) -# xen_extended_power_mgmt=0 - -# List of which CPUS this domain is allowed to use, default Xen picks -#cpus = "" # leave to Xen to pick -#cpus = "0" # all vcpus run on CPU0 -#cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5 -#cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3 - -#---------------------------------------------------------------------------- -# Optionally define mac and/or bridge for the network interfaces. -# Random MACs are assigned if not given. -#vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci' ] -# type=ioemu specify the NIC is an ioemu device not netfront -#vif = [ 'type=ioemu, bridge=xenbr0' ] -vif = [ '${xen_vif}' ] - -#---------------------------------------------------------------------------- -# Define the disk devices you want the domain to have access to, and -# what you want them accessible as. -# Each disk entry is of the form phy:UNAME,DEV,MODE -# where UNAME is the device, DEV is the device name the domain will see, -# and MODE is r for read-only, w for read-write. -#disk = [ 'phy:hda1,hda1,r' ] -#disk = [ 'file:/var/lib/xen/images/disk.img,ioemu:hda,w', ',hdc:cdrom,r' ] -disk = [ '${xen_disk}' ] - -#---------------------------------------------------------------------------- -# Configure the behaviour when a domain exits. There are three 'reasons' -# for a domain to stop: poweroff, reboot, and crash. For each of these you -# may specify: -# "destroy", meaning that the domain is cleaned up as normal; -# "restart", meaning that a new domain is started in place of the old -# one; -# "preserve", meaning that no clean-up is done until the domain is -# manually destroyed (using xm destroy, for example); or -# "rename-restart", meaning that the old domain is not cleaned up, but is -# renamed and a new domain started in its place. -# In the event a domain stops due to a crash, you have the additional options: -# "coredump-destroy", meaning dump the crashed domain's core and then destroy; -# "coredump-restart', meaning dump the crashed domain's core and the restart. -# The default is -# on_poweroff = 'destroy' -# on_reboot = 'restart' -# on_crash = 'restart' -#on_poweroff = 'destroy' -#on_reboot = 'restart' -#on_crash = 'restart' - -#============================================================================ -# HVM specific -#============================================================================ -# Device Model to be used -device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm' - -#----------------------------------------------------------------------------- -# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d) -# default: hard disk, cd-rom, floppy -#boot="cda" - -#----------------------------------------------------------------------------- -# write to temporary files instead of disk image files -#snapshot=1 - -#---------------------------------------------------------------------------- -# enable SDL library for graphics, default = 0 -sdl=0 - -#---------------------------------------------------------------------------- -# enable OpenGL for texture rendering inside the SDL window, default = 1 -# valid only if sdl is enabled. -opengl=1 - -#---------------------------------------------------------------------------- -# enable VNC library for graphics, default = 1 -vnc=1 - -#---------------------------------------------------------------------------- -# address that should be listened on for the VNC server if vnc is set. -# default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp -#vnclisten="127.0.0.1" - -#---------------------------------------------------------------------------- -# set VNC display number, default = domid -#vncdisplay=1 - -#---------------------------------------------------------------------------- -# try to find an unused port for the VNC server, default = 1 -#vncunused=1 - -#---------------------------------------------------------------------------- -# set password for domain's VNC console -# default is depents on vncpasswd in xend-config.sxp -vncpasswd='' - -#---------------------------------------------------------------------------- -# no graphics, use serial port -#nographic=0 - -#---------------------------------------------------------------------------- -# enable stdvga, default = 0 (use cirrus logic device model) -stdvga=0 - -#----------------------------------------------------------------------------- -# serial port re-direct to pty deivce, /dev/pts/n -# then xm console or minicom can connect -serial='pty' - - -#----------------------------------------------------------------------------- -# Qemu Monitor, default is disable -# Use ctrl-alt-2 to connect -#monitor=1 - - -#----------------------------------------------------------------------------- -# enable sound card support, [sb16|es1370|all|..,..], default none -#soundhw='sb16' - - -#----------------------------------------------------------------------------- -# set the real time clock to local time [default=0 i.e. set to utc] -#localtime=1 - - -#----------------------------------------------------------------------------- -# set the real time clock offset in seconds [default=0 i.e. same as dom0] -#rtc_timeoffset=3600 - -#----------------------------------------------------------------------------- -# start in full screen -#full-screen=1 - - -#----------------------------------------------------------------------------- -# Enable USB support (specific devices specified at runtime through the -# monitor window) -#usb=1 -# Enable USB mouse support (only enable one of the following, `mouse' for -# PS/2 protocol relative mouse, `tablet' for -# absolute mouse) -#usbdevice='mouse' -#usbdevice='tablet' - -#----------------------------------------------------------------------------- -# Set keyboard layout, default is en-us keyboard. -#keymap='de' - -#----------------------------------------------------------------------------- -# Enable/disable xen platform PCI device, default=1 (enabled) -#xen_platform_pci=1 - -#============================================================================ -EOF diff --git a/os-plugins/plugins/xen/files/machine.include b/os-plugins/plugins/xen/files/machine.include deleted file mode 100644 index 06848949..00000000 --- a/os-plugins/plugins/xen/files/machine.include +++ /dev/null @@ -1,167 +0,0 @@ -# This is an machine template for run-virt.include of the Xen plugin. -# This template was taken from an example in openSUSE 11.2 - -cat <<EOF -# -*- mode: python; -*- -#============================================================================ -# Python configuration setup for 'xm create'. -# This configuration was created through $0 on $(date) -#============================================================================ - -#---------------------------------------------------------------------------- -# Kernel image file and (optional) ramdisk (initrd). -kernel = "${xen_kernel}" -ramdisk = "${xen_ramdisk}" - -# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS -#bootloader = "/usr/lib/xen/boot/domUloader.py" -#bootentry = "hda1:/${xen_kernel},/${xen_ramdisk}" -# TODO: check these: -#bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen" - -localtime=0 - -# The domain build function. Default is 'linux', HVM domain uses 'hvm'. -builder = 'linux' - -# Initial memory allocation (in megabytes) for the new domain. -memory = ${mem} - -# A name for your domain. All domains must have different names. -name = "${vm_name}" - -# List of which CPUS this domain is allowed to use, default Xen picks -#cpus = "" # leave to Xen to pick -#cpus = "0" # all vcpus run on CPU0 -#cpus = "0-3,5,^1" # run on cpus 0,2,3,5 -#cpus = "${xen_cpus}" - -# Number of Virtual CPUS to use, default is 1 -#vcpus = ${xen_vcpus} - -#---------------------------------------------------------------------------- -# Define network interfaces. - -# By default, no network interfaces are configured. You may have one created -# with sensible defaults using an empty vif clause: -# vif = [ '' ] -# or optionally override backend, bridge, ip, mac, script, type, or vifname: -# vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ] -# or more than one interface may be configured: -# vif = [ '', 'bridge=xenbr1' ] -vif = [ '${xen_vif}' ] - -#---------------------------------------------------------------------------- -# Define the disk devices you want the domain to have access to, and -# what you want them accessible as. -# Each disk entry is of the form phy:UNAME,DEV,MODE -# where UNAME is the device, DEV is the device name the domain will see, -# and MODE is r for read-only, w for read-write. -# disk = [ 'phy:hda1,hda1,w' ] -${xen_disk} - -#---------------------------------------------------------------------------- -# Define frame buffer device. -# By default, no frame buffer device is configured. -# To create one using the SDL backend and sensible defaults: -# vfb = [ 'type=sdl' ] -# This uses environment variables XAUTHORITY and DISPLAY. You -# can override that: -# vfb = [ 'type=sdl,xauthority=/home/bozo/.Xauthority,display=:1' ] -# To create one using the VNC backend and sensible defaults: -# vfb = [ 'type=vnc' ] -# The backend listens on 127.0.0.1 port 5900+N by default, where N is -# the domain ID. You can override both address and N: -# vfb = [ 'type=vnc,vnclisten=127.0.0.1,vncdisplay=1' ] -# Or you can bind the first unused port above 5900: -# vfb = [ 'type=vnc,vnclisten=0.0.0.0,vnunused=1' ] -# You can override the password: -# vfb = [ 'type=vnc,vncpasswd=MYPASSWD' ] -# Empty password disables authentication. Defaults to the vncpasswd -# configured in xend-config.sxp. - -#---------------------------------------------------------------------------- -# Define to which TPM instance the user domain should communicate. -# The vtpm entry is of the form 'instance=INSTANCE,backend=DOM' -# where INSTANCE indicates the instance number of the TPM the VM -# should be talking to and DOM provides the domain where the backend -# is located. -# Note that no two virtual machines should try to connect to the same -# TPM instance. The handling of all TPM instances does require -# some management effort in so far that VM configration files (and thus -# a VM) should be associated with a TPM instance throughout the lifetime -# of the VM / VM configuration file. The instance number must be -# greater or equal to 1. -#vtpm = [ 'instance=1,backend=0' ] - -#---------------------------------------------------------------------------- -# Set the kernel command line for the new domain. -# You only need to define the IP parameters and hostname if the domain's -# IP config doesn't, e.g. in ifcfg-eth0 or via DHCP. -# You can use 'extra' to set the runlevel and custom environment -# variables used by custom rc scripts (e.g. VMID=, usr= ). - -# Set if you want dhcp to allocate the IP address. -dhcp="${xen_dhcp}" -# Set netmask. -#netmask= -# Set default gateway. -#gateway= -# Set the hostname. -hostname= "${hostname}" - -# Set root device (eg. /dev/hda1). -root = "${xen_root}" - -# Root device for nfs. -#root = "/dev/nfs" -# The nfs server. -#nfs_server = '169.254.1.0' -# Root directory on the nfs server. -#nfs_root = '/full/path/to/root/directory' - -# Extra arguments to pass to the kernel. -# Eg: set runlevel -extra = "${xen_extra}" - -#---------------------------------------------------------------------------- -# Configure the behaviour when a domain exits. There are three 'reasons' -# for a domain to stop: poweroff, reboot, and crash. For each of these you -# may specify: -# "destroy", meaning that the domain is cleaned up as normal; -# "restart", meaning that a new domain is started in place of the old -# one; -# "preserve", meaning that no clean-up is done until the domain is -# manually destroyed (using xm destroy, for example); or -# "rename-restart", meaning that the old domain is not cleaned up, but is -# renamed and a new domain started in its place. -# In the event a domain stops due to a crash, you have the additional options: -# "coredump-destroy", meaning dump the crashed domain's core and then destroy; -# "coredump-restart', meaning dump the crashed domain's core and the restart. -# The default is -# on_poweroff = 'destroy' -# on_reboot = 'restart' -# on_crash = 'restart' -#on_poweroff = 'destroy' -#on_reboot = 'restart' -#on_crash = 'restart' - -#----------------------------------------------------------------------------- -# Configure PVSCSI devices: -# PDEV gives physical SCSI device to be attached to specified guest -# domain by one of the following identifier format. -# - XX:XX:XX:XX (4-tuples with decimal notation which shows -# "host:channel:target:lun") -# - /dev/sdxx or sdx -# - /dev/stxx or stx -# - /dev/sgxx or sgx -# - result of 'scsi_id -gu -s'. -# ex. # scsi_id -gu -s /block/sdb -# 36000b5d0006a0000006a0257004c0000 -# VDEV gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as -# which the specified guest domain recognize. -#vscsi = [ 'PDEV, VDEV' ] -#vscsi = [ '/dev/sdx, 0:0:0:0' ] - -#============================================================================ -EOF diff --git a/os-plugins/plugins/xen/files/run-virt.include b/os-plugins/plugins/xen/files/run-virt.include deleted file mode 100644 index 36a1d1f4..00000000 --- a/os-plugins/plugins/xen/files/run-virt.include +++ /dev/null @@ -1,157 +0,0 @@ -# run-virt.include -# ----------------------------------------------------------------------------- -# Copyright (c) 2010 - RZ Uni Freiburg -# Copyright (c) 2010 - OpenSLX GmbH -# -# This program/file is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your feedback to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org -# ----------------------------------------------------------------------------- -# run-virt.include -# - Include script for running Xen on an OpenSLX client via the run-virt.sh -# or run-vmgrid.sh -################################################################################ - -################################################################################ -### Include general configuration -################################################################################ -if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf ]; then - . ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf -else - writelog "Problems reading config file of ${self} plugin" - exit 1 -fi - -################################################################################ -### Declaration of default variables -################################################################################ - -PLUGINCONFXEN="${PLUGINCONFROOT}/${self}" -# create TMPDIR for all users -mkdir -m 1777 /tmp/${self} 2>/dev/null -# dir for configs -confdir="/tmp/${self}/${USER}/${VM_ID}" -# use vm_shortname for VM name since vm_name can be very long -# add id so we can start more tahn one of the same image -vm_name="${vm_shortname}-${VM_ID}" -conffile=${confdir}/${vm_name} -# define dirs and files which can be removed after exit, be carefull! -rm -rf ${confdir} 2>/dev/null -mkdir -p ${confdir} 2>/dev/null - -xen_kernel=${kernel:-"/boot/vmlinuz-xen"} -xen_ramdisk=${initramfs:-"/boot/initrd-xen"} -xen_extra="xencons=tty 3" -[ -n "${imgname}" ] && xen_disk="disk = [ 'file:${vmpath},hda1,r' ]" - -writelog "Directories:" -writelog "\tConfig dir:\t\t$confdir" - -################################################################################ -### Hardware checks -################################################################################ - -# memory part equal to vmware plugin -# percentage of memory to use for virtualbox in standard case -if [ -n "${forcemem}" ]; then - mem="${forcemem}" -else - permem=30 - if [ "${totalmem}" -ge "1600" ]; then - permem=40 - fi - # check if /tmp is on harddisk - if grep -qe "/dev/.* /tmp " /proc/mounts ; then - permem=60 - id44="1" - # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well - # (40% vmware | 40% confdir(vmem...) | 20% host - # VMplayer 2+ issue - # TODO: makes this sense for vbox? - #if [ "${totalmem}" -ge "2500" ]; then - #permem=40 - #rmdir ${snapshotdir} - #snapshotdirold=${snapshotdir} - #snapshotdir=/dev/shm/${self}/${USER}/${VM_ID} - #mkdir -p ${snapshotdir} - #ln -sf ${snapshotdir} ${snapshotdirold} - #fi - fi - mem=$(expr ${totalmem} / 100 \* ${permem}) - if [ "${id44}" = "1" ]; then - memhost=$(expr ${totalmem} - ${mem}) - else - memhost=$(expr ${totalmem} - ${mem} - ${mem}) - fi - #permem=40 - #mem=$(expr ${totalmem} * ${permem}) - if [ "${mem}" -lt "256" ] || [ "${memhost}" -lt "256" ]; then - writelog "Memory out of range: ${mem} MB (guest) / ${memhost} MB (host)!" - writelog "Min. 256 MB for host and guest!" - exit 1 - fi -fi - -# translate network kinds (nat, bridged, host-only) -case "${network_kind}" in - bridge*) - xen_vif="mac=$macaddr, bridge=br0" - ;; - *) - xen_vif="mac=$macaddr" -esac -xen_dhcp="dhcp" # off - -# translate boot, use if set else set to disk -xen_root=/dev/hda1 -case ${boot} in - n*|tftp) - pxe_label=$(grep -o 'pxe_label param=.*"' ${xmlfile} \ - | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}') - pxe_label=$(grep -A 3 "^LABEL *${pxe_label}" \ - ${xen_tftpdir}/pxelinux.cfg/default 2>/dev/null \ - | grep "^ *KERNEL ") - if [ -n "${pxe_label}" ] && [ -n "${xen_tftpdir}" ]; then - xen_root=/dev/nfs - xen_kernel="${xen_tftpdir}/$(echo ${pxe_label} \ - | awk -F " --- " '{print $2}' | awk '{print $1}')" - xen_ramdisk="${xen_tftpdir}/$(echo ${pxe_label} \ - | awk -F " --- " '{print $3}')" - fi - ;; - # later maybe c|disk|hd*|sd*) for HD and d|cd*) for CD-ROM - *) - xen_root=/dev/hda1 - ;; -esac - -[ ${diskless} -eq 0 ] && writelog "Diskimage:" -[ ${diskless} -eq 0 ] && writelog "\tMachine diskfile:\t$vmpath" -writelog "Virtual Hardware:" -writelog "\tGuest RAM:\t\t${mem} MB" -# echo nur wenn memhost gesetzt -[ -n "${memhost}" ] && writelog "\tHost RAM:\t\t${memhost} MB" -writelog "\tMAC address:\t\t$macaddr" - -################################################################################ -### Pepare and configure virtual machine and disk image -################################################################################ - -. ${PLUGINCONFXEN}/machine.include > ${conffile} - -################################################################################ -### finally set env for run-virt.sh -################################################################################ - -# set the variables appropriately (several interfaces with different names) -VIRTCMD=$(which xm 2>/dev/null) -# '-c' for console, no graphical output available, later vnc possible -VIRTCMDOPTS="create -c ${conffile}" - -# set headless mode -VIRTCMDHL=$(which xm 2>/dev/null) -VIRTCMDOPTSHL="create ${conffile}" diff --git a/os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh b/os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh deleted file mode 100644 index d514b68d..00000000 --- a/os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh +++ /dev/null @@ -1,4 +0,0 @@ -# load xennet if necessary, usualy within a NFS VM -if grep -q "Xen Virtual Ethernet Card" /etc/hwinfo.netcard-usbctrl; then - modprobe xennet >/tmp/xennet.log 2>&1 -fi diff --git a/os-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh b/os-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh deleted file mode 100755 index d5245234..00000000 --- a/os-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Copyright (c) 2009 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your feedback to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org -# -# Init hook to create a bridge on the active network interface -# (should be kept identical to the files of virtualbox and qemukvm plugins) -############################################################################# - -local bridge=br0 -local brnwif=${nwif} -local nwifmac=${macaddr} - -# bridge 0 already defined or some other problem -brctl addbr ${bridge} || exit 0 -brctl stp ${bridge} 0 -brctl setfd ${bridge} 0.000000000001 -ip link set addr ${nwifmac} ${bridge} -ip link set dev ${nwif} up -brctl addif ${bridge} ${nwif} - -# fixme: sending back the variable to init does not work properly at the -# moment -nwif=${bridge} |