summaryrefslogtreecommitdiffstats
path: root/os-plugins
diff options
context:
space:
mode:
authorMichael Janczyk2010-08-18 22:06:03 +0200
committerMichael Janczyk2010-08-18 22:06:03 +0200
commitc984205b689153c41ba9f2e9685a8e773edc32ee (patch)
tree35fd8d716f8ada8222a7bc82109d60c093b335db /os-plugins
parentMerge branch 'vmgrid' (diff)
downloadcore-c984205b689153c41ba9f2e9685a8e773edc32ee.tar.gz
core-c984205b689153c41ba9f2e9685a8e773edc32ee.tar.xz
core-c984205b689153c41ba9f2e9685a8e773edc32ee.zip
removed temp and bak files of virt plugins
Diffstat (limited to 'os-plugins')
-rw-r--r--os-plugins/plugins/qemukvm/files/kvm.cmdline152
-rw-r--r--os-plugins/plugins/virtualbox/files/empty-diff-00.vdi.gzbin282 -> 0 bytes
-rw-r--r--os-plugins/plugins/virtualbox/files/empty-diff-01.vdi.gzbin279 -> 0 bytes
-rw-r--r--os-plugins/plugins/virtualbox/files/empty-diff-02.vdi.gzbin284 -> 0 bytes
-rw-r--r--os-plugins/plugins/virtualbox/files/empty-diff-03.vdi.gzbin282 -> 0 bytes
-rw-r--r--os-plugins/plugins/virtualbox/files/empty-diff-04.vdi.gzbin282 -> 0 bytes
-rw-r--r--os-plugins/plugins/virtualbox/files/run-virt.include.bak159
-rw-r--r--os-plugins/plugins/virtualbox/files/run-virt2.include323
-rw-r--r--os-plugins/plugins/virtualbox/files/runvbox.hints21
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/README51
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/README.incompatibilities38
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample.disks32
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample.domUloader28
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm358
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm-stubdom314
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample.pv-grub186
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample1213
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample2248
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/examples/xmexample3234
l---------os-plugins/plugins/xen/files/xen.examples/images1
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/qemu-ifup23
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/blktap93
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/block398
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/block-common.sh117
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/block-iscsi78
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/block-nbd34
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/block-npiv77
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-common.sh238
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-vport79
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/domain-lock83
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/external-device-migrate98
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/locking.sh98
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/logging.sh22
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/network-bridge380
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/network-nat125
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/network-route27
l---------os-plugins/plugins/xen/files/xen.examples/scripts/set-lock1
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/vif-bridge100
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/vif-common.sh158
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/vif-nat192
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/vif-route56
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/vm-monitor41
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/vscsi22
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/vtpm22
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-common.sh448
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/vtpm-delete18
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-hotplug-common.sh35
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-impl208
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-migration.sh19
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-cleanup36
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-common.sh93
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/xen-network-common.sh118
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/scripts/xen-script-common.sh44
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/xend-relocation.sh159
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/xmclone.sh793
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/xenapiusers1
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/xend-config-xenapi.sxp193
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/xend-config.sxp323
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/xend-pci-permissive.sxp27
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/xend-pci-quirks.sxp96
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/xm-config-xenapi.xml43
-rw-r--r--os-plugins/plugins/xen/files/xen.examples/xm-config.xml45
62 files changed, 0 insertions, 7619 deletions
diff --git a/os-plugins/plugins/qemukvm/files/kvm.cmdline b/os-plugins/plugins/qemukvm/files/kvm.cmdline
deleted file mode 100644
index c566879d..00000000
--- a/os-plugins/plugins/qemukvm/files/kvm.cmdline
+++ /dev/null
@@ -1,152 +0,0 @@
-QEMU PC emulator version 0.9.1 (kvm-84), Copyright (c) 2003-2008 Fabrice Bellard
-usage: qemu [options] [disk_image]
-
-'disk_image' is a raw hard image image for IDE hard disk 0
-
-Standard options:
--h or -help display this help and exit
--M machine select emulated machine (-M ? for list)
--cpu cpu select CPU (-cpu ? for list)
--smp n set the number of CPUs to 'n' [default=1]
--fda/-fdb file use 'file' as floppy disk 0/1 image
--hda/-hdb file use 'file' as IDE hard disk 0/1 image
--hdc/-hdd file use 'file' as IDE hard disk 2/3 image
--cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)
--drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]
- [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]
- [,cache=writethrough|writeback|none][,format=f][,serial=s]
- [,boot=on|off]
- use 'file' as a drive image
--mtdblock file use 'file' as on-board Flash memory image
--sd file use 'file' as SecureDigital card image
--pflash file use 'file' as a parallel flash image
--boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)
--snapshot write to temporary files instead of disk image files
--m megs set virtual RAM size to megs MB [default=128]
--k language use keyboard layout (for example "fr" for French)
--audio-help print list of audio drivers and their options
--soundhw c1,... enable audio support
- and only specified sound cards (comma separated list)
- use -soundhw ? to get the list of supported cards
- use -soundhw all to enable all of them
--usb enable the USB driver (will be the default soon)
--usbdevice name add the host or guest USB device 'name'
--name string set the name of the guest
--uuid %08x-%04x-%04x-%04x-%012x
- specify machine UUID
-
-Display options:
--nographic disable graphical output and redirect serial I/Os to console
--curses use a curses/ncurses interface instead of SDL
--no-frame open SDL window without a frame and window decorations
--alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)
--no-quit disable SDL window close capability
--sdl enable SDL
--portrait rotate graphical output 90 deg left (only PXA LCD)
--vga [std|cirrus|vmware|none]
- select video card type
--full-screen start in full screen
--vnc display start a VNC server on display
--name string set the name of the guest
--uuid %08x-%04x-%04x-%04x-%012x specify machine UUID
-
-Network options:
--net nic[,vlan=n][,macaddr=addr][,model=type][,name=str]
- create a new Network Interface Card and connect it to VLAN 'n'
--net user[,vlan=n][,name=str][,hostname=host]
- connect the user mode network stack to VLAN 'n' and send
- hostname 'host' to DHCP clients
--net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile]
- connect the host TAP network interface to VLAN 'n' and use the
- network scripts 'file' (default=/etc/kvm-ifup)
- and 'dfile' (default=/etc/kvm-ifdown);
- use '[down]script=no' to disable script execution;
- use 'fd=h' to connect to an already opened TAP interface
--net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port][,connect=host:port]
- connect the vlan 'n' to another VLAN using a socket connection
--net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port]
- connect the vlan 'n' to multicast maddr and port
--net none use it alone to have zero network devices; if no -net option
- is provided, the default is '-net nic -net user'
--tftp dir allow tftp access to files in dir [-net user]
--bootp file advertise file in BOOTP replies
--smb dir allow SMB access to files in 'dir' [-net user]
--redir [tcp|udp]:host-port:[guest-host]:guest-port
- redirect TCP or UDP connections from host to guest [-net user]
-
--bt hci,null dumb bluetooth HCI - doesn't respond to commands
--bt hci,host[:id]
- use host's HCI with the given name
--bt hci[,vlan=n]
- emulate a standard HCI in virtual scatternet 'n'
--bt vhci[,vlan=n]
- add host computer to virtual scatternet 'n' using VHCI
--bt device:dev[,vlan=n]
- emulate a bluetooth device 'dev' in scatternet 'n'
-
-
-i386 target only:
--win2k-hack use it when installing Windows 2000 to avoid a disk full bug
--rtc-td-hack use it to fix time drift in Windows ACPI HAL
--no-fd-bootchk disable boot signature checking for floppy disks
--no-acpi disable ACPI
--no-hpet disable HPET
-Linux boot specific:
--kernel bzImage use 'bzImage' as kernel image
--append cmdline use 'cmdline' as kernel command line
--initrd file use 'file' as initial ram disk
-
-Debug/Expert options:
--serial dev redirect the serial port to char device 'dev'
--parallel dev redirect the parallel port to char device 'dev'
--monitor dev redirect the monitor to char device 'dev'
--pidfile file write PID to 'file'
--S freeze CPU at startup (use 'c' to start execution)
--s wait gdb connection to port
--p port set gdb connection port [default=1234]
--d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)
--hdachs c,h,s[,t]
- force hard disk 0 physical geometry and the optional BIOS
- translation (t=none or lba) (usually qemu can guess them)
--L path set the directory for the BIOS, VGA BIOS and keymaps
--bios file set the filename for the BIOS
--no-kvm disable KVM hardware virtualization
--no-kvm-irqchip disable KVM kernel mode PIC/IOAPIC/LAPIC
--no-kvm-pit disable KVM kernel mode PIT
--no-kvm-pit-reinjection disable KVM kernel mode PIT interrupt reinjection
--enable-nesting enable support for running a VM inside the VM (AMD only)
--pcidevice host=bus:dev.func[,dma=none][,name=string]
- expose a PCI device to the guest OS.
- dma=none: don't perform any dma translations (default is to use an iommu)
- 'string' is used in log output.
--no-reboot exit instead of rebooting
--no-shutdown stop before shutdown
--loadvm [tag|id]
- start right away with a saved state (loadvm in monitor)
--daemonize daemonize QEMU after initializing
--tdf inject timer interrupts that got lost
--kvm-shadow-memory megs set the amount of shadow pages to be allocated
--mem-path set the path to hugetlbfs/tmpfs mounted directory, also
- enables allocation of guest memory with huge pages
--mem-prealloc toggles preallocation of -mem-path backed physical memory
- at startup. Default is enabled.
--option-rom rom load a file, rom, into the option ROM space
--clock force the use of the given methods for timer alarm.
- To see what timers are available use -clock ?
--localtime set the real time clock to local time [default=utc]
--startdate select initial date of the clock
--icount [N|auto]
- enable virtual instruction counter with 2^N clock ticks per instruction
--echr chr set terminal escape character instead of ctrl-a
--virtioconsole c
- set virtio console
--show-cursor show cursor
--tb-size n set TB size
--incoming p prepare for incoming migration, listen on port p
-
-During emulation, the following keys are useful:
-ctrl-alt-f toggle full screen
-ctrl-alt-n switch to virtual console 'n'
-ctrl-alt toggle mouse and keyboard grab
-
-When using -nographic, press 'ctrl-a h' to get some help. \ No newline at end of file
diff --git a/os-plugins/plugins/virtualbox/files/empty-diff-00.vdi.gz b/os-plugins/plugins/virtualbox/files/empty-diff-00.vdi.gz
deleted file mode 100644
index 24697b58..00000000
--- a/os-plugins/plugins/virtualbox/files/empty-diff-00.vdi.gz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/virtualbox/files/empty-diff-01.vdi.gz b/os-plugins/plugins/virtualbox/files/empty-diff-01.vdi.gz
deleted file mode 100644
index 138e51e8..00000000
--- a/os-plugins/plugins/virtualbox/files/empty-diff-01.vdi.gz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/virtualbox/files/empty-diff-02.vdi.gz b/os-plugins/plugins/virtualbox/files/empty-diff-02.vdi.gz
deleted file mode 100644
index 1355f373..00000000
--- a/os-plugins/plugins/virtualbox/files/empty-diff-02.vdi.gz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/virtualbox/files/empty-diff-03.vdi.gz b/os-plugins/plugins/virtualbox/files/empty-diff-03.vdi.gz
deleted file mode 100644
index 6e66af70..00000000
--- a/os-plugins/plugins/virtualbox/files/empty-diff-03.vdi.gz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/virtualbox/files/empty-diff-04.vdi.gz b/os-plugins/plugins/virtualbox/files/empty-diff-04.vdi.gz
deleted file mode 100644
index ddb8bb5f..00000000
--- a/os-plugins/plugins/virtualbox/files/empty-diff-04.vdi.gz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/virtualbox/files/run-virt.include.bak b/os-plugins/plugins/virtualbox/files/run-virt.include.bak
deleted file mode 100644
index 2fd81f6b..00000000
--- a/os-plugins/plugins/virtualbox/files/run-virt.include.bak
+++ /dev/null
@@ -1,159 +0,0 @@
-# run-virtualbox.include
-#
-# Copyright (c) 2009, 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
-#
-# Include script for running the Virtual Box on an OpenSLX client via the
-# run-virt.sh. The stuff is copied to /etc/opt/openslx/virtualbox/run-
-# virtualbox.include during stage3.
-
-################################################################################
-### General settings
-################################################################################
-
-# include general configuration from vmchooser
-. /etc/opt/openslx/plugins/virtualbox/virtualbox.conf
-
-# Current ID, to make sure it won't run into conflicts if started more
-# as once at the same time, else delete would make the trick...
-ID=$$
-machname="$(basename ${diskfile})"
-machname=${machname%.*}
-# use alternate configuration directory instead of $HOME/.VirtualBox
-export VBOX_USER_HOME="/tmp/vbox-${USER}"
-rm -rf ${VBOX_USER_HOME}/* /tmp/.vbox-${USER}-ipc
-machfolder="${VBOX_USER_HOME}/Machines"
-machconfig="${machfolder}/${machname}/${machname}.xml"
-diskfolder="${VBOX_USER_HOME}/HardDisks"
-mkdir -p ${machfolder}/${machname}/Snapshots ${diskfolder}
-ln -sf ${diskfile} ${diskfolder}/${machname}.vdi
-# Get ID of VBox Image...
-diskuid="$(VBoxManage -nologo showvdiinfo ${diskfile} |grep UUID|awk '{ print $2; }')"
-# produce proper mac address format
-mac="0050560d$(echo ${mac}|sed 's/://;y/ABCDEF/abcdef/')"
-date="$(date +%Y-%m-%dT%H:%M:%SZ)"
-
-# Operating system. Possible: VBoxManage -nologo list ostypes: WindowsXP,
-# WindowsVista, Windows7, Linux26 etc.
-# keeps compatibility to vmware plugin run-virt.include
-# Todo: maybe rewrite, to reduce checks, merge it with network option,
-# so we can have a "compatibility to vmware config" section
-if [ "${vmostype}" = "winxppro" ]; then vmostype="WindowsXP"
-elif [ "${vmostype}" = "winvista" ]; then vmostype="WindowsVista"
-elif [ "${vmostype}" = "Windows7" ]; then vmostype="Windows7"
-elif [ "${vmostype}" = "linux" ]; then vmostype="Linux26"
-elif [ -n "${vmostype}" ]; then vmostype="${vmostype}"
-fi
-# translate network kinds (nat, bridged, host-only)
-if [ "${network_kind}" = "nat" ]; then network_kind="NAT"
-elif [ "${network_kind}" = "bridged" ]; then network_kind=""
-elif [ "${network_kind}" = "host-only" ]; then network_kind=""
-fi
-
-# memory part equal to vmware plugin
-# percentage of memory to use for virtualbox in standard case
-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
- if [ "${totalmem}" -ge "2500" ]; then
- permem=40
- #mkdir /dev/shm/vbox/${USER}
- snapshotdir=/dev/shm/vbox/$USER
- 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 "\tMemory out of range: ${mem} MB (guest) / ${memhost} MB (host)!"
- writelog "\tMin. 256 MB for host and guest!"
- exit 1
-fi
-
-# most of the following does not make much sense yet ...
-#
-# virtual fd/cd/dvd and drive devices, floppy b: for configuration
-# if $floppy_0 from run-virt.include set then fdtest="TRUE"
-fdtest=
-fdtest=${floppy_0:+"TRUE"}
-# if $fdtest not set floppy0="FALSE", else "TRUE"
-floppy0=${fdtest:-"FALSE"}
-floppy1="TRUE"
-floppy1name="/var/lib/virt/vmchooser/loopimg/fd.img"
-# if $cdrom_0 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_0:+"TRUE"}
-# if $cdtest not set cdrom0="FALSE", else "TRUE"
-cdrom0=${cdtest:-"FALSE"}
-# if $cdrom_1 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_1:+"TRUE"}
-# if $cdtest not set cdrom1="FALSE", else "TRUE"
-cdrom1=${cdtest:-"FALSE"}
-# ide is expected default, test for the virtual disk image type should
-# be done while creating the runscripts ...
-ide="TRUE"
-hddrv="ide"
-
-
-################################################################################
-### Pepare and configure virtual machine and disk image
-################################################################################
-
-# produce the machine configuration XML
-sed -e "s,MACHINE,${machname},g;s,OSTYPE,${vmostype},;s,MEMSIZE,${mem}," \
- -e "s,DISKUID,${diskuid},;s,MACADDR,${mac},;s,DATE,${date}," \
- -e "s,NETTYPE,${network_kind},;s,OPTDEVICE,/dev/sr0," \
- /etc/opt/openslx/plugins/virtualbox/MachineTemplate.xml \
- >${machconfig}
-
-# shortened date YYYY-MM-DD
-date=${date%T*}
-# produce the general and containers configuration file
-sed -e "s,DISKUID,${diskuid},;s,FD1NAME,${floppy1name},;s,DATE,${date}," \
- -e "s,DISKFILE,${diskfolder}/${machname}.vdi,;s,MACHINE,${machname},g;s,MACADDR,${mac}," \
- -e "s,MACHFOLDER,${machfolder},;s,DISKFOLDER,${diskfolder}," \
- /etc/opt/openslx/plugins/virtualbox/VirtualBox.xml \
- >${VBOX_USER_HOME}/VirtualBox.xml
-
-cat /opt/openslx/plugin-repo/virtualbox/empty-diff.vdi.gz | \
- gunzip >${machfolder}/${machname}/Snapshots/{88bc8b6d-f248-468a-95fe-318084904f8b}.vdi
-
-
-#<DHCPServers>\t<DHCPServer\
-# networkName=\"HostInterfaceNetworking-vboxnet0\" IPAddress=\"192.168.56.100\"\
-# networkMask=\"255.255.255.0\" lowerIP=\"192.168.56.101\"\
-# upperIP=\"192.168.56.254\" enabled=\"1\"/> </DHCPServers>
-
-# finally set env for run-virt.sh
-################################################################################
-
-# wait for a certain command to settle
-while [ TRUE ] ; do
- ps aux|grep -v grep|grep -q VBoxSVC || break
-done
-# set the variables appropriately (several interfaces with different names)
-VIRTCMD=$(which VirtualBox 2>/dev/null)
-VIRTCMDOPTS="--startvm 00000000-1111-2222-3456-${mac} --start-running"
diff --git a/os-plugins/plugins/virtualbox/files/run-virt2.include b/os-plugins/plugins/virtualbox/files/run-virt2.include
deleted file mode 100644
index 4f885abd..00000000
--- a/os-plugins/plugins/virtualbox/files/run-virt2.include
+++ /dev/null
@@ -1,323 +0,0 @@
-# run-virt.include
-# -----------------------------------------------------------------------------
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..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 the Virtual Box 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
-################################################################################
-
-PLUGINCONFVIRTUALBOX="${PLUGINCONFROOT}/${self}"
-# create TMPDIR for all users
-mkdir -m 1777 /tmp/${self} 2>/dev/null
-# dir for configs
-confdir="/tmp/${self}/${USER}"
-# use alternate configuration directory instead of $HOME/.VirtualBox
-export VBOX_USER_HOME=${confdir}
-
-# imgname is the name of the virtual image file
-imgnamebase=${imgname%.*}
-imgnameending=${imgname#*.}
-# use vm_shortname since vm_name can be very long + VM_ID
-vm_shortname="$(echo ${imgnamebase} | sed -e "s, ,-,g")-${VM_ID}"
-
-# mach folders config
-machfolder="${confdir}/Machines"
-machconfig="${machfolder}/${vm_shortname}/${vm_shortname}.xml"
-diskfolder="${confdir}/HardDisks"
-snapshotdir=${machfolder}/${vm_shortname}/Snapshots
-diskfile="${diskfolder}/${imgname}"
-
-# remove old stuff, RMDIRS can be used in calling script as well
-RMDIRS="${machfolder}/${vm_shortname} ${diskfile}"
-rm -rf ${RMDIRS}
-# create new stuff
-mkdir -p ${diskfolder} ${snapshotdir}
-# check if image already existing
-if [ "$(readlink -f ${diskfile})" = "${vmpath}" ]; then
- diskuuid=$(grep "${diskfile}" "${confdir}/VirtualBox.xml" | \
- sed -e "s,.*HardDisk uuid=\"{\(.*\)}\" location=.*,\1,")
- diskexisting=1
-else
- ln -sf ${vmpath} ${diskfile}
-fi
-
-# check the file type
-if echo ${imgname} | grep -iE "vdi" >/dev/null 2>&1; then #vmdk|vhd
- imgtype=$(echo ${imgnameending} | tr [a-z] [A-Z])
-else
- writelog "${imgname} is not a valid image type (vdi)" #vmdk|vhd
-fi
-
-# TODO: maybe rewrite, to reduce checks, merge it with network option,
-# so we can have a "compatibility to vmware config" section
-case "${vmostype}" in
- winxp*)
- vmostype="WindowsXP"
- ;;
- winvista*)
- vmostype="WindowsVista"
- ;;
- Windows7*)
- vmostype="Windows7"
- ;;
- linux*)
- vmostype="Linux26"
- ;;
-esac
-
-writelog "Directories:"
-writelog "\tConfig dir:\t\t$confdir"
-writelog "\tMachines dir:\t\t$machfolder"
-writelog "\tMachine config:\t\t$machconfig"
-writelog "\tHardDisks dir:\t\t$diskfolder"
-
-################################################################################
-### Hardware checks
-################################################################################
-
-# remove ':' from MAC addr for vbox
-macaddr=$(echo ${macaddr} | sed 's/://g')
-
-# 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}
- #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
-
-# machine UUID, MAC addr part of it
-machineuuid="00000000-0000-0000-0000-${macaddr}"
-# cosmetical, since UUID in lower case
-machineuuid=$(echo ${machineuuid} | tr [A-Z] [a-z])
-# get UUID of VBox image
-[ -z "${diskuuid}" ] && diskuuid=$(VBoxManage -q showvdiinfo ${diskfile} | \
- grep UUID | awk '{print $2}')
-# snapshot UUIDs (static)
-snapshotuuid[00]="88bc8b6d-f248-468a-95fe-318084904f8b"
-snapshotuuid[01]="42f5033e-9913-41ff-8cba-1c986ba5db8d"
-snapshotuuid[02]="1b66fdcb-8ede-4bb8-aaec-417bc2074633"
-snapshotuuid[03]="563d2c5e-c9a2-4fbb-be51-8d279a558e6c"
-snapshotuuid[04]="efff0c85-c1c8-420d-a25f-6e66f117e1f2"
-snapshotuuid=${snapshotuuid[$VM_ID]}
-
-cat ${OPENSLX_DEFAULT_DIR}/plugin-repo/virtualbox/empty-diff-${VM_ID}.vdi.gz | \
- gunzip > "${snapshotdir}/{${snapshotuuid}}.vdi"
-
-#snapshotuuid=$(VBoxManage -q showvdiinfo \
-# "${snapshotdir}/${snapshotuuid}.vdi" | grep UUID | awk '{print $2}')
-
-# translate network cards
-if [ "${network_card}" = "e1000" ]; then
- vb_network_card="82540EM"
-else
- network_card="pcnet"
- vb_network_card="Am79C973"
-fi
-
-# translate network kinds (nat, bridged, host-only)
-case "${network_kind}" in
- bridged)
- network_kind='BridgedInterface name="br0"'
- ;;
- host-only)
- network_kind='HostOnlyInterface name="vboxnet0"'
- ;;
- *)
- network_kind="NAT"
- ;;
-esac
-
-vrdpport="590${VM_ID}"
-
-# TODO: most of the following does not make much sense yet ...
-# virtual fd/cd/dvd and drive devices, floppy b: for configuration
-# if $floppy_0 from run-virt.include set then fdtest="TRUE"
-fdtest=
-fdtest=${floppy_0:+"TRUE"}
-# if $fdtest not set floppy0="FALSE", else "TRUE"
-floppy0=${fdtest:-"FALSE"}
-floppy1="TRUE"
-floppy1name="/var/lib/virt/vmchooser/loopimg/fd.img"
-# if $cdrom_0 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_0:+"TRUE"}
-# if $cdtest not set cdrom0="FALSE", else "TRUE"
-cdrom0=${cdtest:-"FALSE"}
-# if $cdrom_1 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_1:+"TRUE"}
-# if $cdtest not set cdrom1="FALSE", else "TRUE"
-cdrom1=${cdtest:-"FALSE"}
-# ide is expected default, test for the virtual disk image type should
-# be done while creating the runscripts ...
-ide="TRUE"
-hddrv="ide"
-
-writelog "\tSnapshots dir:\t\t$snapshotdir"
-writelog "Diskimage:"
-writelog "\tDisk type:\t\t$imgtype"
-writelog "\tDisk file:\t\t$diskfile"
-writelog "\tVMostype:\t\t$vmostype"
-writelog "\tMachine UUID:\t\t$machineuuid"
-writelog "\tDisk UUID:\t\t$diskuuid"
-writelog "\tSnapshot UUID:\t\t$snapshotuuid"
-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"
-writelog "\tNetwork card:\t\t${vb_network_card}"
-writelog "\tNetwork kind:\t\t${network_kind}"
-#writelog "\tCD-ROM1:\t${cdrom0}"
-#writelog "\tCD-ROM2:\t${cdrom1}"
-#writelog "\tFloppy_A:\t${floppy0}"
-
-################################################################################
-### Pepare and configure virtual machine and disk image
-################################################################################
-
-# TODO: date wichtig?
-#date="$(date +%Y-%m-%dT%H:%M:%SZ)"
-# check if VirtualBox.xml already existing
-# TODO: geht nicht!!!
-if grep -q "<HardDisk uuid=" "${confdir}/VirtualBox.xml"; then
- # check if our HD and location present
- extrahd="<HardDisk uuid=\"{${diskuuid}}\" location=\"${diskfile}\"" \
- extrahd="${extrahd} format=\"${imgtype}\" type=\"Immutable\">"
- extdiff="<HardDisk uuid=\"{${snapshotuuid}}\" location=\"${snapshotdir}" \
- extdiff="${extdiff}/{${snapshotuuid}}.vdi\" format=\"VDI\"" \
- extdiff="${extdiff} autoReset=\"true\"/>"
- if [ -z "${diskexisting}" ]; then
- sed -i "s,</HardDisks>, ${extrahd}\n ${extdiff}\n\
- </HardDisk>\n </HardDisks>," \
- "${confdir}/VirtualBox.xml"
- elif [ ${diskexisting} -eq 1 2>/dev/null ]; then
- sed -i "s,\(<HardDisk uuid="{${diskuuid}}".*\),\1\n ${extdiff}\n,"\
- "${confdir}/VirtualBox.xml"
- fi
- # check if our machine and location present
- extramach="<MachineEntry uuid=\"{${machineuuid}}\" src=\"Machines" \
- extramach="${extramach}/${vm_shortname}/${vm_shortname}.xml\"/>"
- if ! grep -q "${extramach}" "${confdir}/VirtualBox.xml"; then
- sed -i "s,</MachineRegistry>, ${extramach}\n </MachineRegistry>," \
- "${confdir}/VirtualBox.xml"
- fi
-else
- . ${PLUGINCONFVIRTUALBOX}/virtualbox.include > \
- "${confdir}/VirtualBox.xml"
-fi
-
-# shortened date YYYY-MM-DD
-#date=${date%T*}
-. ${PLUGINCONFVIRTUALBOX}/machine.include >"${machconfig}"
-
-# add ssh port if linux and NAT
-if [ "${vmostype}" = "Linux26" ] && [ "${network_kind}" = "NAT" ]; then
- vmsshport="220${VM_ID}"
- extradataitem='<ExtraDataItem name="VBoxInternal/Devices' \
- extradataitem="${extradataitem}/${network_card}/0/LUN#0/Config/ssh/"
- extradataguestport='GuestPort" value="22"/>'
- extradatahostport="HostPort\" value=\"${vmsshport}\"/>"
- extradataprotocol='Protocol" value="TCP"/>'
- sed -ni "s,</ExtraData>, ${extradataitem}${extradataguestport}\n\
- ${extradataitem}${extradatahostport}\n\
- ${extradataitem}${extradataprotocol}\n\
- </ExtraData>," "${machconfig}"
- writelog "\tGuest SSH port:\t\t${vmsshport}"
-fi
-
-################################################################################
-# finally set env for run-virt.sh
-################################################################################
-
-# wait for a certain command to settle
-# get the PID of the right process
-# TODO: not very good! But seems to work
-# TODO: not needed? KILL!!!
-VBMANPID=$(pstree -p | grep VBoxXPCOMIPCD | grep -ivE "VirtualBox|VBoxHeadless"\
- | sed -e "s/.*VBoxXPCOMIPCD(\(.*\)).*/\1/")
-for i in $(echo ${VBMANPID}); do
- kill -9 ${VBMANPID} >/dev/null 2>&1
-done
-# TODO: OLD Version, NOW: KILL process
-#VBMANPID=$(pstree -p | grep VBoxXPCOMIPCD | grep -ivE "VirtualBox|VBoxHeadless"\
-# | sed -e "s/.*VBoxXPCOMIPCD(\(.*\)).*/\1/" | tail -n 1)
-#for i in {0..999}; do
-# ps aux | grep -v grep | grep VBoxXPCOMIPCD | grep -q " ${VBMANPID} " || break
-# if [ $i -eq 999 ]; then
-# kill -9 ${VBMANPID} >/dev/null 2>&1
-# writelog "Process ID ${VBMANPID} did not finish, killing!"
-# fi
-#done
-
-# set the variables appropriately (several interfaces with different names)
-VIRTCMD=$(which VirtualBox 2>/dev/null)
-VIRTCMDOPTS="--startvm ${machineuuid} --start-running"
-
-# SDL tests
-#VIRTCMDSDL=$(which VBoxSDL 2>/dev/null)
-#VIRTCMDOPTSSDL="--startvm ${machineuuid} --fullscreen --hwvirtex --memory 1024 \
-# --fixedmode 1680 1050 24 --hostkey 302 0"
-
-# set headless mode
-VIRTCMDHL=$(which VBoxHeadless 2>/dev/null)
-VIRTCMDOPTSHL="-s ${machineuuid}"
-
diff --git a/os-plugins/plugins/virtualbox/files/runvbox.hints b/os-plugins/plugins/virtualbox/files/runvbox.hints
deleted file mode 100644
index 0a00afbd..00000000
--- a/os-plugins/plugins/virtualbox/files/runvbox.hints
+++ /dev/null
@@ -1,21 +0,0 @@
-# Description: Old example script, more a temporary todo/note list
-
-#Network:
-#Intel PRO/1000 MT Server where added, because vista stoped supporting
-#the old ones => 4.2.5 vista networking
-
-#TODO: check if setting the following parameters will improve the plugin
-#VBoxManage modifyvm "${ID}" ­vram <ram>_in_mb_of_virtual_graphic_card>
-#VBoxManage modifyvm "${ID}" ­acpi <on|off> # acpi and i/o apic support
-#VBoxManage modifyvm "${ID}" ­sata <on|off> # sata or ide
-#VBoxManage modifyvm "${ID}" ­dvdpassthrough <on|off> # burn support, unstable
-#--vram, acpi, ioapic, pae, hwvirtex, nestedpaging, -vtxvpid,
-#monitorcount, accelerate3d, bioslogofadein, bioslogfadeout,
-#bioslogodisplaytime, bioslogoimagepath, biosbootmeu, biospxedebug,
-#idecontroller, sata*, scsi, floppy, nic*, cableconnected,
-#intnet, uart*, gueststatisticsinterval, kind of audio*, clipboard,
-#vrdp* (should be unimportant), usbehci
-#
-#should be more important at the beginning:
-#bridgeadapter, hostonlyadapter, floppy
-#intnet, natnet, usb
diff --git a/os-plugins/plugins/xen/files/xen.examples/README b/os-plugins/plugins/xen/files/xen.examples/README
deleted file mode 100644
index e2e8f434..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/README
+++ /dev/null
@@ -1,51 +0,0 @@
-Xen Control Tools - Examples
-===================================
-
-This directory contains example scripts and configurations for Xen.
-For many operations you will either be able to use these scripts directly, or
-incorporate code from them into your own scripts.
-
-If you write a useful script and would like to share it, please do
-send it (preferably with a little summary to go in this file) to
-<xen-devel@lists.sourceforge.net> so we can add it to this directory.
-
-block - called by xen-backend.agent to bind/unbind dev
-block-common.sh - sourced by block, block-*
-block-enbd - binds/unbinds network block devices
-block-nbd - binds/unbinds network block devices
-external-device-migrate - called by xend for migrating external devices
-locking.sh - locking functions to prevent concurrent access to
- critical sections inside script files
-logging.sh - logging function to log output using syslog
-network-bridge - xen network start/stop script when using bridging
-network-nat - xen network start/stop script when using NAT
-network-route - xen network start/stop script when using routing
-vif-bridge - virtual network start/stop script in bridged mode
-vif-common.sh - sourced by vif-bridge
-vif-nat - xen virtual network start/stop script in NAT mode
-vif-route - xen virtual network start/stop script in routed mode
-vtpm - called by xen-backend.agent to bind/unbind vTPM devices
-vtpm-common.sh - common code for vTPM handling
-vtpm-delete - remove an entry from the vTPM table given the
- domain's name
-vtpm-hotplug-common.sh - sourced by vtpm
-vtpm-migration.sh - sourced by external-device-migrate
-xen-backend.agent - calls block, vif-*, vtpm scripts to add, remove, hotplug
- devices
-xen-backend.rules - hotplug script rules
-xend-config.sxp - default xend configuration file
-xen-hotplug-common.sh - sourced by vif-common.sh
-xen-network-common.sh - sourced by vif-common.sh
-xen-script-common.sh - sourced by network-bridge, xen-hotplug-common.sh
-xmexample1 - example configuration script for 'xm create'
-xmexample2 - a more complex configuration script for 'xm create'
-xmexample3 - an advanced configuration script for 'xm create'
- that utilizes the vmid
-xmexample.nbd - configuration script that uses NBD filesystems
-xmexample.hvm - a configuration script for creating a hvm domain with
- 'xm create'
-xmexample.hvm-stubdom - a configuration script for creating a hvm domain with
- 'xm create' that utilizes a stubdomain for device model
-xmexample.pv-grub - a configuration script for creating a domain with 'xm create'
- which boots PV-GRUB.
-xmexample.vti - a configuration script for creating a domain on vti
diff --git a/os-plugins/plugins/xen/files/xen.examples/README.incompatibilities b/os-plugins/plugins/xen/files/xen.examples/README.incompatibilities
deleted file mode 100644
index bb067bd4..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/README.incompatibilities
+++ /dev/null
@@ -1,38 +0,0 @@
-Command Incompatibilities
-=========================
-
-Known incompatibilities with various commands on various distributions, and
-the workarounds we use.
-
-
-brctl
------
-
-brctl show <bridge> fails on SLES9 SP2. Workaround is to use brctl show
-without arguments, and grep, though this would be difficult were you to need
-to check for a specific bridge-interface pair, since brctl does not show the
-bridge name on every line.
-
-
-ifup / ifdown
--------------
-
-SuSE requires an extra parameter to ifup, which is created by calling getcfg
-appropriately. See xen-network-common.sh for details.
-
-Gentoo doesn't have ifup/ifdown; appropriate alternatives are defined in
-xen-network-common.sh.
-
-
-ip
---
-
-Newer ip commands (from iproute2) do not accept the abbreviated syntax "ip r a
-..." etc. "ip route add ..." must be used instead.
-
-
-sed
----
-
-\s is not supported in regexps on Debian etch (sed 4.1.2), Ubuntu 4.10. We
-hand-craft character classes instead.
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.disks b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.disks
deleted file mode 100644
index 7743fc30..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.disks
+++ /dev/null
@@ -1,32 +0,0 @@
-# A VM's disks can be stored in a variety of ways.
-# Here are some examples:
-disk = [
- # Block device
- 'phy:/dev/hdb,xvda,w',
- # Raw format, accessed via loopback
- 'file:/var/lib/xen/images/disk-example/disk0,xvdb,w',
- # Raw format, accessed via blocktap
- 'tap:aio:/var/lib/xen/images/disk-example/disk0,xvdc,w',
- # QCOW format, accessed via blocktap
- 'tap:qcow:/var/lib/xen/images/disk-example/disk0.qcow,xvdd,w',
- # NBD (network block device): IP and port are separated by space
- 'nbd:192.168.0.1 20004,xvde,w',
- # iSCSI: The usual colon is replaced with '@'
- 'iscsi:iqn.2006-09.de.suse@0ac47ee2-216e-452a-a341-a12624cd0225,xvdf,w',
- # Fibre Channel N_Port ID Virtualization
- 'npiv:210400e08b80c40f,xvdg,w' ]
-
-
-# Remaining settings for the example VM:
-name="disk-example"
-memory=512
-vcpus=1
-on_crash="destroy"
-on_poweroff="destroy"
-on_reboot="restart"
-localtime=0
-builder="linux"
-bootloader="/usr/lib/xen/boot/domUloader.py"
-bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen"
-vif=[ 'mac=00:16:3e:00:01:02,bridge=xenbr0' ]
-vfb=['type=vnc,vncunused=1']
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.domUloader b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.domUloader
deleted file mode 100644
index 6edfdbc2..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.domUloader
+++ /dev/null
@@ -1,28 +0,0 @@
-# This is a bootloader used to boot paravirtualized domains. You can optionally
-# plug in a different boot loader here, e.g., pygrub. There is usually no
-# reason to change this. Don't explicitly specify kernel and ramdisk if you use
-# a bootloader.
-bootloader="/usr/lib/xen/boot/domUloader.py"
-
-# The domUloader will pull the specified kernel and initrd out of the domU's
-# disk, and use that to boot. This is easier to manage, compared to manually
-# keeping a copy of the kernel and initrd in sync in dom0's filesystem and
-# pointing to them with the "kernel" and "ramdisk" parameters. Syntax is
-# "VDEV:KERNEL,INITRD", where VDEV is the block device (from domU's point of
-# view) within which KERNEL and INITRD can be found.
-bootentry = "hda1:/boot/vmlinuz-xen,/boot/initrd-xen"
-
-
-# Remaining settings for the example VM:
-name="domUloader-example"
-memory=512
-vcpus=1
-on_crash="destroy"
-on_poweroff="destroy"
-on_reboot="restart"
-localtime=0
-builder="linux"
-bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen"
-disk=[ 'file:/var/lib/xen/images/domUloader-example/disk0,xvda,w' ]
-vif=[ 'mac=00:16:3e:00:01:02,bridge=xenbr0' ]
-vfb=['type=vnc,vncunused=1']
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm
deleted file mode 100644
index d0686f5d..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm
+++ /dev/null
@@ -1,358 +0,0 @@
-# -*- mode: python; -*-
-#============================================================================
-# Python configuration setup for 'xm create'.
-# This script sets the parameters used when a domain is created using 'xm create'.
-# You use a separate script for each domain you want to create, or
-# you can set the parameters for the domain on the xm command line.
-#============================================================================
-
-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.
-#
-# WARNING: Creating a domain with insufficient memory may cause out of
-# memory errors. The domain needs enough memory to boot kernel
-# and modules. Allocating less than 32MBs is not recommended.
-memory = 128
-
-# 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 = "ExampleHVMDomain"
-
-# 128-bit UUID for the domain. The default behavior is to generate a new UUID
-# on each call to 'xm create'.
-#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
-
-#-----------------------------------------------------------------------------
-# 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' ]
-
-#----------------------------------------------------------------------------
-# 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' ]
-
-#----------------------------------------------------------------------------
-# 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'
-#
-# For backwards compatibility we also support the deprecated option restart
-#
-# restart = 'onreboot' means on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'destroy'
-#
-# restart = 'always' means on_poweroff = 'restart'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#
-# restart = 'never' means on_poweroff = 'destroy'
-# on_reboot = 'destroy'
-# on_crash = 'destroy'
-
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#============================================================================
-
-# 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='ja'
-
-#-----------------------------------------------------------------------------
-# Enable/disable xen platform PCI device, default=1 (enabled)
-#xen_platform_pci=1
-
-#-----------------------------------------------------------------------------
-# Configure guest CPUID responses:
-#
-#cpuid=[ '1:ecx=xxxxxxxxxxx00xxxxxxxxxxxxxxxxxxx,
-# eax=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ]
-# - Unset the SSE4 features (CPUID.1[ECX][20-19])
-# - Default behaviour for all other bits in ECX And EAX registers.
-#
-# Each successive character represent a lesser-significant bit:
-# '1' -> force the corresponding bit to 1
-# '0' -> force to 0
-# 'x' -> Get a safe value (pass through and mask with the default policy)
-# 'k' -> pass through the host bit value
-# 's' -> as 'k' but preserve across save/restore and migration
-#
-# Expose to the guest multi-core cpu instead of multiple processors
-# Example for intel, expose a 8-core processor :
-#cpuid=['1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
-# ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx',
-# '4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx']
-# - CPUID.1[EDX][HT] : Enable HT
-# - CPUID.1[EBX] : Number of vcpus * 2
-# - CPUID.4,0[EAX] : Number of vcpus * 2 - 1
-#vcpus=8
-#
-# Example for amd, expose a 5-core processor :
-# cpuid = ['1:ebx=xxxxxxxx00001010xxxxxxxxxxxxxxxx,
-# edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
-# '0x80000001:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1x',
-# '0x80000008:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx001001']
-# - CPUID.1[EBX] : Threads per Core * Cores per Socket (2 * #vcpus)
-# - CPUID.1[EDX][HT] : Enable HT
-# - CPUID.0x80000001[CmpLegacy] : Use legacy method
-# - CPUID.0x80000008[ECX] : #vcpus * 2 - 1
-#vcpus=5
-#
-# Downgrade the cpuid to make a better compatibility for migration :
-# Look like a generic 686 :
-# cpuid = [ '0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0',
-# '1:eax=0x06b1,
-# ecx=xxxxxxxxxxx0000xx00xxx0000000xx0,
-# edx=xxx00000xxxxxxx0xxxxxxxxx0xxxxxx',
-# '4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0',
-# '0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0']
-# with the highest leaf
-# - CPUID.0[EAX] : Set the highest leaf
-# - CPUID.1[EAX] : 686
-# - CPUID.1[ECX] : Mask some features
-# - CPUID.1[EDX] : Mask some features
-# - CPUID.4 : Reply like the highest leaf, in our case CPUID.3
-# - CPUID.0x80000000 : No extension we are on a Pentium III, reply like the
-# highest leaf (CPUID.3).
-#
-# Configure host CPUID consistency checks, which must be satisfied for this
-# VM to be allowed to run on this host's processor type:
-#cpuid_check=[ '1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx1xxxxx' ]
-# - Host must have VMX feature flag set
-#
-# The format is similar to the above for 'cpuid':
-# '1' -> the bit must be '1'
-# '0' -> the bit must be '0'
-# 'x' -> we don't care (do not check)
-# 's' -> the bit must be the same as on the host that started this VM
-
-#-----------------------------------------------------------------------------
-# Configure passthrough PCI{,-X,e} devices:
-#
-# pci=[ '[SSSS:]BB:DD.F[,option1[,option2[...]]]', ... ]
-#
-# [SSSS]:BB:DD.F "bus segment:bus:device.function"(1) of the device to
-# be assigned, bus segment is optional. All fields are
-# in hexadecimal and no field should be longer than that
-# as shown in the pattern. Successful assignment may need
-# certain hardware support and additional configurations
-# (e.g. VT-d, see docs/misc/vtd.txt for more details).
-#
-# (1) bus segment is sometimes also referred to as the PCI "domain",
-# not to be confused with Xen domain.
-#
-#
-# optionN per-device options in "key=val" format. Current
-# available options are:
-# - msitranslate=0|1
-# per-device overriden of pci_msitranslate, see below
-# - power_mgmt=0|1
-# per-device overriden of pci_power_mgmt, see below
-#
-#pci=[ '07:00.0', '07:00.1' ]
-
-# MSI-INTx translation for MSI capable devices:
-#
-# If it's set, Xen will enable MSI for the device that supports it even
-# if the guest don't use MSI. In the case, an IO-APIC type interrupt will
-# be injected to the guest every time a corresponding MSI message is
-# received.
-# If the guest enables MSI or MSI-X, the translation is automatically
-# turned off.
-#
-#pci_msitranslate=1
-
-# PCI Power Management:
-#
-# If it's set, the guest OS will be able to program D0-D3hot states of the
-# PCI device for the purpose of low power consumption.
-#
-#pci_power_mgmt=0
-
-#-----------------------------------------------------------------------------
-# Configure PVSCSI devices:
-#
-#vscsi=[ 'PDEV, VDEV' ]
-#
-# 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 = [ '/dev/sdx, 0:0:0:0' ]
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm-stubdom b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm-stubdom
deleted file mode 100644
index acc250eb..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.hvm-stubdom
+++ /dev/null
@@ -1,314 +0,0 @@
-# -*- mode: python; -*-
-#============================================================================
-# Python configuration setup for 'xm create'.
-# This script sets the parameters used when a domain is created using 'xm create'.
-# You use a separate script for each domain you want to create, or
-# you can set the parameters for the domain on the xm command line.
-#============================================================================
-#
-# This is a version using a stubdomain for device model
-# The differences with xmexample.hvm are marked with "STUBDOM"
-
-#----------------------------------------------------------------------------
-# 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.
-#
-# WARNING: Creating a domain with insufficient memory may cause out of
-# memory errors. The domain needs enough memory to boot kernel
-# and modules. Allocating less than 32MBs is not recommended.
-memory = 128
-
-# 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 = "xmexample.hvm"
-
-# 128-bit UUID for the domain. The default behavior is to generate a new UUID
-# on each call to 'xm create'.
-#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
-
-#-----------------------------------------------------------------------------
-# 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
-
-# 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' ]
-
-#----------------------------------------------------------------------------
-# 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 = [ 'file:/var/images/min-el3-i386.img,hda,w', 'phy:/dev/cdrom,hdc:cdrom,r' ]
-
-#----------------------------------------------------------------------------
-# 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'
-#
-# For backwards compatibility we also support the deprecated option restart
-#
-# restart = 'onreboot' means on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'destroy'
-#
-# restart = 'always' means on_poweroff = 'restart'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#
-# restart = 'never' means on_poweroff = 'destroy'
-# on_reboot = 'destroy'
-# on_crash = 'destroy'
-
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#============================================================================
-
-# Device Model to be used
-#
-# STUBDOM: this is a script that creates the stub domain running the device
-# model
-device_model = '/usr/lib/xen/bin/stubdom-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
-
-#----------------------------------------------------------------------------
-# enable spawning vncviewer for domain's console
-# (only valid when vnc=1), default = 0
-#vncconsole=0
-
-#----------------------------------------------------------------------------
-# 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
-#
-# STUBDOM: always disable as the stub domain doesn't have access to dom0's
-# ptys
-#serial='pty'
-
-
-#-----------------------------------------------------------------------------
-# Qemu Monitor, default is disable
-# Use ctrl-alt-2 to connect
-#monitor=1
-
-
-#-----------------------------------------------------------------------------
-# enable sound card support, [sb16|es1370|all|..,..], default none
-#
-# STUBDOM: not supported
-#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='ja'
-
-#-----------------------------------------------------------------------------
-# Configure guest CPUID responses:
-#
-#cpuid=[ '1:ecx=xxxxxxxxxxx00xxxxxxxxxxxxxxxxxxx,
-# eax=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ]
-# - Unset the SSE4 features (CPUID.1[ECX][20-19])
-# - Default behaviour for all other bits in ECX And EAX registers.
-#
-# Each successive character represent a lesser-significant bit:
-# '1' -> force the corresponding bit to 1
-# '0' -> force to 0
-# 'x' -> Get a safe value (pass through and mask with the default policy)
-# 'k' -> pass through the host bit value
-# 's' -> as 'k' but preserve across save/restore and migration
-#
-# Expose to the guest multi-core cpu instead of multiple processors
-# Example for intel, expose a 8-core processor :
-#cpuid=['1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
-# ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx',
-# '4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx']
-# - CPUID.1[EDX][HT] : Enable HT
-# - CPUID.1[EBX] : Number of vcpus * 2
-# - CPUID.4,0[EAX] : Number of vcpus * 2 - 1
-#vcpus=8
-#
-# Example for amd, expose a 5-core processor :
-# cpuid = ['1:ebx=xxxxxxxx00001010xxxxxxxxxxxxxxxx,
-# edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
-# '0x80000001:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1x',
-# '0x80000008:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx001001']
-# - CPUID.1[EBX] : Threads per Core * Cores per Socket (2 * #vcpus)
-# - CPUID.1[EDX][HT] : Enable HT
-# - CPUID.0x80000001[CmpLegacy] : Use legacy method
-# - CPUID.0x80000008[ECX] : #vcpus * 2 - 1
-#vcpus=5
-#
-# Downgrade the cpuid to make a better compatibility for migration :
-# Look like a generic 686 :
-# cpuid = [ '0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0',
-# '1:eax=0x06b1,
-# ecx=xxxxxxxxxx0000xx00xxx0000000xx0,
-# edx=xx00000xxxxxxx0xxxxxxxxx0xxxxxx',
-# '4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0',
-# '0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0']
-# with the highest leaf
-# - CPUID.0[EAX] : Set the highest leaf
-# - CPUID.1[EAX] : 686
-# - CPUID.1[ECX] : Mask some features
-# - CPUID.1[EDX] : Mask some features
-# - CPUID.4 : Reply like the highest leaf, in our case CPUID.3
-# - CPUID.0x80000000 : No extension we are on a Pentium III, reply like the
-# highest leaf (CPUID.3).
-#
-# Configure host CPUID consistency checks, which must be satisfied for this
-# VM to be allowed to run on this host's processor type:
-#cpuid_check=[ '1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx1xxxxx' ]
-# - Host must have VMX feature flag set
-#
-# The format is similar to the above for 'cpuid':
-# '1' -> the bit must be '1'
-# '0' -> the bit must be '0'
-# 'x' -> we don't care (do not check)
-# 's' -> the bit must be the same as on the host that started this VM
-
-
-#-----------------------------------------------------------------------------
-# Configure PVSCSI devices:
-#
-#vscsi=[ 'PDEV, VDEV' ]
-#
-# 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 = [ '/dev/sdx, 0:0:0:0' ]
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.pv-grub b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.pv-grub
deleted file mode 100644
index 1b687151..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample.pv-grub
+++ /dev/null
@@ -1,186 +0,0 @@
-# -*- mode: python; -*-
-#============================================================================
-# Python configuration setup for 'xm create'.
-# This script sets the parameters used when a domain is created using 'xm create'.
-# You use a separate script for each domain you want to create, or
-# you can set the parameters for the domain on the xm command line.
-#============================================================================
-
-#----------------------------------------------------------------------------
-# PV GRUB image file.
-kernel = "/usr/lib/xen/boot/pv-grub.gz"
-
-# Optional provided menu.lst.
-#ramdisk = "/boot/guests/menu.lst"
-
-# Sets path to menu.lst
-extra = "(hd0,0)/boot/grub/menu.lst"
-# can be a TFTP-served path (DHCP will automatically be run)
-# extra = "(nd)/netboot/menu.lst"
-# can be configured automatically by GRUB's DHCP option 150 (see grub manual)
-# extra = ""
-
-# Initial memory allocation (in megabytes) for the new domain.
-#
-# WARNING: Creating a domain with insufficient memory may cause out of
-# memory errors. The domain needs enough memory to boot kernel
-# and modules. Allocating less than 32MBs is not recommended.
-memory = 128
-
-# A name for your domain. All domains must have different names.
-name = "ExampleDomain"
-
-# 128-bit UUID for the domain. The default behavior is to generate a new UUID
-# on each call to 'xm create'.
-#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
-
-# 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
-
-# Number of Virtual CPUS to use, default is 1
-#vcpus = 1
-
-#----------------------------------------------------------------------------
-# 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 = [ '' ]
-
-#----------------------------------------------------------------------------
-# 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' ]
-
-#----------------------------------------------------------------------------
-# Define frame buffer device.
-#
-# By default, no frame buffer device is configured.
-#
-# To create one using the SDL backend and sensible defaults:
-#
-# vfb = [ 'sdl=1' ]
-#
-# This uses environment variables XAUTHORITY and DISPLAY. You
-# can override that:
-#
-# vfb = [ 'sdl=1,xauthority=/home/bozo/.Xauthority,display=:1' ]
-#
-# To create one using the VNC backend and sensible defaults:
-#
-# vfb = [ 'vnc=1' ]
-#
-# 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 = [ 'vnc=1,vnclisten=127.0.0.1,vncdisplay=1' ]
-#
-# Or you can bind the first unused port above 5900:
-#
-# vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncunused=1' ]
-#
-# You can override the password:
-#
-# vfb = [ 'vnc=1,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' ]
-
-#----------------------------------------------------------------------------
-# 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'
-#
-# For backwards compatibility we also support the deprecated option restart
-#
-# restart = 'onreboot' means on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'destroy'
-#
-# restart = 'always' means on_poweroff = 'restart'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#
-# restart = 'never' means on_poweroff = 'destroy'
-# on_reboot = 'destroy'
-# on_crash = 'destroy'
-
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#-----------------------------------------------------------------------------
-# Configure PVSCSI devices:
-#
-#vscsi=[ 'PDEV, VDEV' ]
-#
-# 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 = [ '/dev/sdx, 0:0:0:0' ]
-
-#============================================================================
-
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample1 b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample1
deleted file mode 100644
index 08167bdb..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample1
+++ /dev/null
@@ -1,213 +0,0 @@
-# -*- mode: python; -*-
-#============================================================================
-# Python configuration setup for 'xm create'.
-# This script sets the parameters used when a domain is created using 'xm create'.
-# You use a separate script for each domain you want to create, or
-# you can set the parameters for the domain on the xm command line.
-#============================================================================
-
-#----------------------------------------------------------------------------
-# Kernel image file and (optional) ramdisk (initrd).
-kernel = "/boot/vmlinuz-xen"
-ramdisk = "/boot/initrd-xen"
-
-# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS
-#bootloader = "/usr/lib/xen/boot/domUloader.py"
-#bootentry = "hda2:/vmlinuz-xen,/initrd-xen"
-
-# The domain build function. Default is 'linux'.
-#builder='linux'
-
-# Initial memory allocation (in megabytes) for the new domain.
-#
-# WARNING: Creating a domain with insufficient memory may cause out of
-# memory errors. The domain needs enough memory to boot kernel
-# and modules. Allocating less than 32MBs is not recommended.
-memory = 64
-
-# A name for your domain. All domains must have different names.
-name = "ExampleDomain"
-
-# 128-bit UUID for the domain. The default behavior is to generate a new UUID
-# on each call to 'xm create'.
-#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
-
-# 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
-
-# Number of Virtual CPUS to use, default is 1
-#vcpus = 1
-
-#----------------------------------------------------------------------------
-# 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 = [ '' ]
-
-#----------------------------------------------------------------------------
-# 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' ]
-
-#----------------------------------------------------------------------------
-# Define frame buffer device.
-#
-# By default, no frame buffer device is configured.
-#
-# To create one using the SDL backend and sensible defaults:
-#
-# vfb = [ 'sdl=1' ]
-#
-# This uses environment variables XAUTHORITY and DISPLAY. You
-# can override that:
-#
-# vfb = [ 'sdl=1,xauthority=/home/bozo/.Xauthority,display=:1' ]
-#
-# To create one using the VNC backend and sensible defaults:
-#
-# vfb = [ 'vnc=1' ]
-#
-# 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 = [ 'vnc=1,vnclisten=127.0.0.1,vncdisplay=1' ]
-#
-# Or you can bind the first unused port above 5900:
-#
-# vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncunused=1' ]
-#
-# You can override the password:
-#
-# vfb = [ 'vnc=1,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="dhcp"
-# Set netmask.
-#netmask=
-# Set default gateway.
-#gateway=
-# Set the hostname.
-#hostname= "vm%d" % vmid
-
-# Set root device.
-root = "/dev/hda1"
-
-# Root device for nfs.
-#root = "/dev/nfs"
-# The nfs server.
-#nfs_server = '192.0.2.1'
-# Root directory on the nfs server.
-#nfs_root = '/full/path/to/root/directory'
-
-# Extra arguments to pass to the kernel.
-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'
-#
-# For backwards compatibility we also support the deprecated option restart
-#
-# restart = 'onreboot' means on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'destroy'
-#
-# restart = 'always' means on_poweroff = 'restart'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#
-# restart = 'never' means on_poweroff = 'destroy'
-# on_reboot = 'destroy'
-# on_crash = 'destroy'
-
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#-----------------------------------------------------------------------------
-# Configure PVSCSI devices:
-#
-#vscsi=[ 'PDEV, VDEV' ]
-#
-# 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 = [ '/dev/sdx, 0:0:0:0' ]
-
-#============================================================================
-
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample2 b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample2
deleted file mode 100644
index 189687a8..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample2
+++ /dev/null
@@ -1,248 +0,0 @@
-# -*- mode: python; -*-
-#============================================================================
-# Example Python setup script for 'xm create'.
-# This script sets the parameters used when a domain is created using 'xm create'.
-#
-# This is a relatively advanced script that uses a parameter, vmid, to control
-# the settings. So this script can be used to start a set of domains by
-# setting the vmid parameter on the 'xm create' command line. For example:
-#
-# xm create vmid=1
-# xm create vmid=2
-# xm create vmid=3
-#
-# The vmid is purely a script variable, and has no effect on the the domain
-# id assigned to the new domain.
-#============================================================================
-
-# Define script variables here.
-# xm_vars is defined automatically, use xm_vars.var() to define a variable.
-
-# This function checks that 'vmid' has been given a valid value.
-# It is called automatically by 'xm create'.
-def vmid_check(var, val):
- val = int(val)
- if val <= 0:
- raise ValueError
- return val
-
-# Define the 'vmid' variable so that 'xm create' knows about it.
-xm_vars.var('vmid',
- use="Virtual machine id. Integer greater than 0.",
- check=vmid_check)
-
-# Check the defined variables have valid values..
-xm_vars.check()
-
-#----------------------------------------------------------------------------
-# Kernel image file and (optional) ramdisk (initrd).
-kernel = "/boot/vmlinuz-xen"
-ramdisk = "/boot/initrd-xen"
-
-# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS
-#bootloader = "/usr/lib/xen/boot/domUloader.py"
-#bootentry = "hda2:/vmlinuz-xen,/initrd-xen"
-
-# The domain build function. Default is 'linux'.
-#builder='linux'
-
-# Initial memory allocation (in megabytes) for the new domain.
-#
-# WARNING: Creating a domain with insufficient memory may cause out of
-# memory errors. The domain needs enough memory to boot kernel
-# and modules. Allocating less than 32MBs is not recommended.
-memory = 64
-
-# A name for the new domain. All domains have to have different names,
-# so we use the vmid to create a name.
-name = "VM%d" % vmid
-
-# 128-bit UUID for the domain. The default behavior is to generate a new UUID
-# on each call to 'xm create'.
-#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
-
-# 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
-#cpus = "%s" % vmid # set based on vmid (mod number of CPUs)
-
-# Number of Virtual CPUS to use, default is 1
-#vcpus = 1
-vcpus = 4 # make your domain a 4-way
-
-#----------------------------------------------------------------------------
-# 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 = [ '' ]
-
-#----------------------------------------------------------------------------
-# 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.
-
-# This makes the disk device depend on the vmid - assuming
-# that devices sda7, sda8 etc. exist. The device is exported
-# to all domains as sda1.
-# All domains get sda6 read-only (to use for /usr, see below).
-disk = [ 'phy:sda%d,sda1,w' % (7+vmid),
- 'phy:sda6,sda6,r' ]
-
-#----------------------------------------------------------------------------
-# Define frame buffer device.
-#
-# By default, no frame buffer device is configured.
-#
-# To create one using the SDL backend and sensible defaults:
-#
-# vfb = [ 'sdl=1' ]
-#
-# This uses environment variables XAUTHORITY and DISPLAY. You
-# can override that:
-#
-# vfb = [ 'sdl=1,xauthority=/home/bozo/.Xauthority,display=:1' ]
-#
-# To create one using the VNC backend and sensible defaults:
-#
-# vfb = [ 'vnc=1' ]
-#
-# 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 = [ 'vnc=1,vnclisten=127.0.0.1,vncdisplay=%d' % vmid ]
-#
-# Or you can bind the first unused port above 5900:
-#
-# vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncunused=1' ]
-#
-# You can override the password:
-#
-# vfb = [ 'vnc=1,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=%d,backend=0' % (vmid) ]
-
-#----------------------------------------------------------------------------
-# 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="dhcp"
-# Set netmask.
-#netmask=
-# Set default gateway.
-#gateway=
-# Set the hostname.
-#hostname= "vm%d" % vmid
-
-# Set root device.
-root = "/dev/sda1"
-
-# Root device for nfs.
-#root = "/dev/nfs"
-# The nfs server.
-#nfs_server = '192.0.2.1'
-# Root directory on the nfs server.
-#nfs_root = '/full/path/to/root/directory'
-
-# Sets the device for /usr.
-extra = "VMID=%d usr=/dev/sda6" % vmid
-
-#----------------------------------------------------------------------------
-# 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'
-#
-# For backwards compatibility we also support the deprecated option restart
-#
-# restart = 'onreboot' means on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'destroy'
-#
-# restart = 'always' means on_poweroff = 'restart'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#
-# restart = 'never' means on_poweroff = 'destroy'
-# on_reboot = 'destroy'
-# on_crash = 'destroy'
-
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#-----------------------------------------------------------------------------
-# Configure PVSCSI devices:
-#
-#vscsi=[ 'PDEV, VDEV' ]
-#
-# 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 = [ '/dev/sdx, 0:0:0:0' ]
-
-#============================================================================
diff --git a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample3 b/os-plugins/plugins/xen/files/xen.examples/examples/xmexample3
deleted file mode 100644
index e82424e7..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/examples/xmexample3
+++ /dev/null
@@ -1,234 +0,0 @@
-# -*- mode: python; -*-
-#============================================================================
-# Example Python setup script for 'xm create'.
-# This script sets the parameters used when a domain is created using 'xm create'.
-#
-# This is a relatively advanced script that uses a parameter, vmid, to control
-# the settings. So this script can be used to start a set of domains by
-# setting the vmid parameter on the 'xm create' command line. For example:
-#
-# xm create vmid=1
-# xm create vmid=2
-# xm create vmid=3
-#
-# The vmid is purely a script variable, and has no effect on the the domain
-# id assigned to the new domain.
-#============================================================================
-
-# Define script variables here.
-# xm_vars is defined automatically, use xm_vars.var() to define a variable.
-
-# This function checks that 'vmid' has been given a valid value.
-# It is called automatically by 'xm create'.
-def vmid_check(var, val):
- val = int(val)
- if val <= 0:
- raise ValueError
- return val
-
-# Define the 'vmid' variable so that 'xm create' knows about it.
-xm_vars.var('vmid',
- use="Virtual machine id. Integer greater than 0.",
- check=vmid_check)
-
-# Check the defined variables have valid values..
-xm_vars.check()
-
-#----------------------------------------------------------------------------
-# Kernel image file and (optional) ramdisk (initrd).
-kernel = "/boot/vmlinuz-xen"
-ramdisk = "/boot/initrd-xen"
-
-# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS
-#bootloader = "/usr/lib/xen/boot/domUloader.py"
-#bootentry = "hda2:/vmlinuz-xen,/initrd-xen"
-
-# The domain build function. Default is 'linux'.
-#builder='linux'
-
-# Initial memory allocation (in megabytes) for the new domain.
-#
-# WARNING: Creating a domain with insufficient memory may cause out of
-# memory errors. The domain needs enough memory to boot kernel
-# and modules. Allocating less than 32MBs is not recommended.
-memory = 64
-
-# A name for the new domain. All domains have to have different names,
-# so we use the vmid to create a name.
-name = "VM%d" % vmid
-
-# 128-bit UUID for the domain. The default behavior is to generate a new UUID
-# on each call to 'xm create'.
-#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
-
-# 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
-cpus = "%s" % vmid # set based on vmid (mod number of CPUs)
-
-#----------------------------------------------------------------------------
-# Define network interfaces.
-
-# Optionally define mac and/or bridge for the network interfaces.
-# Random MACs are assigned if not given.
-
-vif = [ 'ip=192.168.%d.1/24' % (vmid)]
-
-#----------------------------------------------------------------------------
-# 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.
-
-# This makes the disk device depend on the vmid - assuming
-# tHat devices sda7, sda8 etc. exist. The device is exported
-# to all domains as sda1.
-# All domains get sda6 read-only (to use for /usr, see below).
-disk = [ 'phy:hda%d,hda1,w' % (vmid)]
-
-#----------------------------------------------------------------------------
-# Define frame buffer device.
-#
-# By default, no frame buffer device is configured.
-#
-# To create one using the SDL backend and sensible defaults:
-#
-# vfb = [ 'sdl=1' ]
-#
-# This uses environment variables XAUTHORITY and DISPLAY. You
-# can override that:
-#
-# vfb = [ 'sdl=1,xauthority=/home/bozo/.Xauthority,display=:1' ]
-#
-# To create one using the VNC backend and sensible defaults:
-#
-# vfb = [ 'vnc=1' ]
-#
-# 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 = [ 'vnc=1,vnclisten=127.0.0.1,vncdisplay=%d' % vmid ]
-#
-# Or you can bind the first unused port above 5900:
-#
-# vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncunused=1' ]
-#
-# You can override the password:
-#
-# vfb = [ 'vnc=1,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=%d,backend=0' % (vmid) ]
-
-#----------------------------------------------------------------------------
-# 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="off"
-ip="192.168.%d.2" % (vmid)
-# Set netmask.
-netmask="255.255.255.0"
-# Set default gateway.
-gateway="192.168.%d.1" % (vmid)
-# Set the hostname.
-hostname= "domain-%d.xeno" % vmid
-
-# Set root device.
-root = "/dev/hda1 ro"
-
-# Root device for nfs.
-#root = "/dev/nfs"
-# The nfs server.
-#nfs_server = "10.212.4.103"
-# Root directory on the nfs server.
-#nfs_root = "/path/to/root/filesystem"
-
-# Sets runlevel 4 and the device for /usr.
-extra = "4 VMID=%d" % vmid
-
-#----------------------------------------------------------------------------
-# 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'
-#
-# For backwards compatibility we also support the deprecated option restart
-#
-# restart = 'onreboot' means on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'destroy'
-#
-# restart = 'always' means on_poweroff = 'restart'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#
-# restart = 'never' means on_poweroff = 'destroy'
-# on_reboot = 'destroy'
-# on_crash = 'destroy'
-
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#-----------------------------------------------------------------------------
-# Configure PVSCSI devices:
-#
-#vscsi=[ 'PDEV, VDEV' ]
-#
-# 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 = [ '/dev/sdx, 0:0:0:0' ]
-
-#============================================================================
diff --git a/os-plugins/plugins/xen/files/xen.examples/images b/os-plugins/plugins/xen/files/xen.examples/images
deleted file mode 120000
index 0fb07d14..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/images
+++ /dev/null
@@ -1 +0,0 @@
-/var/lib/xen/images \ No newline at end of file
diff --git a/os-plugins/plugins/xen/files/xen.examples/qemu-ifup b/os-plugins/plugins/xen/files/xen.examples/qemu-ifup
deleted file mode 100755
index ad46c9f9..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/qemu-ifup
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-echo 'config qemu network with xen bridge for ' $*
-
-# If bridge is not specified, try device with default route.
-bridge=$2
-if [ -z "$bridge" ]; then
- bridge=$(ip route list | awk '/^default / { print $NF }')
-fi
-
-# Exit if $bridge is not a bridge. Exit with 0 status
-# so qemu-dm process is not terminated. No networking in
-# vm is bad but not catastrophic. The vm could still run
-# cpu and disk IO workloads.
-# Include an useful error message in qemu-dm log file.
-if [ ! -e "/sys/class/net/${bridge}/bridge" ]
-then
- echo "WARNING! ${bridge} is not a bridge. qemu-ifup exiting. VM may not have a functioning networking stack."
- exit 0
-fi
-
-ifconfig $1 0.0.0.0 up
-brctl addif $bridge $1 || true
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/blktap b/os-plugins/plugins/xen/files/xen.examples/scripts/blktap
deleted file mode 100755
index 01a0f6c6..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/blktap
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2005, XenSource Ltd.
-
-dir=$(dirname "$0")
-. "$dir/xen-hotplug-common.sh"
-. "$dir/block-common.sh"
-
-findCommand "$@"
-
-##
-# check_blktap_sharing file mode
-#
-# Perform the sharing check for the given blktap and mode.
-#
-check_blktap_sharing()
-{
- local file="$1"
- local mode="$2"
-
- local base_path="$XENBUS_BASE_PATH/$XENBUS_TYPE"
- for dom in $(xenstore-list "$base_path")
- do
- for dev in $(xenstore-list "$base_path/$dom")
- do
- params=$(xenstore_read "$base_path/$dom/$dev/params" | cut -d: -f2)
- if [ "$file" = "$params" ]
- then
-
- if [ "$mode" = 'w' ]
- then
- if ! same_vm "$dom"
- then
- echo 'guest'
- return
- fi
- else
- local m=$(xenstore_read "$base_path/$dom/$dev/mode")
- m=$(canonicalise_mode "$m")
-
- if [ "$m" = 'w' ]
- then
- if ! same_vm "$dom"
- then
- echo 'guest'
- return
- fi
- fi
- fi
- fi
- done
- done
-
- echo 'ok'
-}
-
-
-t=$(xenstore_read_default "$XENBUS_PATH/type" 'MISSING')
-if [ -n "$t" ]
-then
- p=$(xenstore_read "$XENBUS_PATH/params")
- # if we have a ':', chew from head including :
- if echo $p | grep -q \:
- then
- p=${p#*:}
- fi
-fi
-# some versions of readlink cannot be passed a regular file
-if [ -L "$p" ]; then
- file=$(readlink -f "$p") || fatal "$p link does not exist."
-else
- file="$p"
-fi
-
-if [ "$command" = 'add' ]
-then
- [ -e "$file" ] || { fatal $file does not exist; }
-
- FRONTEND_ID=$(xenstore_read "$XENBUS_PATH/frontend-id")
- FRONTEND_UUID=$(xenstore_read "/local/domain/$FRONTEND_ID/vm")
- mode=$(xenstore_read "$XENBUS_PATH/mode")
- mode=$(canonicalise_mode "$mode")
-
- if [ "$mode" != '!' ]
- then
- result=$(check_blktap_sharing "$file" "$mode")
- [ "$result" = 'ok' ] || ebusy "$file already in use by other domain"
- fi
-
- success
-fi
-
-exit 0
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block b/os-plugins/plugins/xen/files/xen.examples/scripts/block
deleted file mode 100755
index cf579ed4..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/block
+++ /dev/null
@@ -1,398 +0,0 @@
-#!/bin/bash
-
-dir=$(dirname "$0")
-. "$dir/block-common.sh"
-
-expand_dev() {
- local dev
- case $1 in
- /*)
- dev=$1
- ;;
- *)
- dev=/dev/$1
- ;;
- esac
- echo -n $dev
-}
-
-
-##
-# check_sharing device mode
-#
-# Check whether the device requested is already in use. To use the device in
-# read-only mode, it may be in use in read-only mode, but may not be in use in
-# read-write anywhere at all. To use the device in read-write mode, it must
-# not be in use anywhere at all.
-#
-# Prints one of
-#
-# 'local': the device may not be used because it is mounted in the current
-# (i.e. the privileged domain) in a way incompatible with the
-# requested mode;
-# 'guest': the device may not be used because it already mounted by a guest
-# in a way incompatible with the requested mode; or
-# 'ok': the device may be used.
-#
-check_sharing()
-{
- local dev="$1"
- local mode="$2"
-
- local devmm=$(device_major_minor "$dev")
- local file
-
- if [ "$mode" = 'w' ]
- then
- toskip="^$"
- else
- toskip="^[^ ]* [^ ]* [^ ]* ro[, ]"
- fi
-
- for file in $(cat /proc/mounts | grep -v "$toskip" | cut -f 1 -d ' ')
- do
- if [ -e "$file" ]
- then
- local d=$(device_major_minor "$file")
-
- if [ "$d" = "$devmm" ]
- then
- echo 'local'
- return
- fi
- fi
- done
-
- local base_path="$XENBUS_BASE_PATH/$XENBUS_TYPE"
- for dom in $(xenstore-list "$base_path")
- do
- for dev in $(xenstore-list "$base_path/$dom")
- do
- d=$(xenstore_read_default "$base_path/$dom/$dev/physical-device" "")
-
- if [ "$d" = "$devmm" ]
- then
- if [ "$mode" = 'w' ]
- then
- if ! same_vm $dom
- then
- echo 'guest'
- return
- fi
- else
- local m=$(xenstore_read "$base_path/$dom/$dev/mode")
- m=$(canonicalise_mode "$m")
-
- if [ "$m" = 'w' ]
- then
- if ! same_vm $dom
- then
- echo 'guest'
- return
- fi
- fi
- fi
- fi
- done
- done
-
- echo 'ok'
-}
-
-
-##
-# check_device_sharing dev mode
-#
-# Perform the sharing check for the given physical device and mode.
-#
-check_device_sharing()
-{
- local dev="$1"
- local mode=$(canonicalise_mode "$2")
- local result
-
- if [ "x$mode" = 'x!' ]
- then
- return 0
- fi
-
- result=$(check_sharing "$dev" "$mode")
-
- if [ "$result" != 'ok' ]
- then
- do_ebusy "Device $dev is mounted " "$mode" "$result"
- fi
-}
-
-
-##
-# check_device_sharing file dev mode
-#
-# Perform the sharing check for the given file mounted through the given
-# loopback interface, in the given mode.
-#
-check_file_sharing()
-{
- local file="$1"
- local dev="$2"
- local mode="$3"
-
- result=$(check_sharing "$dev" "$mode")
-
- if [ "$result" != 'ok' ]
- then
- do_ebusy "File $file is loopback-mounted through $dev,
-which is mounted " "$mode" "$result"
- fi
-}
-
-
-##
-# do_ebusy prefix mode result
-#
-# Helper function for check_device_sharing check_file_sharing, calling ebusy
-# with an error message constructed from the given prefix, mode, and result
-# from a call to check_sharing.
-#
-do_ebusy()
-{
- local prefix="$1"
- local mode="$2"
- local result="$3"
-
- if [ "$result" = 'guest' ]
- then
- dom='a guest '
- when='now'
- else
- dom='the privileged '
- when='by a guest'
- fi
-
- if [ "$mode" = 'w' ]
- then
- m1=''
- m2=''
- else
- m1='read-write '
- m2='read-only '
- fi
-
- release_lock "block"
- ebusy \
-"${prefix}${m1}in ${dom}domain,
-and so cannot be mounted ${m2}${when}."
-}
-
-
-t=$(xenstore_read_default "$XENBUS_PATH/type" 'MISSING')
-
-case "$command" in
- add)
- phys=$(xenstore_read_default "$XENBUS_PATH/physical-device" 'MISSING')
- if [ "$phys" != 'MISSING' ]
- then
- # Depending upon the hotplug configuration, it is possible for this
- # script to be called twice, so just bail.
- exit 0
- fi
-
- if [ -n "$t" ]
- then
- p=$(xenstore_read "$XENBUS_PATH/params")
- mode=$(xenstore_read "$XENBUS_PATH/mode")
- fi
- FRONTEND_ID=$(xenstore_read "$XENBUS_PATH/frontend-id")
- FRONTEND_UUID=$(xenstore_read_default \
- "/local/domain/$FRONTEND_ID/vm" 'unknown')
-
- case $t in
- phy)
- dev=$(expand_dev $p)
-
- if [ -L "$dev" ]
- then
- dev=$(readlink -f "$dev") || fatal "$dev link does not exist."
- fi
- test -e "$dev" || fatal "$dev does not exist."
- test -b "$dev" || fatal "$dev is not a block device."
-
- claim_lock "block"
- check_device_sharing "$dev" "$mode"
- write_dev "$dev"
- release_lock "block"
- exit 0
- ;;
-
- file)
- lo_flags=""
- [ "${mode/S}" = "$mode" ] || lo_flags="-y"
- # Canonicalise the file, for sharing check comparison, and the mode
- # for ease of use here.
- file=$(readlink -f "$p") || fatal "$p does not exist."
- test -f "$file" || fatal "$file does not exist."
- mode=$(canonicalise_mode "$mode")
- [ "$mode" = "r" ] && lo_flags="$lo_flags -r"
-
- claim_lock "block"
-
- if [ "$mode" = 'w' ] && ! stat "$file" -c %A | grep -q w
- then
- release_lock "block"
- ebusy \
-"File $file is read-only, and so I will not
-mount it read-write in a guest domain."
- fi
-
- losetup_failure=1
- for do_losetup in 1 2 3
- do
- loopdev=''
- for dev in /dev/loop*
- do
- if [ ! -b "$dev" ]
- then
- continue
- fi
-
- f=$(losetup "$dev" 2>/dev/null) || f=''
-
- if [ "$f" ]
- then
- # $dev is in use. Check sharing.
- if [ "x$mode" = 'x!' ]
- then
- continue
- fi
-
- f=$(echo "$f" | sed -e 's/.*(\(.*\)).*/\1/g')
-
- # $f is the filename, as read from losetup, but the loopback
- # driver truncates filenames at 64 characters, so we need to go
- # trawling through the store if it's longer than that. Truncation
- # is indicated by an asterisk at the end of the filename.
- if expr index "$f" '*' >/dev/null
- then
- found=""
- for dom in $(xenstore-list "$XENBUS_BASE_PATH")
- do
- for domdev in $(xenstore-list "$XENBUS_BASE_PATH/$dom")
- do
- d=$(xenstore_read_default \
- "$XENBUS_BASE_PATH/$dom/$domdev/node" "")
- if [ "$d" = "$dev" ]
- then
- f=$(xenstore_read "$XENBUS_BASE_PATH/$dom/$domdev/params")
- found=1
- break 2
- fi
- done
- done
-
- if [ ! "$found" ]
- then
- # This loopback device is in use by someone else, so skip it.
- log debug "Loopback sharing check skips device $dev."
- continue
- fi
- fi
-
- # Canonicalise the filename for the comparison.
-
- # I have seen this readlink fails because the filename given by
- # losetup is only the basename. This cannot happen when the loop
- # device is set up through this script, because file is
- # canonicalised above, but it may happen when loop devices are set
- # up some other way. This readlink may also conceivably fail if
- # the file backing this loop device has been removed.
-
- # For maximum safety, in the case that $f does not resolve, we
- # assume that $file and $f are in the same directory.
-
- # If you create a loopback filesystem, remove it and continue to
- # run on it, and then create another file with the same name, then
- # this check will block that -- don't do that.
-
- # If you create loop devices through some other mechanism, use
- # relative filenames, and then use the same filename through this
- # script, then this check will block that -- don't do that either.
-
- f=$(readlink -f "$f" || echo $(dirname "$file")/$(basename "$f"))
-
-
- if [ "$f" = "$file" ]
- then
- check_file_sharing "$file" "$dev" "$mode"
- fi
- else
- # $dev is not in use, so we'll remember it for use later; we want
- # to finish the sharing check first.
-
- if [ "$loopdev" = '' ]
- then
- loopdev="$dev"
- fi
- fi
- done
-
- if [ "$loopdev" = '' ]
- then
- release_lock "block"
- fatal 'Failed to find an unused loop device'
- fi
-
- losetup $lo_flags "$loopdev" "$file" && losetup_failure="" && break
- done
-
- if [ "$losetup_failure" ]
- then
- fatal 'losetup $lo_flags $loopdev $file'
- fi
-
- xenstore_write "$XENBUS_PATH/node" "$loopdev"
- write_dev "$loopdev"
- release_lock "block"
- exit 0
- ;;
-
- "")
- claim_lock "block"
- success
- release_lock "block"
- ;;
- esac
- ;;
-
- remove)
- case $t in
- phy)
- exit 0
- ;;
-
- file)
- node=$(xenstore_read "$XENBUS_PATH/node")
-
- #In case the loopback is temporarily blocked, retry the losetup -d.
- for i in 1 2 3 4 5
- do
- if losetup -d "$node"
- then
- exit 0
- fi
- sleep 1
- done
- log err "losetup -d $node failed."
- exit 1
- ;;
-
- "")
- exit 0
- ;;
- esac
- ;;
-
-esac
-
-# If we've reached here, $t is neither phy nor file, so fire a helper script.
-[ -x /etc/xen/scripts/block-"$t" ] && \
- /etc/xen/scripts/block-"$t" "$command" $node
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/block-common.sh
deleted file mode 100644
index efedbf50..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/block-common.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-#
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-
-dir=$(dirname "$0")
-. "$dir/xen-hotplug-common.sh"
-
-findCommand "$@"
-
-if [ "$command" != "add" ] &&
- [ "$command" != "remove" ]
-then
- log err "Invalid command: $command"
- exit 1
-fi
-
-
-XENBUS_PATH="${XENBUS_PATH:?}"
-
-
-ebusy()
-{
- xenstore_write "$XENBUS_PATH/hotplug-error" "$*" \
- "$XENBUS_PATH/hotplug-status" busy
- log err "$@"
- exit 1
-}
-
-
-##
-# Print the given device's major and minor numbers, written in hex and
-# separated by a colon.
-device_major_minor()
-{
- stat -L -c %t:%T "$1"
-}
-
-
-##
-# Write physical-device = MM,mm to the store, where MM and mm are the major
-# and minor numbers of device respectively.
-#
-# @param device The device from which major and minor numbers are read, which
-# will be written into the store.
-#
-write_dev() {
- local mm
-
- mm=$(device_major_minor "$1")
-
- if [ -z $mm ]
- then
- fatal "Backend device does not exist"
- fi
-
- xenstore_write "$XENBUS_PATH/physical-device" "$mm"
-
- success
-}
-
-
-##
-# canonicalise_mode mode
-#
-# Takes the given mode, which may be r, w, ro, rw, w!, or rw!, or variations
-# thereof, and canonicalises them to one of
-#
-# 'r': perform checks for a new read-only mount;
-# 'w': perform checks for a read-write mount; or
-# '!': perform no checks at all.
-#
-canonicalise_mode()
-{
- local mode="$1"
-
- if ! expr index "$mode" 'w' >/dev/null
- then
- echo 'r'
- elif ! expr index "$mode" '!' >/dev/null
- then
- echo 'w'
- else
- echo '!'
- fi
-}
-
-
-same_vm()
-{
- local otherdom="$1"
- # Note that othervm can be MISSING here, because Xend will be racing with
- # the hotplug scripts -- the entries in /local/domain can be removed by
- # Xend before the hotplug scripts have removed the entry in
- # /local/domain/0/backend/. In this case, we want to pretend that the
- # VM is the same as FRONTEND_UUID, because that way the 'sharing' will be
- # allowed.
- local othervm=$(xenstore_read_default "/local/domain/$otherdom/vm" \
- "$FRONTEND_UUID")
- local target=$(xenstore_read_default "/local/domain/$FRONTEND_ID/target" \
- "-1")
- [ "$FRONTEND_UUID" = "$othervm" -o "$target" = "$otherdom" ]
-}
-
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block-iscsi b/os-plugins/plugins/xen/files/xen.examples/scripts/block-iscsi
deleted file mode 100755
index f473a0a9..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/block-iscsi
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/bash
-
-# Usage: block-iscsi [add tgtname | remove dev]
-#
-# This assumes you're running a correctly configured
-# iscsi target (server) at the other end!
-# Note that we assume that the passwords for discovery (if needed)
-# are in /etc/iscsid.conf
-# and the node session passwords (if required) in the
-# open-iscsi database below /var/lib/open-iscsi/node.db
-#
-# (c) Kurt Garloff <kurt@garloff.de>, 2006-09-04, GNU GPL
-# Contributors: Jim Fehlig <jfehlig@novell.com>
-# Stefan de Konink <skinkie@xs4all.nl>
-
-dir=$(dirname "$0")
-. "$dir/block-common.sh"
-
-# echo "DBG:xen/scripts/block-iscsi $1 $2 XENBUS_PATH=$XENBUS_PATH $par $node"
-
-find_sdev()
-{
- unset dev
- for session in /sys/class/iscsi_session/session*; do
- if [ "$1" = "`cat $session/targetname`" ]; then
- dev=`basename $session/device/target*/*:0:*/block*/*`
- return
- fi
- done
-}
-
-find_sdev_rev()
-{
- unset tgt
- for session in /sys/class/iscsi_session/session*; do
- dev=`basename $session/device/target*/*:0:*/block*/*`
- if [ "$dev" = "$1" ]; then
- tgt=`cat $session/targetname`
- return
- fi
- done
-}
-
-case "$command" in
- add)
- # load modules and start iscsid
- /etc/init.d/open-iscsi status >/dev/null 2>&1 ||
- { /etc/init.d/open-iscsi start >/dev/null 2>&1; sleep 1; }
- # list of targets on node
- /sbin/iscsiadm -m discovery | sed "s/ .*//g" | while read line; do /sbin/iscsiadm -m discovery -t sendtargets -p $line; done >/dev/null
- par=`xenstore-read $XENBUS_PATH/params` || true
- TGTID=`echo $par | sed "s/\/\///g"`
- while read rec uuid; do
- if [ "$uuid" = "$TGTID" ]; then
- find_sdev $TGTID
- if [ -z "$dev" ]; then
- /sbin/iscsiadm -m node -T $uuid -p $rec --login || exit 2
- sleep 4
- find_sdev $TGTID
- fi
- xenstore-write $XENBUS_PATH/node /dev/$dev
- write_dev /dev/$dev
- exit 0
- fi
- done < <(/sbin/iscsiadm -m node)
- exit 1
- ;;
-
- remove)
- node=`xenstore-read $XENBUS_PATH/node` || true
- dev=$node; dev=${dev#/dev/}
- find_sdev_rev $dev
- if [ -x /sbin/blockdev -a -n "$node" ]; then blockdev --flushbufs "$node"; fi
- test -z "$tgt" && exit 2
- /sbin/iscsiadm -m node -T $tgt --logout
- exit 1
- ;;
-esac
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd b/os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd
deleted file mode 100755
index d4571152..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-# Usage: block-nbd [bind server ctl_port |unbind node]
-#
-# The node argument to unbind is the name of the device node we are to
-# unbind.
-#
-# This assumes you're running a correctly configured server at the other end!
-
-dir=$(dirname "$0")
-. "$dir/block-common.sh"
-
-#set -x
-par=`xenstore-read $XENBUS_PATH/params` || true
-#echo $par
-
-case "$command" in
- add)
- modprobe nbd
- for dev in /dev/nbd*; do
- if nbd-client $par $dev; then
- xenstore-write $XENBUS_PATH/node $dev
- write_dev $dev
- exit 0
- fi
- done
- exit 1
- ;;
- remove)
- node=`xenstore-read $XENBUS_PATH/node` || true
- nbd-client -d $node
- exit 0
- ;;
-esac
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv b/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv
deleted file mode 100755
index 19719dab..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/bash
-
-# Usage: block-npiv [add npiv | remove dev]
-
-dir=$(dirname "$0")
-. "$dir/block-npiv-common.sh"
-. "$dir/block-common.sh"
-
-#set -x
-#command=$1
-
-case "$command" in
- add)
- # Params is one big arg, with fields separated by hyphens:
- # FABRIC-VPWWPN-VPWWNN-TGTWWPN-LUN#
- # arg 2 - Fabric Name
- # arg 3 - VPORT's WWPN
- # arg 4 - VPORT's WWNN
- # arg 5 - Target's WWPN
- # arg 6 - LUN # on Target
- # no wwn contains a leading 0x - it is a 16 character hex value
- # You may want to optionally pick a specific adapter ?
- par=`xenstore-read $XENBUS_PATH/params` || true
- #par=$2
- NPIVARGS=$par;
- LUN=${NPIVARGS##*-*-*-*-}; NPIVARGS=${NPIVARGS%-*}
- if test $LUN = $NPIVARGS ; then exit 1; fi
- TGTWWPN=${NPIVARGS##*-*-*-}; NPIVARGS=${NPIVARGS%-*}
- if test $TGTWWPN = $NPIVARGS ; then exit 1; fi
- VPORTWWNN=${NPIVARGS##*-*-}; NPIVARGS=${NPIVARGS%-*}
- if test $VPORTWWNN = $NPIVARGS ; then exit 1; fi
- VPORTWWPN=${NPIVARGS##*-}; NPIVARGS=${NPIVARGS%-*}
- if test $VPORTWWPN = $NPIVARGS ; then exit 1; fi
- FABRICNM=$NPIVARGS
-
- # Ensure we compare everything using lower-case hex characters
- TGTWWPN=`echo $TGTWWPN | tr A-Z a-z`
- VPORTWWPN=`echo $VPORTWWPN | tr A-Z a-z`
- VPORTWWNN=`echo $VPORTWWNN | tr A-Z a-z`
- FABRICNM=`echo $FABRICNM | tr A-Z a-z`
-
- find_vhost $VPORTWWPN
- if test -z "$vhost" ; then
- create_vport $FABRICNM $VPORTWWPN $VPORTWWNN
- if [ $? -ne 0 ] ; then exit 2; fi
- sleep 8
- find_vhost $VPORTWWPN
- if test -z "$vhost" ; then exit 3; fi
- fi
- find_sdev $vhost $TGTWWPN $LUN
- if test -z "$dev"; then
- echo "- - -" > /sys/class/scsi_host/$vhost/scan
- sleep 2
- find_sdev $vhost $TGTWWPN $LUN
- fi
- if test ! -z "$dev"; then
- xenstore-write $XENBUS_PATH/node /dev/$dev
- write_dev /dev/$dev
- exit 0
- fi
-
- exit 4
- ;;
-
- remove)
- node=`xenstore-read $XENBUS_PATH/node` || true
- #node=$2
- dev=$node; dev=${dev#/dev/}
- # this is really screwy. the first delete of a lun will
- # terminate the entire vport (all luns)
- find_vhost_from_dev $dev
- if test -z "$vhost" ; then exit 5; fi
- flush_nodes_on_vhost $vhost
- delete_vhost $vhost
- exit 0
- ;;
-esac
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-common.sh
deleted file mode 100755
index dcf71036..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-common.sh
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
-# Look for the NPIV vport with the WWPN
-# $1 contains the WWPN (assumes it does not contain a leading "0x")
-find_vhost()
-{
- unset vhost
-
- # look in upstream locations
- for fchost in /sys/class/fc_vports/* ; do
- if test -e $fchost/port_name ; then
- wwpn=`cat $fchost/port_name | sed -e s/^0x//`
- if test $wwpn = $1 ; then
- # Note: makes the assumption the vport will always have an scsi_host child
- vhost=`ls -d $fchost/device/host*`
- vhost=`basename $vhost`
- return
- fi
- fi
- done
-
- # look in vendor-specific locations
-
- # Emulex - just looks like another scsi_host - so look at fc_hosts...
- for fchost in /sys/class/fc_host/* ; do
- if test -e $fchost/port_name ; then
- wwpn=`cat $fchost/port_name | sed -e s/^0x//`
- if test $wwpn = $1 ; then
- # Note: makes the assumption the vport will always have an scsi_host child
- vhost=`basename $fchost`
- return
- fi
- fi
- done
-}
-
-
-# Create a NPIV vport on the fabric w/ FABRICNM, with WWPN,WWNN
-# $1 contains FABRICNM
-# $2 contains the VPORT WWPN
-# $3 contains the VPORT WWNN
-# (assumes no name contains a leading "0x")
-create_vport()
-{
- # find a base adapter with npiv support that is on the right fabric
-
- # Look via upstream interfaces
- for fchost in /sys/class/fc_host/* ; do
- if test -e $fchost/vport_create ; then
- # is the link up, w/ NPIV support ?
- pstate=`cat $fchost/port_state`
- ptype=`cat $fchost/port_type | cut -c 1-5`
- fname=`cat $fchost/fabric_name | sed -e s/^0x//`
- if [ $pstate = "Online" -a $ptype = "NPort" -a $fname = $1 ] ; then
- vmax=`cat $fchost/max_npiv_vports`
- vinuse=`cat $fchost/npiv_vports_inuse`
- avail=`expr $vmax - $vinuse`
- if [ $avail -gt 0 ] ; then
- # create the vport
- echo $2":"$3 > $fchost/vport_create
- if [ $? -eq 0 ] ; then
- return 0
- fi
- # failed - so we'll just look for the next adapter
- fi
- fi
- fi
- done
-
- # Look in vendor-specific locations
-
- # Emulex: interfaces mirror upstream, but are under adapter scsi_host
- for shost in /sys/class/scsi_host/* ; do
- if [ -e $shost/vport_create ] ; then
- fchost=`ls -d $shost/device/fc_host*`
- # is the link up, w/ NPIV support ?
- pstate=`cat $fchost/port_state`
- ptype=`cat $fchost/port_type | cut -c 1-5`
- fname=`cat $fchost/fabric_name | sed -e s/^0x//`
- if [ $pstate = "Online" -a $ptype = "NPort" -a $fname = $1 ] ; then
- vmax=`cat $shost/max_npiv_vports`
- vinuse=`cat $shost/npiv_vports_inuse`
- avail=`expr $vmax - $vinuse`
- if [ $avail -gt 0 ] ; then
- # create the vport
- echo $2":"$3 > $shost/vport_create
- if [ $? -eq 0 ] ; then
- return 0
- fi
- # failed - so we'll just look for the next adapter
- fi
- fi
- fi
- done
-
- return 1
-}
-
-
-# Look for the LUN on the indicated scsi_host (which is an NPIV vport)
-# $1 is the scsi_host name (normalized to simply the hostX name)
-# $2 is the WWPN of the tgt port the lun is on
-# Note: this implies we don't support a multipath'd lun, or we
-# are explicitly identifying a "path"
-# $3 is the LUN number of the scsi device
-find_sdev()
-{
- unset dev
- hostno=${1/*host/}
- for sdev in /sys/class/scsi_device/${hostno}:*:$3 ; do
- if test -e $sdev/device/../fc_trans*/target${hostno}*/port_name ; then
- tgtwwpn=`cat $sdev/device/../fc_trans*/target${hostno}*/port_name | sed -e s/^0x//`
- if test $tgtwwpn = $2 ; then
- if test -e $sdev/device/block* ; then
- dev=`ls $sdev/device/block*`
- dev=${dev##*/}
- return
- fi
- fi
- fi
- done
-}
-
-
-# Look for the NPIV vhost based on a scsi "sdX" name
-# $1 is the "sdX" name
-find_vhost_from_dev()
-{
- unset vhost
- hostno=`readlink /sys/block/$1/device`
- hostno=${hostno##*/}
- hostno=${hostno%%:*}
- if test -z "$hostno" ; then return; fi
- vhost="host"$hostno
-}
-
-
-# We're about to terminate a vhost based on a scsi device
-# Flush all nodes on that vhost as they are about to go away
-# $1 is the vhost
-flush_nodes_on_vhost()
-{
- if test ! -x /sbin/blockdev ; then return; fi
- hostno=${1/*host/}
- for sdev in /sys/class/scsi_device/${hostno}:* ; do
- if test -e $sdev/device/block* ; then
- dev=`ls $sdev/device/block*`
- dev="/dev/"$dev
- if test -n "$dev"; then
- blockdev --flushbufs $dev
- fi
- fi
- done
-}
-
-
-# Terminate a NPIV vhost
-# $1 is vhost
-delete_vhost()
-{
- # use upstream interface
- for vport in /sys/class/fc_vports/* ; do
- if test -e $vport/device/$1 ; then
- if test -e $vport/vport_delete ; then
- echo "1" > $vport/vport_delete
- if test $? -ne 0 ; then exit 6; fi
- sleep 4
- return
- fi
- fi
- done
-
- # use vendor specific interface
-
- # Emulex
- if test -e /sys/class/fc_host/$1/device/../scsi_host*/lpfc_drvr_version ; then
- shost=`ls -1d /sys/class/fc_host/$1/device/../scsi_host* | sed s/.*scsi_host://`
- vportwwpn=`cat /sys/class/fc_host/$1/port_name | sed s/^0x//`
- vportwwnn=`cat /sys/class/fc_host/$1/node_name | sed s/^0x//`
- echo "$vportwwpn:$vportwwnn" > /sys/class/scsi_host/$shost/vport_delete
- if test $? -ne 0 ; then exit 6; fi
- sleep 4
- return
- fi
-
- # Qlogic
- if test -e /sys/class/fc_host/$1/device/../scsi_host*/driver_version ; then
- shost=`ls -1d /sys/class/fc_host/$1/device/../scsi_host* | sed s/.*scsi_host://`
- vportwwpn=`cat /sys/class/fc_host/$1/port_name | sed s/^0x//`
- vportwwnn=`cat /sys/class/fc_host/$1/node_name | sed s/^0x//`
- echo "$vportwwpn:$vportwwnn" > /sys/class/scsi_host/$shost/vport_delete
- if test $? -ne 0 ; then exit 6; fi
- sleep 4
- return
- fi
-
- exit 6
-}
-
-
-vport_status()
-{
- # Look via upstream interfaces
- for fchost in /sys/class/fc_host/* ; do
- if test -e $fchost/vport_create ; then
- vport_status_display $fchost $fchost
- fi
- done
-
- # Look in vendor-specific locations
-
- # Emulex: interfaces mirror upstream, but are under adapter scsi_host
- for shost in /sys/class/scsi_host/* ; do
- if [ -e $shost/vport_create ] ; then
- fchost=`ls -d $shost/device/fc_host*`
- vport_status_display $fchost $shost
- fi
- done
-
- return 0
-}
-
-
-vport_status_display()
-{
- echo
- echo "fc_host: " $2
- echo "port_state: " `cat $1/port_state`
- echo "port_type: " `cat $1/port_type`
- echo "fabric_name: " `cat $1/fabric_name`
- echo "max_npiv_vports: " `cat $2/max_npiv_vports`
- echo "npiv_vports_inuse: " `cat $2/npiv_vports_inuse`
- echo "modeldesc: " `cat $2/modeldesc`
- echo "speed: " `cat $1/speed`
-
- return 0
-}
-
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-vport b/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-vport
deleted file mode 100755
index 91185f74..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/block-npiv-vport
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/bash
-
-# Usage: block-npiv-vport [create npivargs | delete vportwwpn | status]
-
-dir=$(dirname "$0")
-. "$dir/block-npiv-common.sh"
-
-#set -x
-command=$1
-params=$2
-
-case "$command" in
- create)
- # Params is one big arg, with fields separated by hyphens:
- # FABRIC-VPWWPN-VPWWNN-TGTWWPN-LUN#
- # arg 2 - Fabric Name
- # arg 3 - VPORT's WWPN
- # arg 4 - VPORT's WWNN
- # arg 5 - Target's WWPN
- # arg 6 - LUN # on Target
- # no wwn contains a leading 0x - it is a 16 character hex value
- # You may want to optionally pick a specific adapter ?
- NPIVARGS=$params;
- LUN=${NPIVARGS##*-*-*-*-}; NPIVARGS=${NPIVARGS%-*}
- if test $LUN = $NPIVARGS ; then exit 1; fi
- TGTWWPN=${NPIVARGS##*-*-*-}; NPIVARGS=${NPIVARGS%-*}
- if test $TGTWWPN = $NPIVARGS ; then exit 1; fi
- VPORTWWNN=${NPIVARGS##*-*-}; NPIVARGS=${NPIVARGS%-*}
- if test $VPORTWWNN = $NPIVARGS ; then exit 1; fi
- VPORTWWPN=${NPIVARGS##*-}; NPIVARGS=${NPIVARGS%-*}
- if test $VPORTWWPN = $NPIVARGS ; then exit 1; fi
- FABRICNM=$NPIVARGS
-
- # Ensure we compare everything using lower-case hex characters
- TGTWWPN=`echo $TGTWWPN | tr A-Z a-z`
- VPORTWWPN=`echo $VPORTWWPN | tr A-Z a-z`
- VPORTWWNN=`echo $VPORTWWNN | tr A-Z a-z`
- FABRICNM=`echo $FABRICNM | tr A-Z a-z`
-
- find_vhost $VPORTWWPN
- if test -z "$vhost" ; then
- create_vport $FABRICNM $VPORTWWPN $VPORTWWNN
- if [ $? -ne 0 ] ; then exit 2; fi
- sleep 8
- find_vhost $VPORTWWPN
- if test -z "$vhost" ; then exit 3; fi
- fi
-
- exit 0
- ;;
-
- delete)
- # Params is VPORT's WWPN
- # no wwn contains a leading 0x - it is a 16 character hex value
- VPORTWWPN=$params
-
- # Ensure we compare everything using lower-case hex characters
- VPORTWWPN=`echo $VPORTWWPN | tr A-Z a-z`
-
- find_vhost $VPORTWWPN
- if test -z "$vhost" ; then exit 4; fi
- delete_vhost $vhost
-
- exit 0
- ;;
-
- status)
- vport_status
-
- exit 0
- ;;
-
- *)
- echo "Usage: block-npiv-vport [create npivargs | delete vportwwpn | status]"
-
- exit 1
- ;;
-esac
-
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/domain-lock b/os-plugins/plugins/xen/files/xen.examples/scripts/domain-lock
deleted file mode 100755
index 268d0058..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/domain-lock
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/bash
-
-basedir=$(dirname "$0")
-
-usage() {
- echo "usage: domain-lock [-l|-u] -n <vm name> -i <vm uuid> -p <physical host> path"
- echo "usage: domain-lock [-s] path"
- echo ""
- echo "-l lock"
- echo "-u unlock"
- echo "-s status (default)"
- echo "-n Virtual Machine name"
- echo "-i Virtual Machine Id or UUID"
- echo "-p Virtual Machine Server (physical host) name"
- echo "path A per-VM, unique location where external lock will be managed"
- exit 1
-}
-
-remove_lock(){
- local path=$1/lock
- local name=$2
-
- pid=`ps -efwww | grep vm-monitor | grep $name | awk '{print $2}'`
- if [ -n "$pid" ]; then
- kill $pid
- rm -f $path
- fi
-}
-
-get_status(){
- local path=$1/lock
- [ -f $path ] || exit 1
-
- rc=`flock -xn $path /bin/true`
- cat $path
- exit $rc
-}
-
-mode="status"
-
-while getopts ":lusn:i:p:" opt; do
- case $opt in
- l )
- mode="lock"
- ;;
- u )
- mode="unlock"
- ;;
- s )
- mode="status"
- ;;
- p )
- vm_host=$OPTARG
- ;;
- n )
- vm_name=$OPTARG
- ;;
- i )
- vm_uuid=$OPTARG
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-shift $(($OPTIND - 1))
-vm_path=$1
-
-case $mode in
- lock )
- [ -z "$vm_path" ] || [ -z "$vm_name" ] || [ -z "$vm_uuid" ] || [ -z "$vm_host" ] && usage
- $basedir/set-lock $vm_path $vm_name $vm_uuid $vm_host
- ;;
- unlock )
- [ -z "$vm_path" ] || [ -z "$vm_name" ] || [ -z "$vm_uuid" ] || [ -z "$vm_host" ] && usage
- remove_lock $vm_path $vm_name $vm_uuid $vm_host
- ;;
- status )
- [ -z "$vm_path" ] && usage
- get_status $vm_path
- ;;
-esac
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/external-device-migrate b/os-plugins/plugins/xen/files/xen.examples/scripts/external-device-migrate
deleted file mode 100755
index a4113483..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/external-device-migrate
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2005 IBM Corporation
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-set -x
-
-# This script is called by XenD for migration of external devices
-# It does not handle the migration of those devices itself, but
-# passes the requests on to further applications
-# It handles the low-level command line parsing and some of the
-# synchronization
-
-dir=$(dirname "$0")
-. "$dir/logging.sh"
-
-
-function ext_dev_migrate_usage() {
-cat <<EOF
-Pass the following command line parameters to the script:
-
--step <n> : n-th migration step
--host <host> : the destination host
--domname <domain name> : name of the domain that is migrating
--type <device type> : the type of device that is migrating
--subtype <dev. subtype>: the subtype of the device
--recover : indicates recovery request; an error
- occurred during migration
--help : display this help screen
-EOF
-}
-
-# Parse the command line paramters. The following parameters must be
-# passed as the first ones in the sequence:
-# -step [required]
-# -host [required]
-# -domname [required]
-# -type [required]
-# -subtype [optional]
-# -recover [optional]
-# The remaining ones will be passed to the called function.
-function evaluate_params()
-{
- local step host domname typ recover filename func stype
- stype=""
- while [ $# -ge 1 ]; do
- case "$1" in
- -step) step=$2; shift; shift;;
- -host) host=$2; shift; shift;;
- -domname) domname=$2; shift; shift;;
- -type) typ=$2; shift; shift;;
- -subtype) stype=$2; shift; shift;;
- -recover) recover=1; shift;;
- -help) ext_dev_migrate_usage; exit 0;;
- *) break;;
- esac
- done
-
- if [ "$step" = "" -o \
- "$host" = "" -o \
- "$typ" = "" -o \
- "$domname" = "" ]; then
- echo "Error: Parameter(s) missing (-step/-host/-type/-domname)" 1>&2
- echo "" 1>&2
- echo "$0 -help for usage." 1>&2
- exit 1
- fi
-
- filename="$dir/$typ$stype-migration.sh"
- if [ ! -r $filename ]; then
- echo "Error: Could not find script '$filename'"
- return
- fi
- . "$filename"
-
- if [ "$recover" = "1" ]; then
- func="$typ"_recover
- eval $func $host $domname $step $*
- else
- func="$typ"_migration_step
- eval $func $host $domname $step $*
- fi
-}
-
-evaluate_params "$@"
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/locking.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/locking.sh
deleted file mode 100644
index 6ff58e7e..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/locking.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-#
-# Serialisation
-#
-
-LOCK_SLEEPTIME=1
-LOCK_SPINNING_RETRIES=5
-LOCK_RETRIES=100
-LOCK_BASEDIR=/var/run/xen-hotplug
-
-
-claim_lock()
-{
- local lockdir="$LOCK_BASEDIR/$1"
- mkdir -p "$LOCK_BASEDIR"
- _claim_lock "$lockdir"
-}
-
-
-release_lock()
-{
- _release_lock "$LOCK_BASEDIR/$1"
-}
-
-
-_claim_lock()
-{
- local lockdir="$1"
- local owner=$(_lock_owner "$lockdir")
- local retries=0
-
- while [ $retries -lt $LOCK_RETRIES ]
- do
- mkdir "$lockdir" 2>/dev/null && trap "release_lock $1; sigerr" ERR &&
- _update_lock_info "$lockdir" && return
-
- local new_owner=$(_lock_owner "$lockdir")
- if [ "$new_owner" != "$owner" ]
- then
- owner="$new_owner"
- retries=0
- fi
-
- if [ $retries -gt $LOCK_SPINNING_RETRIES ]
- then
- sleep $LOCK_SLEEPTIME
- else
- sleep 0
- fi
- retries=$(($retries + 1))
- done
- _steal_lock "$lockdir"
-}
-
-
-_release_lock()
-{
- trap sigerr ERR
- rm -rf "$1" 2>/dev/null || true
-}
-
-
-_steal_lock()
-{
- local lockdir="$1"
- local owner=$(cat "$lockdir/owner" 2>/dev/null || echo "unknown")
- log err "Forced to steal lock on $lockdir from $owner!"
- _release_lock "$lockdir"
- _claim_lock "$lockdir"
-}
-
-
-_lock_owner()
-{
- cat "$1/owner" 2>/dev/null || echo "unknown"
-}
-
-
-_update_lock_info()
-{
- echo "$$: $0" >"$1/owner"
-}
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/logging.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/logging.sh
deleted file mode 100644
index c1bc699c..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/logging.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-log() {
- local level="$1"
- shift
- logger -p "daemon.$level" -- "$0:" "$@" || echo "$0 $@" >&2
-}
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/network-bridge b/os-plugins/plugins/xen/files/xen.examples/scripts/network-bridge
deleted file mode 100755
index ade0ce33..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/network-bridge
+++ /dev/null
@@ -1,380 +0,0 @@
-#!/bin/bash
-#============================================================================
-# Default Xen network start/stop script.
-# Xend calls a network script when it starts.
-# The script name to use is defined in /etc/xen/xend-config.sxp
-# in the network-script field.
-#
-# This script creates a bridge (default ${netdev}), adds a device
-# (defaults to the device on the default gateway route) to it, copies
-# the IP addresses from the device to the bridge and adjusts the routes
-# accordingly.
-#
-# If all goes well, this should ensure that networking stays up.
-# However, some configurations are upset by this, especially
-# NFS roots. If the bridged setup does not meet your needs,
-# configure a different script, for example using routing instead.
-#
-# Usage:
-#
-# network-bridge (start|stop|status) {VAR=VAL}*
-#
-# Vars:
-#
-# bridge The bridge to use (default ${netdev}).
-# netdev The interface to add to the bridge (default gateway device).
-# antispoof Whether to use iptables to prevent spoofing (default no).
-#
-# Internal Vars:
-# pdev="p${netdev}"
-# tdev=tmpbridge
-#
-# start:
-# Creates the bridge as tdev
-# Copies the IP and MAC addresses from pdev to bridge
-# Renames netdev to be pdev
-# Renames tdev to bridge
-# Enslaves pdev to bridge
-#
-# stop:
-# Removes pdev from the bridge
-# Transfers addresses, routes from bridge to pdev
-# Renames bridge to tdev
-# Renames pdev to netdev
-# Deletes tdev
-#
-# status:
-# Print addresses, interfaces, routes
-#
-#============================================================================
-
-
-dir=$(dirname "$0")
-. "$dir/xen-script-common.sh"
-. "$dir/xen-network-common.sh"
-
-findCommand "$@"
-evalVariables "$@"
-
-is_network_root () {
- local rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $3; }}' /etc/mtab)
- local rootopts=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $4; }}' /etc/mtab)
-
- [[ "$rootfs" =~ "^nfs" ]] || [[ "$rootopts" =~ "_netdev" ]] && has_nfsroot=1 || has_nfsroot=0
- if [ $has_nfsroot -eq 1 ]; then
- local bparms=$(cat /proc/cmdline)
- for p in $bparms; do
- local ipaddr=$(echo $p | awk /nfsroot=/'{ print substr($1,9,index($1,":")-9) }')
- if [ "$ipaddr" != "" ]; then
- local nfsdev=$(ip route get $ipaddr | awk /$ipaddr/'{ print $3 }')
- [[ "$nfsdev" == "$netdev" ]] && return 0 || return 1
- fi
- done
- fi
- return 1
-}
-
-find_alt_device () {
- local interf=$1
- local prefix=${interf%[[:digit:]]}
- local ifs=$(ip link show | grep " $prefix" |\
- gawk '{ printf ("%s",substr($2,1,length($2)-1)) }' |\
- sed s/$interf//)
- echo "$ifs"
-}
-
-netdev=${netdev:-$(ip route list 0.0.0.0/0 | \
- sed 's/.*dev \([a-z]\+[0-9]\+\).*$/\1/')}
-if is_network_root ; then
- altdevs=$(find_alt_device $netdev)
- for netdev in $altdevs; do break; done
- if [ -z "$netdev" ]; then
- [ -x /usr/bin/logger ] && /usr/bin/logger "network-bridge: bridging not supported on network root; not starting"
- exit
- fi
-fi
-netdev=${netdev:-eth0}
-bridge=${bridge:-${netdev}}
-antispoof=${antispoof:-no}
-
-pdev="p${netdev}"
-tdev=tmpbridge
-
-get_ip_info() {
- addr_pfx=`ip addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet //' -e 's/ .*//'`
- gateway=`ip route show dev $1 | fgrep default | sed 's/default via //'`
-}
-
-do_ifup() {
- if [ $1 != "${netdev}" ] || ! ifup $1 ; then
- if [ -n "$addr_pfx" ] ; then
- # use the info from get_ip_info()
- ip addr flush $1
- ip addr add ${addr_pfx} dev $1
- ip link set dev $1 up
- [ -n "$gateway" ] && ip route add default via ${gateway}
- fi
- fi
-}
-
-# Usage: transfer_addrs src dst
-# Copy all IP addresses (including aliases) from device $src to device $dst.
-transfer_addrs () {
- local src=$1
- local dst=$2
- # Don't bother if $dst already has IP addresses.
- if ip addr show dev ${dst} | egrep -q '^ *inet ' ; then
- return
- fi
- # Address lines start with 'inet' and have the device in them.
- # Replace 'inet' with 'ip addr add' and change the device name $src
- # to 'dev $src'.
- ip addr show dev ${src} | egrep '^ *inet ' | sed -e "
-s/inet/ip addr add/
-s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/[0-9]\+\)@\1@
-s/${src}/dev ${dst} label ${dst}/
-s/secondary//
-" | sh -e
- # Remove automatic routes on destination device
- ip route list | sed -ne "
-/dev ${dst}\( \|$\)/ {
- s/^/ip route del /
- p
-}" | sh -e
-}
-
-# Usage: transfer_routes src dst
-# Get all IP routes to device $src, delete them, and
-# add the same routes to device $dst.
-# The original routes have to be deleted, otherwise adding them
-# for $dst fails (duplicate routes).
-transfer_routes () {
- local src=$1
- local dst=$2
- # List all routes and grep the ones with $src in.
- # Stick 'ip route del' on the front to delete.
- # Change $src to $dst and use 'ip route add' to add.
- ip route list | sed -ne "
-/dev ${src}\( \|$\)/ {
- h
- s/^/ip route del /
- P
- g
- s/${src}/${dst}/
- s/^/ip route add /
- P
- d
-}" | sh -e
-}
-
-
-##
-# link_exists interface
-#
-# Returns 0 if the interface named exists (whether up or down), 1 otherwise.
-#
-link_exists()
-{
- if ip link show "$1" >/dev/null 2>/dev/null
- then
- return 0
- else
- return 1
- fi
-}
-
-# Set the default forwarding policy for $dev to drop.
-# Allow forwarding to the bridge.
-antispoofing () {
- iptables -P FORWARD DROP
- iptables -F FORWARD
- iptables -A FORWARD -m physdev --physdev-in ${pdev} -j ACCEPT
-}
-
-find_active_vlans() {
- local netdev=$1
- local vlan
- local vlans
- vlans=""
- for vifcfg in /etc/sysconfig/network/ifcfg-vlan* ; do
- vlan=${vifcfg/*\/ifcfg-}
- if [ "$vlan" = "vlan*" ]; then
- continue
- fi
- . $vifcfg
- etherdevice="$ETHERDEVICE"
- if [ -x /sbin/getcfg-interface ]; then
- etherdevice=$(/sbin/getcfg-interface "$ETHERDEVICE")
- fi
- if [ "$ETHERDEVICE" = "$netdev" ] || [ "$etherdevice" = "$netdev" ] ; then
- link_exists "$vlan" && vlans="$vlans $vlan"
- fi
- done
- echo "$vlans"
-}
-
-# Usage: show_status dev bridge
-# Print ifconfig and routes.
-show_status () {
- local dev=$1
- local bridge=$2
-
- echo '============================================================'
- ip addr show ${dev}
- ip addr show ${bridge}
- echo ' '
- brctl show ${bridge}
- echo ' '
- ip route list
- echo ' '
- route -n
- echo '============================================================'
-}
-
-op_start () {
- if [ "${bridge}" = "null" ] ; then
- return
- fi
-
- if link_exists "$pdev"; then
- # The device is already up.
- return
- fi
-
- local bonded=""
- [ -e /sys/class/net/${netdev}/bonding ] && bonded="yes"
-
- vlans=$(find_active_vlans "${netdev}")
- for vlan in $vlans ; do ifdown $vlan ; done
-
- create_bridge ${tdev}
-
- # Record creation of bridge in /dev/shm/sysconfig/xenbridges so other
- # tools, e.g. yast2 lan, know that Xen bridging is active.
- [ -d /dev/shm/sysconfig/xenbridges ] || mkdir /dev/shm/sysconfig/xenbridges
- touch /dev/shm/sysconfig/xenbridges/${bridge}
-
- preiftransfer ${netdev}
- transfer_addrs ${netdev} ${tdev}
- # Remember slaves for bonding interface.
- if [ -e /sys/class/net/${netdev}/bonding/slaves ]; then
- slaves=`cat /sys/class/net/${netdev}/bonding/slaves`
- fi
- # Remember the IP details for do_ifup.
- get_ip_info ${netdev}
- if ! ifdown ${netdev}; then
- ip link set ${netdev} down
- ip addr flush ${netdev}
- fi
-
- if [ "x${bonded}" = "xyes" ]
- then
- ip link set ${tdev} name ${bridge}
- ln -sf /etc/sysconfig/network/ifcfg-${netdev} /etc/sysconfig/network/ifcfg-${pdev}
- ifup ${pdev}
- local gw=`ip route show dev ${pdev} | fgrep default | sed 's/default via //'`
- ip addr flush ${pdev}
- rm -f /etc/sysconfig/network/ifcfg-${pdev}
- brctl addif ${bridge} ${pdev}
- ip link set ${bridge} up
- [ -n "$gw" ] && ip route add default via ${gw}
- else
- ip link set ${netdev} name ${pdev}
- ip link set ${tdev} name ${bridge}
-
- setup_bridge_port ${pdev}
-
- # Restore slaves
- if [ -n "${slaves}" ]; then
- ip link set ${pdev} up
- ifenslave ${pdev} ${slaves}
- fi
- add_to_bridge2 ${bridge} ${pdev}
- do_ifup ${bridge}
- fi
-
- for vlan in $vlans ; do ifup $vlan ; done
-
- if [ ${antispoof} = 'yes' ] ; then
- antispoofing
- fi
-}
-
-op_stop () {
- if [ "${bridge}" = "null" ]; then
- return
- fi
- if ! link_exists "$bridge"; then
- return
- fi
-
- vlans=$(find_active_vlans "${netdev}")
- for vlan in $vlans ; do ifdown $vlan ; done
-
- transfer_addrs ${bridge} ${pdev}
- if ! ifdown ${bridge}; then
- get_ip_info ${bridge}
- ip link set ${pdev} down
- ip addr flush ${bridge}
-
- brctl delif ${bridge} ${pdev}
- ip link set ${bridge} down
-
- ip link set ${bridge} name ${tdev}
- brctl delbr ${tdev}
- fi
- ip link set ${pdev} down
- ip link set ${pdev} name ${netdev}
- do_ifup ${netdev}
-
- # Remove record of bridge from /dev/shm/sysconfig/xenbridges ...
- rm -f /dev/shm/sysconfig/xenbridges/${bridge}
- # ... and directory itself if empty
- if [ -z "$(ls -A /dev/shm/sysconfig/xenbridges 2>/dev/null)" ]; then
- rmdir /dev/shm/sysconfig/xenbridges
- fi
-
- for vlan in $vlans ; do ifup $vlan ; done
-}
-
-# adds $dev to $bridge but waits for $dev to be in running state first
-add_to_bridge2() {
- local bridge=$1
- local dev=$2
- local maxtries=10
-
- echo -n "Waiting for ${dev} to negotiate link."
- ip link set ${dev} up
- for i in `seq ${maxtries}` ; do
- if ifconfig ${dev} | grep -q RUNNING ; then
- break
- else
- echo -n '.'
- sleep 1
- fi
- done
-
- if [ ${i} -eq ${maxtries} ] ; then echo -n '(link isnt in running state)' ; fi
- echo
-
- add_to_bridge ${bridge} ${dev}
-}
-
-case "$command" in
- start)
- op_start
- ;;
-
- stop)
- op_stop
- ;;
-
- status)
- show_status ${netdev} ${bridge}
- ;;
-
- *)
- echo "Unknown command: $command" >&2
- echo 'Valid commands are: start, stop, status' >&2
- exit 1
-esac
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/network-nat b/os-plugins/plugins/xen/files/xen.examples/scripts/network-nat
deleted file mode 100755
index e20c0d03..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/network-nat
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/bin/bash
-#============================================================================
-# Default Xen network start/stop script when using NAT.
-# Xend calls a network script when it starts.
-# The script name to use is defined in /etc/xen/xend-config.sxp
-# in the network-script field.
-#
-# Usage:
-#
-# network-nat (start|stop|status) {VAR=VAL}*
-#
-# Vars:
-#
-# netdev The gateway interface (default eth0).
-# antispoof Whether to use iptables to prevent spoofing (default no).
-# dhcp Whether to alter the local DHCP configuration (default no).
-#
-#============================================================================
-
-dir=$(dirname "$0")
-. "$dir/xen-script-common.sh"
-. "$dir/xen-network-common.sh"
-
-findCommand "$@"
-evalVariables "$@"
-
-netdev=${netdev:-eth0}
-# antispoofing not yet implemented
-antispoof=${antispoof:-no}
-
-# turn on dhcp feature by default if dhcpd is installed
-if [ -f /etc/dhcpd.conf ]
-then
- dhcp=${dhcp:-yes}
-else
- dhcp=${dhcp:-no}
-fi
-
-
-if [ "$dhcp" != 'no' ]
-then
- dhcpd_conf_file=$(find_dhcpd_conf_file)
- dhcpd_init_file=$(find_dhcpd_init_file)
- if [ -z "$dhcpd_conf_file" ] || [ -z "$dhcpd_init_file" ]
- then
- echo 'Failed to find dhcpd configuration or init file.' >&2
- exit 1
- fi
-fi
-
-domain_name=`cat /etc/resolv.conf | grep -v "#" | grep -E 'search|domain' -i | tail -n 1 | awk '{ print $2 }'`
-nameserver=`cat /etc/resolv.conf | grep -v "#" | grep "nameserver" -i -m 1 | awk '{ print $2 }'`
-
-function dhcp_start()
-{
- if ! grep -q "subnet 10.0.0.0" "$dhcpd_conf_file"
- then
- echo >>"$dhcpd_conf_file" "subnet 10.0.0.0 netmask 255.255.0.0 {\
- option domain-name \"$domain_name\";\
- option domain-name-servers $nameserver; }"
- fi
-
- "$dhcpd_init_file" restart
-}
-
-
-function dhcp_stop()
-{
- local tmpfile=$(mktemp)
- grep -v "subnet 10.0.0.0" "$dhcpd_conf_file" >"$tmpfile"
- if diff "$tmpfile" "$dhcpd_conf_file" >&/dev/null
- then
- rm "$tmpfile"
- else
- mv "$tmpfile" "$dhcpd_conf_file"
- fi
-
- "$dhcpd_init_file" restart
-}
-
-
-op_start() {
- echo 1 >/proc/sys/net/ipv4/ip_forward
- iptables -t nat -A POSTROUTING -o ${netdev} -j MASQUERADE
- iptables -P FORWARD ACCEPT
- [ "$dhcp" != 'no' ] && dhcp_start
-}
-
-
-op_stop() {
- [ "$dhcp" != 'no' ] && dhcp_stop
- iptables -t nat -D POSTROUTING -o ${netdev} -j MASQUERADE
- iptables -P FORWARD DROP
-}
-
-
-show_status() {
- echo '============================================================'
- ifconfig
- echo ' '
- ip route list
- echo ' '
- route -n
- echo '============================================================'
-
-}
-
-case "$command" in
- start)
- op_start
- ;;
-
- stop)
- op_stop
- ;;
-
- status)
- show_status
- ;;
-
- *)
- echo "Unknown command: $command" >&2
- echo 'Valid commands are: start, stop, status' >&2
- exit 1
-esac
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/network-route b/os-plugins/plugins/xen/files/xen.examples/scripts/network-route
deleted file mode 100755
index 4416316e..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/network-route
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-#============================================================================
-# Default Xen network start/stop script.
-# Xend calls a network script when it starts.
-# The script name to use is defined in /etc/xen/xend-config.sxp
-# in the network-script field.
-#
-# Usage:
-#
-# network-route (start|stop|status) {VAR=VAL}*
-#
-# Vars:
-#
-# netdev The gateway interface (default eth0).
-# antispoof Whether to use iptables to prevent spoofing (default yes).
-#
-#============================================================================
-
-dir=$(dirname "$0")
-. "$dir/xen-script-common.sh"
-
-evalVariables "$@"
-
-netdev=${netdev:-eth0}
-
-echo 1 >/proc/sys/net/ipv4/ip_forward
-echo 1 >/proc/sys/net/ipv4/conf/${netdev}/proxy_arp
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/set-lock b/os-plugins/plugins/xen/files/xen.examples/scripts/set-lock
deleted file mode 120000
index 8bd35731..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/set-lock
+++ /dev/null
@@ -1 +0,0 @@
-vm-monitor \ No newline at end of file
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-bridge b/os-plugins/plugins/xen/files/xen.examples/scripts/vif-bridge
deleted file mode 100755
index 1b698d70..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-bridge
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/bash
-#============================================================================
-# /etc/xen/vif-bridge
-#
-# Script for configuring a vif in bridged mode.
-# The hotplugging system will call this script if it is specified either in
-# the device configuration given to Xend, or the default Xend configuration
-# in /etc/xen/xend-config.sxp. If the script is specified in neither of those
-# places, then this script is the default.
-#
-# Usage:
-# vif-bridge (add|remove|online|offline)
-#
-# Environment vars:
-# vif vif interface name (required).
-# XENBUS_PATH path to this device's details in the XenStore (required).
-#
-# Read from the store:
-# bridge bridge to add the vif to (optional). Defaults to searching for the
-# bridge itself.
-# ip list of IP networks for the vif, space-separated (optional).
-#
-# up:
-# Enslaves the vif interface to the bridge and adds iptables rules
-# for its ip addresses (if any).
-#
-# down:
-# Removes the vif interface from the bridge and removes the iptables
-# rules for its ip addresses (if any).
-#============================================================================
-
-dir=$(dirname "$0")
-. "$dir/vif-common.sh"
-
-bridge=${bridge:-}
-bridge=$(xenstore_read_default "$XENBUS_PATH/bridge" "$bridge")
-
-if [ -z "$bridge" ]
-then
- bridge=$(brctl show | cut -d "
-" -f 2 | cut -f 1)
-
- if [ -z "$bridge" ]
- then
- fatal "Could not find bridge, and none was specified"
- fi
-else
- #
- # Old style bridge setup with netloop, used to have a bridge name
- # of xenbrX, enslaving pethX and vif0.X, and then configuring
- # eth0.
- #
- # New style bridge setup does not use netloop, so the bridge name
- # is ethX and the physical device is enslaved pethX
- #
- # So if...
- #
- # - User asks for xenbrX
- # - AND xenbrX doesn't exist
- # - AND there is a ethX device which is a bridge
- #
- # ..then we translate xenbrX to ethX
- #
- # This lets old config files work without modification
- #
- if [ ! -e "/sys/class/net/$bridge" ] && [ -z "${bridge##xenbr*}" ]
- then
- if [ -e "/sys/class/net/eth${bridge#xenbr}/bridge" ]
- then
- bridge="eth${bridge#xenbr}"
- fi
- fi
-fi
-
-RET=0
-ip link show $bridge 1>/dev/null 2>&1 || RET=1
-if [ "$RET" -eq 1 ]
-then
- fatal "Could not find bridge device $bridge"
-fi
-
-case "$command" in
- online)
- setup_bridge_port "$vif"
- add_to_bridge "$bridge" "$vif"
- ;;
-
- offline)
- do_without_error brctl delif "$bridge" "$vif"
- do_without_error ifconfig "$vif" down
- ;;
-esac
-
-handle_iptable
-
-log debug "Successful vif-bridge $command for $vif, bridge $bridge."
-if [ "$command" == "online" ]
-then
- success
-fi
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/vif-common.sh
deleted file mode 100644
index fe483f9d..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-common.sh
+++ /dev/null
@@ -1,158 +0,0 @@
-#
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-
-dir=$(dirname "$0")
-. "$dir/xen-hotplug-common.sh"
-. "$dir/xen-network-common.sh"
-
-findCommand "$@"
-
-if [ "$command" != "online" ] &&
- [ "$command" != "offline" ] &&
- [ "$command" != "add" ] &&
- [ "$command" != "remove" ]
-then
- log err "Invalid command: $command"
- exit 1
-fi
-
-case "$command" in
- add | remove)
- exit 0
- ;;
-esac
-
-
-# Parameters may be read from the environment, the command line arguments, and
-# the store, with overriding in that order. The environment is given by the
-# driver, the command line is given by the Xend global configuration, and
-# store details are given by the per-domain or per-device configuration.
-
-evalVariables "$@"
-
-ip=${ip:-}
-ip=$(xenstore_read_default "$XENBUS_PATH/ip" "$ip")
-
-# Check presence of compulsory args.
-XENBUS_PATH="${XENBUS_PATH:?}"
-vif="${vif:?}"
-
-
-vifname=$(xenstore_read_default "$XENBUS_PATH/vifname" "")
-if [ "$vifname" ]
-then
- if [ "$command" == "online" ] && ! ip link show "$vifname" >&/dev/null
- then
- do_or_die ip link set "$vif" name "$vifname"
- fi
- vif="$vifname"
-fi
-
-
-frob_iptable()
-{
- if [ "$command" == "online" ]
- then
- local c="-I"
- else
- local c="-D"
- fi
-
- iptables "$c" FORWARD -m physdev --physdev-in "$vif" "$@" -j ACCEPT \
- 2>/dev/null &&
- iptables "$c" FORWARD -m state --state RELATED,ESTABLISHED -m physdev \
- --physdev-out "$vif" -j ACCEPT 2>/dev/null
-
- if [ "$command" == "online" ] && [ $? ]
- then
- log err "iptables setup failed. This may affect guest networking."
- fi
-}
-
-
-##
-# Add or remove the appropriate entries in the iptables. With antispoofing
-# turned on, we have to explicitly allow packets to the interface, regardless
-# of the ip setting. If ip is set, then we additionally restrict the packets
-# to those coming from the specified networks, though we allow DHCP requests
-# as well.
-#
-handle_iptable()
-{
- # Check for a working iptables installation. Checking for the iptables
- # binary is not sufficient, because the user may not have the appropriate
- # modules installed. If iptables is not working, then there's no need to do
- # anything with it, so we can just return.
- if ! iptables -L -n >&/dev/null
- then
- return
- fi
-
- claim_lock "iptables"
-
- if [ "$ip" != "" ]
- then
- local addr
- for addr in $ip
- do
- frob_iptable -s "$addr"
- done
-
- # Always allow the domain to talk to a DHCP server.
- frob_iptable -p udp --sport 68 --dport 67
- else
- # No IP addresses have been specified, so allow anything.
- frob_iptable
- fi
-
- release_lock "iptables"
-}
-
-
-##
-# ip_of interface
-#
-# Print the IP address currently in use at the given interface, or nothing if
-# the interface is not up.
-#
-ip_of()
-{
- ip addr show "$1" | awk "/^.*inet.*$1\$/{print \$2}" | sed -n '1 s,/.*,,p'
-}
-
-
-##
-# dom0_ip
-#
-# Print the IP address of the interface in dom0 through which we are routing.
-# This is the IP address on the interface specified as "netdev" as a parameter
-# to these scripts, or eth0 by default. This function will call fatal if no
-# such interface could be found.
-#
-dom0_ip()
-{
- local nd=${netdev:-eth0}
- local result=$(ip_of "$nd")
- if [ -z "$result" ]
- then
- fatal
-"$netdev is not up. Bring it up or specify another interface with " \
-"netdev=<if> as a parameter to $0."
- fi
- echo "$result"
-}
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-nat b/os-plugins/plugins/xen/files/xen.examples/scripts/vif-nat
deleted file mode 100755
index 75bdf5c4..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-nat
+++ /dev/null
@@ -1,192 +0,0 @@
-#!/bin/bash
-#============================================================================
-# /etc/xen/vif-nat
-#
-# Script for configuring a vif in routed-nat mode.
-# The hotplugging system will call this script if it is specified either in
-# the device configuration given to Xend, or the default Xend configuration
-# in /etc/xen/xend-config.sxp. If the script is specified in neither of those
-# places, then vif-bridge is the default.
-#
-# Usage:
-# vif-nat (add|remove|online|offline)
-#
-# Environment vars:
-# vif vif interface name (required).
-# XENBUS_PATH path to this device's details in the XenStore (required).
-#
-# Parameters:
-# dhcp Whether to alter the local DHCP configuration to include this
-# new host (default no).
-#
-# Read from the store:
-# ip list of IP networks for the vif, space-separated (default given in
-# this script).
-#============================================================================
-
-
-dir=$(dirname "$0")
-. "$dir/vif-common.sh"
-
-# turn on dhcp feature by default if dhcpd is installed
-if [ -f /etc/dhcpd.conf ]
-then
- dhcp=${dhcp:-yes}
-else
- dhcp=${dhcp:-no}
-fi
-
-if [ "$dhcp" != 'no' ]
-then
- dhcpd_conf_file=$(find_dhcpd_conf_file)
- dhcpd_init_file=$(find_dhcpd_init_file)
- dhcpd_arg_file=$(find_dhcpd_arg_file)
- if [ -z "$dhcpd_conf_file" ] || [ -z "$dhcpd_init_file" ] || [ -z "$dhcpd_arg_file" ]
- then
- echo 'Failed to find dhcpd configuration or init or args file.' >&2
- exit 1
- fi
-fi
-
-
-domid=$(xenstore_read "$XENBUS_PATH/frontend-id")
-vifid=$(xenstore_read "$XENBUS_PATH/handle")
-vifid=$(( $vifid + 1 ))
-
-
-ip_from_dom()
-{
- local domid1=$(( $domid / 256 ))
- local domid2=$(( $domid % 256 ))
-
- echo "10.$domid1.$domid2.$vifid/16"
-}
-
-
-routing_ip()
-{
- echo $(echo $1 | awk -F. '{print $1"."$2"."$3"."$4 + 127}')
-}
-
-
-dotted_quad()
-{
- echo\
- $(( ($1 & 0xFF000000) >> 24))\
-.$(( ($1 & 0x00FF0000) >> 16))\
-.$(( ($1 & 0x0000FF00) >> 8 ))\
-.$(( $1 & 0x000000FF ))
-}
-
-
-if [ "$ip" = "" ]
-then
- ip=$(ip_from_dom)
-fi
-
-router_ip=$(routing_ip "$ip")
-
-# Split the given IP/bits pair.
-vif_ip=`echo ${ip} | awk -F/ '{print $1}'`
-
-hostname=$(xenstore_read "$XENBUS_PATH/domain" | tr -- '_.:/+' '-----')
-if [ "$vifid" != "1" ]
-then
- hostname="$hostname-$vifid"
-fi
-
-dhcparg_remove_entry()
-{
- local tmpfile=$(mktemp)
- sed -e "s/$vif //" "$dhcpd_arg_file" >"$tmpfile"
- if diff "$tmpfile" "$dhcpd_arg_file" >/dev/null
- then
- rm "$tmpfile"
- else
- mv "$tmpfile" "$dhcpd_arg_file"
- fi
-}
-
-dhcparg_add_entry()
-{
- dhcparg_remove_entry
- local tmpfile=$(mktemp)
- # handle Red Hat, SUSE, and Debian styles, with or without quotes
- sed -e 's/^DHCPDARGS="*\([^"]*\)"*/DHCPDARGS="\1'"$vif "'"/' \
- "$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file"
- sed -e 's/^DHCPD_INTERFACE="*\([^"]*\)"*/DHCPD_INTERFACE="\1'"$vif "'"/' \
- "$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file"
- sed -e 's/^INTERFACES="*\([^"]*\)"*/INTERFACES="\1'"$vif "'"/' \
- "$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file"
- rm -f "$tmpfile"
-}
-
-dhcp_remove_entry()
-{
- local tmpfile=$(mktemp)
- grep -v "host $hostname" "$dhcpd_conf_file" >"$tmpfile"
- if diff "$tmpfile" "$dhcpd_conf_file" >/dev/null
- then
- rm "$tmpfile"
- else
- mv "$tmpfile" "$dhcpd_conf_file"
- fi
- dhcparg_remove_entry
-}
-
-
-dhcp_up()
-{
- claim_lock "vif-nat-dhcp"
- dhcp_remove_entry
- mac=$(xenstore_read "$XENBUS_PATH/mac")
- echo >>"$dhcpd_conf_file" \
-"host $hostname { hardware ethernet $mac; fixed-address $vif_ip; option routers $router_ip; option host-name \"$hostname\"; }"
- dhcparg_add_entry
- release_lock "vif-nat-dhcp"
- "$dhcpd_init_file" restart || true
-}
-
-
-dhcp_down()
-{
- claim_lock "vif-nat-dhcp"
- dhcp_remove_entry
- release_lock "vif-nat-dhcp"
- "$dhcpd_init_file" restart || true # We need to ignore failure because
- # ISC dhcpd 3 borks if there is nothing
- # for it to do, which is the case if
- # the outgoing interface is not
- # configured to offer leases and there
- # are no vifs.
-}
-
-
-case "$command" in
- online)
- if ip route | grep -q "dev $vif"
- then
- log debug "$vif already up"
- exit 0
- fi
-
- do_or_die ip link set "$vif" up arp on
- do_or_die ip addr add "$router_ip" dev "$vif"
- do_or_die ip route add "$vif_ip" dev "$vif" src "$router_ip"
- echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp
- [ "$dhcp" != 'no' ] && dhcp_up
- ;;
- offline)
- [ "$dhcp" != 'no' ] && dhcp_down
- do_without_error ifconfig "$vif" down
- ;;
-esac
-
-
-handle_iptable
-
-log debug "Successful vif-nat $command for $vif."
-if [ "$command" = "online" ]
-then
- success
-fi
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-route b/os-plugins/plugins/xen/files/xen.examples/scripts/vif-route
deleted file mode 100755
index f5fd88ed..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vif-route
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-#============================================================================
-# /etc/xen/vif-route
-#
-# Script for configuring a vif in routed mode.
-# The hotplugging system will call this script if it is specified either in
-# the device configuration given to Xend, or the default Xend configuration
-# in /etc/xen/xend-config.sxp. If the script is specified in neither of those
-# places, then vif-bridge is the default.
-#
-# Usage:
-# vif-route (add|remove|online|offline)
-#
-# Environment vars:
-# vif vif interface name (required).
-# XENBUS_PATH path to this device's details in the XenStore (required).
-#
-# Read from the store:
-# ip list of IP networks for the vif, space-separated (default given in
-# this script).
-#============================================================================
-
-dir=$(dirname "$0")
-. "$dir/vif-common.sh"
-
-main_ip=$(dom0_ip)
-
-case "$command" in
- online)
- ifconfig ${vif} ${main_ip} netmask 255.255.255.255 up
- echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp
- ipcmd='add'
- cmdprefix=''
- ;;
- offline)
- do_without_error ifdown ${vif}
- ipcmd='del'
- cmdprefix='do_without_error'
- ;;
-esac
-
-if [ "${ip}" ] ; then
- # If we've been given a list of IP addresses, then add routes from dom0 to
- # the guest using those addresses.
- for addr in ${ip} ; do
- ${cmdprefix} ip route ${ipcmd} ${addr} dev ${vif} src ${main_ip}
- done
-fi
-
-handle_iptable
-
-log debug "Successful vif-route $command for $vif."
-if [ "$command" = "online" ]
-then
- success
-fi
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vm-monitor b/os-plugins/plugins/xen/files/xen.examples/scripts/vm-monitor
deleted file mode 100755
index 1c9a1791..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vm-monitor
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-
-basedir=$(dirname "$0")
-HA_TICK=2
-
-monitor() {
- local path=$1
- local name=$2
- local uuid=$3
- local host=$4
- local count=0
- path=$path/lock
-
- while :
- do
- echo "name=$name uuid=$uuid host=$host count=$count" > $path
- count=$(($count+1))
- sleep $HA_TICK
- done&
-}
-
-create_lock() {
- local path=$1/lock
- local rc=0
-
- [ -f $path ] || touch $path
- flock -x -w $HA_TICK $path $basedir/vm-monitor $*
- rc=$?
- if [ $rc -eq 1 ]; then
- echo `cat $path`
- exit 1
- else
- exit $rc
- fi
-}
-
-if [ $0 = "$basedir/set-lock" ]; then
- create_lock $*
-elif [ $0 = "$basedir/vm-monitor" ]; then
- monitor $*
-fi
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vscsi b/os-plugins/plugins/xen/files/xen.examples/scripts/vscsi
deleted file mode 100755
index 5ac26147..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vscsi
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, FUJITSU Limited
-# Based on the block scripts code.
-#
-
-dir=$(dirname "$0")
-. "$dir/xen-hotplug-common.sh"
-
-findCommand "$@"
-
-case "$command" in
- add)
- success
- ;;
- remove)
- # TODO
- exit 0
- ;;
-esac
-
-exit 0
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm b/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm
deleted file mode 100755
index 38a4532f..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-
-dir=$(dirname "$0")
-. "$dir/vtpm-hotplug-common.sh"
-
-vtpm_fatal_error=0
-
-case "$command" in
- add)
- vtpm_create_instance
- ;;
- remove)
- vtpm_remove_instance
- ;;
-esac
-
-if [ $vtpm_fatal_error -eq 0 ]; then
- log debug "Successful vTPM operation '$command'."
- success
-else
- fatal "Error while executing vTPM operation '$command'."
-fi
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-common.sh
deleted file mode 100644
index a45868ee..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-common.sh
+++ /dev/null
@@ -1,448 +0,0 @@
-#
-# Copyright (c) 2005 IBM Corporation
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-dir=$(dirname "$0")
-. "$dir/logging.sh"
-. "$dir/locking.sh"
-
-VTPMDB="/var/vtpm/vtpm.db"
-
-#In the vtpm-impl file some commands should be defined:
-# vtpm_create, vtpm_setup, vtpm_start, etc. (see below)
-if [ -r "$dir/vtpm-impl.alt" ]; then
- . "$dir/vtpm-impl.alt"
-elif [ -r "$dir/vtpm-impl" ]; then
- . "$dir/vtpm-impl"
-else
- function vtpm_create () {
- true
- }
- function vtpm_setup() {
- true
- }
- function vtpm_start() {
- true
- }
- function vtpm_suspend() {
- true
- }
- function vtpm_resume() {
- true
- }
- function vtpm_delete() {
- true
- }
- function vtpm_migrate() {
- echo "Error: vTPM migration accross machines not implemented."
- }
- function vtpm_migrate_local() {
- echo "Error: local vTPM migration not supported"
- }
- function vtpm_migrate_recover() {
- true
- }
-fi
-
-
-#Find the instance number for the vtpm given the name of the domain
-# Parameters
-# - vmname : the name of the vm
-# Return value
-# Returns '0' if instance number could not be found, otherwise
-# it returns the instance number in the variable 'instance'
-function vtpmdb_find_instance () {
- local vmname ret instance
- vmname=$1
- ret=0
-
- instance=$(cat $VTPMDB | \
- awk -vvmname=$vmname \
- '{ \
- if ( 1 != index($1,"#")) { \
- if ( $1 == vmname ) { \
- print $2; \
- exit; \
- } \
- } \
- }')
- if [ "$instance" != "" ]; then
- ret=$instance
- fi
- echo "$ret"
-}
-
-
-# Check whether a particular instance number is still available
-# returns "0" if it is not available, "1" otherwise.
-function vtpmdb_is_free_instancenum () {
- local instance instances avail i
- instance=$1
- avail=1
- #Allowed instance number range: 1-255
- if [ $instance -eq 0 -o $instance -gt 255 ]; then
- avail=0
- else
- instances=$(cat $VTPMDB | \
- gawk \
- '{ \
- if (1 != index($1,"#")) { \
- printf("%s ",$2); \
- } \
- }')
- for i in $instances; do
- if [ $i -eq $instance ]; then
- avail=0
- break
- fi
- done
- fi
- echo "$avail"
-}
-
-
-# Get an available instance number given the database
-# Returns an unused instance number
-function vtpmdb_get_free_instancenum () {
- local ctr instances don found
- instances=$(cat $VTPMDB | \
- gawk \
- '{ \
- if (1 != index($1,"#")) { \
- printf("%s ",$2); \
- } \
- }')
- ctr=1
- don=0
- while [ $don -eq 0 ]; do
- found=0
- for i in $instances; do
- if [ $i -eq $ctr ]; then
- found=1;
- break;
- fi
- done
-
- if [ $found -eq 0 ]; then
- don=1
- break
- fi
- let ctr=ctr+1
- done
- echo "$ctr"
-}
-
-
-# Add a domain name and instance number to the DB file
-function vtpmdb_add_instance () {
- local res vmname inst
- vmname=$1
- inst=$2
-
- if [ ! -f $VTPMDB ]; then
- echo "#Database for VM to vTPM association" > $VTPMDB
- echo "#1st column: domain name" >> $VTPMDB
- echo "#2nd column: TPM instance number" >> $VTPMDB
- fi
- res=$(vtpmdb_validate_entry $vmname $inst)
- if [ $res -eq 0 ]; then
- echo "$vmname $inst" >> $VTPMDB
- fi
-}
-
-
-#Validate whether an entry is the same as passed to this
-#function
-function vtpmdb_validate_entry () {
- local res rc vmname inst
- rc=0
- vmname=$1
- inst=$2
-
- res=$(cat $VTPMDB | \
- gawk -vvmname=$vmname \
- -vinst=$inst \
- '{ \
- if ( 1 == index($1,"#")) {\
- } else \
- if ( $1 == vmname && \
- $2 == inst) { \
- printf("1"); \
- exit; \
- } else \
- if ( $1 == vmname || \
- $2 == inst) { \
- printf("2"); \
- exit; \
- } \
- }')
-
- if [ "$res" == "1" ]; then
- rc=1
- elif [ "$res" == "2" ]; then
- rc=2
- fi
- echo "$rc"
-}
-
-
-#Remove an entry from the vTPM database given its domain name
-#and instance number
-function vtpmdb_remove_entry () {
- local vmname instance VTPMDB_TMP
- vmname=$1
- instance=$2
- VTPMDB_TMP="$VTPMDB".tmp
-
- $(cat $VTPMDB | \
- gawk -vvmname=$vmname \
- '{ \
- if ( $1 != vmname ) { \
- print $0; \
- } \
- '} > $VTPMDB_TMP)
- if [ -e $VTPMDB_TMP ]; then
- mv -f $VTPMDB_TMP $VTPMDB
- vtpm_delete $instance
- else
- log err "Error creating temporary file '$VTPMDB_TMP'."
- fi
-}
-
-
-# Find the reason for the creation of this device:
-# Returns 'resume' or 'create'
-function vtpm_get_create_reason () {
- local resume
- resume=$(xenstore_read $XENBUS_PATH/resume)
- if [ "$resume" == "True" ]; then
- echo "resume"
- else
- echo "create"
- fi
-}
-
-
-#Create a vTPM instance
-# If no entry in the TPM database is found, the instance is
-# created and an entry added to the database.
-function vtpm_create_instance () {
- local res instance domname reason uuid
- uuid=$(xenstore_read "$XENBUS_PATH"/uuid)
- reason=$(vtpm_get_create_reason)
-
- claim_lock vtpmdb
-
- instance="0"
-
- if [ "$uuid" != "" ]; then
- instance=$(vtpmdb_find_instance $uuid)
- fi
- if [ "$instance" == "0" ]; then
- domname=$(xenstore_read "$XENBUS_PATH"/domain)
- instance=$(vtpmdb_find_instance $domname)
- fi
-
- if [ "$instance" == "0" -a "$reason" != "create" ]; then
- release_lock vtpmdb
- return
- fi
-
- if [ "$instance" == "0" ]; then
- #Try to give the preferred instance to the domain
- instance=$(xenstore_read "$XENBUS_PATH"/pref_instance)
- if [ "$instance" != "" ]; then
- res=$(vtpmdb_is_free_instancenum $instance)
- if [ $res -eq 0 ]; then
- instance=$(vtpmdb_get_free_instancenum)
- fi
- else
- instance=$(vtpmdb_get_free_instancenum)
- fi
-
- vtpm_create $instance
-
- if [ $vtpm_fatal_error -eq 0 ]; then
- if [ "$uuid" != "" ]; then
- vtpmdb_add_instance $uuid $instance
- else
- vtpmdb_add_instance $domname $instance
- fi
- fi
- else
- if [ "$reason" == "resume" ]; then
- vtpm_resume $instance
- else
- vtpm_start $instance
- fi
- fi
-
- release_lock vtpmdb
-
- xenstore_write $XENBUS_PATH/instance $instance
-}
-
-
-#Remove an instance when a VM is terminating or suspending.
-#Since it is assumed that the VM will appear again, the
-#entry is kept in the VTPMDB file.
-function vtpm_remove_instance () {
- local instance reason domname uuid
- #Stop script execution quietly if path does not exist (anymore)
- xenstore-exists "$XENBUS_PATH"/domain
- uuid=$(xenstore_read "$XENBUS_PATH"/uuid)
-
- claim_lock vtpmdb
-
- instance="0"
-
- if [ "$uuid" != "" ]; then
- instance=$(vtpmdb_find_instance $uuid)
- fi
-
- if [ "$instance" == "0" ]; then
- domname=$(xenstore_read "$XENBUS_PATH"/domain)
- instance=$(vtpmdb_find_instance $domname)
- fi
-
- if [ "$instance" != "0" ]; then
- vtpm_suspend $instance
- fi
-
- release_lock vtpmdb
-}
-
-
-#Remove an entry in the VTPMDB file given the domain's name
-#1st parameter: The name of the domain
-function vtpm_delete_instance () {
- local instance
-
- claim_lock vtpmdb
-
- instance=$(vtpmdb_find_instance $1)
- if [ "$instance" != "0" ]; then
- vtpmdb_remove_entry $1 $instance
- fi
-
- release_lock vtpmdb
-}
-
-# Determine whether the given address is local to this machine
-# Return values:
-# "-1" : the given machine name is invalid
-# "0" : this is not an address of this machine
-# "1" : this is an address local to this machine
-function vtpm_isLocalAddress() {
- local addr res
- addr=$(ping $1 -c 1 | \
- gawk '{ print substr($3,2,length($3)-2); exit }')
- if [ "$addr" == "" ]; then
- echo "-1"
- return
- fi
- res=$(ifconfig | grep "inet addr" | \
- gawk -vaddr=$addr \
- '{ \
- if ( addr == substr($2, 6)) {\
- print "1"; \
- } \
- }' \
- )
- if [ "$res" == "" ]; then
- echo "0"
- return
- fi
- echo "1"
-}
-
-# Perform a migration step. This function differentiates between migration
-# to the local host or to a remote machine.
-# Parameters:
-# 1st: destination host to migrate to
-# 2nd: name of the domain to migrate
-# 3rd: the migration step to perform
-function vtpm_migration_step() {
- local res=$(vtpm_isLocalAddress $1)
- if [ "$res" == "0" ]; then
- vtpm_migrate $1 $2 $3
- else
- vtpm_migrate_local
- fi
-}
-
-# Recover from migration due to an error. This function differentiates
-# between migration to the local host or to a remote machine.
-# Parameters:
-# 1st: destination host the migration was going to
-# 2nd: name of the domain that was to be migrated
-# 3rd: the last successful migration step that was done
-function vtpm_recover() {
- local res
- res=$(vtpm_isLocalAddress $1)
- if [ "$res" == "0" ]; then
- vtpm_migrate_recover $1 $2 $3
- fi
-}
-
-
-#Determine the domain id given a domain's name.
-#1st parameter: name of the domain
-#return value: domain id or -1 if domain id could not be determined
-function vtpm_domid_from_name () {
- local id name ids
- ids=$(xenstore-list /local/domain)
- for id in $ids; do
- name=$(xenstore-read /local/domain/$id/name)
- if [ "$name" == "$1" ]; then
- echo "$id"
- return
- fi
- done
- echo "-1"
-}
-
-#Determine the virtual TPM's instance number using the domain ID.
-#1st parm: domain ID
-function vtpm_uuid_by_domid() {
- echo $(xenstore-read /local/domain/0/backend/vtpm/$1/0/uuid)
-}
-
-
-# Determine the vTPM's UUID by the name of the VM
-function vtpm_uuid_from_vmname() {
- local domid=$(vtpm_domid_from_name $1)
- if [ "$domid" != "-1" ]; then
- echo $(vtpm_uuid_by_domid $domid)
- return
- fi
- echo ""
-}
-
-#Add a virtual TPM instance number and its associated domain name
-#to the VTPMDB file and activate usage of this virtual TPM instance
-#by writing the instance number into the xenstore
-#1st parm: name of virtual machine
-#2nd parm: instance of associated virtual TPM
-function vtpm_add_and_activate() {
- local domid=$(vtpm_domid_from_name $1)
- local vtpm_uuid=$(vtpm_uuid_from_vmname $1)
- if [ "$vtpm_uuid" != "" -a "$domid" != "-1" ]; then
- vtpmdb_add_instance $vtpm_uuid $2
- xenstore-write backend/vtpm/$domid/0/instance $2
- fi
-}
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-delete b/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-delete
deleted file mode 100755
index b75b95bf..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-delete
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-# This scripts must be called the following way:
-# vtpm-delete <vtpm uuid>
-# or
-# vtpm-delete --vmname <vm name>
-
-dir=$(dirname "$0")
-. "$dir/vtpm-common.sh"
-
-if [ "$1" == "--vmname" ]; then
- vtpm_uuid=$(vtpm_uuid_from_vmname $2)
- if [ "$vtpm_uuid" != "" ];then
- vtpm_delete_instance $vtpm_uuid
- fi
-else
- vtpm_delete_instance $1
-fi
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-hotplug-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-hotplug-common.sh
deleted file mode 100644
index 9fd35e74..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-hotplug-common.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Copyright (c) 2005 IBM Corporation
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-dir=$(dirname "$0")
-. "$dir/xen-hotplug-common.sh"
-
-findCommand "$@"
-if [ "$command" != "online" ] &&
- [ "$command" != "offline" ] &&
- [ "$command" != "add" ] &&
- [ "$command" != "remove" ]
-then
- log err "Invalid command: $command"
- exit 1
-fi
-
-
-XENBUS_PATH="${XENBUS_PATH:?}"
-
-. "$dir/vtpm-common.sh"
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-impl b/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-impl
deleted file mode 100644
index 4f9a1fd8..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-impl
+++ /dev/null
@@ -1,208 +0,0 @@
-#!/bin/bash
-# ===================================================================
-#
-# Copyright (c) 2005, Intel Corp.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Intel Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-# OF THE POSSIBILITY OF SUCH DAMAGE.
-# ===================================================================
-
-# | SRC | TAG | CMD SIZE | ORD |mtype|strt
-TPM_CMD_OPEN=\\x00\\x00\\x00\\x00\\x01\\xc1\\x00\\x00\\x00\\x11\\x01\\x00\\x00\\x01\\x01\\x01
-TPM_CMD_RESM=\\x00\\x00\\x00\\x00\\x01\\xc1\\x00\\x00\\x00\\x11\\x01\\x00\\x00\\x01\\x01\\x02
-TPM_CMD_CLOS=\\x00\\x00\\x00\\x00\\x01\\xc1\\x00\\x00\\x00\\x0e\\x01\\x00\\x00\\x02
-TPM_CMD_DELE=\\x00\\x00\\x00\\x00\\x01\\xc1\\x00\\x00\\x00\\x0e\\x01\\x00\\x00\\x03
-
-TPM_TYPE_PVM=\\x01
-TPM_TYPE_HVM=\\x02
-
-TPM_SUCCESS=00000000
-
-TX_VTPM_MANAGER=/var/vtpm/fifos/from_console.fifo
-RX_VTPM_MANAGER=/var/vtpm/fifos/to_console.fifo
-
-VTPM_MIG=/usr/bin/vtpm_migrator
-
-# -------------------- Helpers for binary streams -----------
-
-function str_to_hex32() {
- printf "%0.8x" $1
-}
-
-function hex32_to_bin() {
- local inst=$(str_to_hex32 $1);
-
- local n1=`echo $inst | sed 's/\(..\)....../\\\\x\1/'`
- local n2=`echo $inst | sed 's/..\(..\)..../\\\\x\1/'`
- local n3=`echo $inst | sed 's/....\(..\)../\\\\x\1/'`
- local n4=`echo $inst | sed 's/......\(..\)/\\\\x\1/'`
-
- echo "$n1$n2$n3$n4"
-}
-
-function vtpm_manager_cmd() {
- local cmd=$1;
- local inst=$2;
- local inst_bin=$(hex32_to_bin $inst);
-
- claim_lock vtpm_mgr
-
- #send cmd to vtpm_manager
- printf "$cmd$inst_bin" > $TX_VTPM_MANAGER
-
- #recv response
- set +e
- local resp_hex=`dd skip=10 bs=1 count=4 if=$RX_VTPM_MANAGER 2> /dev/null | xxd -ps`
- set -e
-
- release_lock vtpm_mgr
-
- #return whether the command was successful
- if [ $resp_hex -ne $TPM_SUCCESS ]; then
- vtpm_fatal_error=1
- false
- else
- true
- fi
-}
-
-# Helper to get vm type to pass to vtpm_manager open/resume
-function vtpm_get_type() {
- local inst=$(xenstore_read $XENBUS_PATH/frontend-id)
- local vm=$(xenstore_read /local/domain/$inst/vm)
- if [ "$vm" != "" ]; then
- local ostype=$(xenstore-read $vm/image/ostype)
- if [ "$ostype" == "hvm" ]; then
- echo $TPM_TYPE_HVM;
- else
- echo $TPM_TYPE_PVM;
- fi
- fi
-}
-
-# ------------------ Command handlers -----------------
-
-# Create new vtpm instance & set it up for use
-function vtpm_create () {
- # Creation is handled implicitly by the manager on first setup
- # so just set it up for use
- $(vtpm_start $1)
-}
-
-# Setup vtpm instance for use.
-function vtpm_start() {
- local vmtype=$(vtpm_get_type);
- $(vtpm_manager_cmd $TPM_CMD_OPEN$vmtype $1)
-}
-
-function vtpm_resume() {
- local vmtype=$(vtpm_get_type);
- $(vtpm_manager_cmd $TPM_CMD_RESM$vmtype $1)
-}
-
-# Reset the vtpm AKA clear PCRs
-function vtpm_reset() {
- #not used by current implemenation
- true
-}
-
-# Shutdown the vtpm while the vm is down
-# This could be a suspend of shutdown
-# we cannot distinquish, so save the state
-# and decide on startup if we should keep is
-function vtpm_suspend() {
- $(vtpm_manager_cmd $TPM_CMD_CLOS $1)
-}
-
-
-function vtpm_delete() {
- local inst=$1
- if $(vtpm_manager_cmd $TPM_CMD_DELE $inst); then
- rm -f /var/vtpm/vtpm_dm_$1.data
- true
- else
- vtpm_fatal_error=1
- false
- fi
-}
-
-# Perform a migration step. This function differentiates between migration
-# to the local host or to a remote machine.
-# Parameters:
-# 1st: destination host to migrate to
-# 2nd: name of the domain to migrate
-# 3rd: the migration step to perform
-function vtpm_migrate() {
- local instance res
-
- instance=$(vtpmdb_find_instance $2)
- if [ "$instance" == "" ]; then
- log err "VTPM Migratoin failed. Unable to translation of domain name"
- echo "Error: VTPM Migration failed while looking up instance number"
- fi
-
- case "$3" in
- 0)
- #Incicate migration supported
- echo "0"
- ;;
-
- 1)
- # Get Public Key from Destination
- # Call vtpm_manager's migration part 1
- claim_lock vtpm_mgr
- $VTPM_MIG $1 $2 $instance $3
- release_lock vtpm_mgr
- ;;
-
- 2)
- # Call manager's migration step 2 and send result to destination
- # If successful remove from db
- claim_lock vtpm_mgr
- $VTPM_MIG $1 $2 $instance $3
- release_lock vtpm_mgr
- ;;
-
- 3)
- if `ps x | grep "$VTPM_MIG $1"`; then
- log err "VTPM Migration failed to complete."
- echo "Error: VTPM Migration failed to complete."
- fi
- ;;
- esac
-
-}
-
-
-function vtpm_migrate_recover() {
- echo "Error: Recovery not supported yet"
-}
-
-function vtpm_migrate_local() {
- echo "Error: local vTPM migration not supported"
-}
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-migration.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-migration.sh
deleted file mode 100644
index 7e38ae26..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/vtpm-migration.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2005 IBM Corporation
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-dir=$(dirname "$0")
-. "$dir/vtpm-common.sh"
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-cleanup b/os-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-cleanup
deleted file mode 100755
index 706359d0..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-cleanup
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/bash
-
-dir=$(dirname "$0")
-. "$dir/xen-hotplug-common.sh"
-
-# Claim the lock protecting /etc/xen/scripts/block. This stops a race whereby
-# paths in the store would disappear underneath that script as it attempted to
-# read from the store checking for device sharing.
-# Any other scripts that do similar things will have to have their lock
-# claimed too.
-# This is pretty horrible, but there's not really a nicer way of solving this.
-claim_lock "block"
-
-# split backend/DEVCLASS/VMID/DEVID on slashes
-path_array=( ${XENBUS_PATH//\// } )
-# get /vm/UUID path
-vm=$(xenstore_read_default "/local/domain/${path_array[2]}/vm" "")
-# construct /vm/UUID/device/DEVCLASS/DEVID
-if [ "$vm" != "" ]; then
- vm_dev="$vm/device/${path_array[1]}/${path_array[3]}"
-else
- vm_dev=
-fi
-
-# remove device frontend store entries
-xenstore-rm -t \
- $(xenstore-read "$XENBUS_PATH/frontend" 2>/dev/null) 2>/dev/null || true
-
-# remove device backend store entries
-xenstore-rm -t "$XENBUS_PATH" 2>/dev/null || true
-xenstore-rm -t "error/$XENBUS_PATH" 2>/dev/null || true
-
-# remove device path from /vm/UUID
-[ "$vm_dev" != "" ] && xenstore-rm -t "$vm_dev" 2>/dev/null || true
-
-release_lock "block"
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-common.sh
deleted file mode 100644
index 980a6270..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-hotplug-common.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-
-dir=$(dirname "$0")
-. "$dir/logging.sh"
-. "$dir/xen-script-common.sh"
-. "$dir/locking.sh"
-
-exec 2>>/var/log/xen/xen-hotplug.log
-
-export PATH="/sbin:/bin:/usr/bin:/usr/sbin:$PATH"
-export LANG="POSIX"
-unset $(set | grep ^LC_ | cut -d= -f1)
-
-fatal() {
- xenstore_write "$XENBUS_PATH/hotplug-error" "$*" \
- "$XENBUS_PATH/hotplug-status" error
- log err "$@"
- exit 1
-}
-
-success() {
- # Tell DevController that backend is "connected"
- xenstore_write "$XENBUS_PATH/hotplug-status" connected
-}
-
-do_or_die() {
- "$@" || fatal "$@ failed"
-}
-
-do_without_error() {
- "$@" 2>/dev/null || log debug "$@ failed"
-}
-
-sigerr() {
- fatal "$0 failed; error detected."
-}
-
-trap sigerr ERR
-
-
-##
-# xenstore_read <path>+
-#
-# Read each of the given paths, returning each result on a separate line, or
-# exit this script if any of the paths is missing.
-#
-xenstore_read() {
- local v=$(xenstore-read "$@" || true)
- [ "$v" != "" ] || fatal "xenstore-read $@ failed."
- echo "$v"
-}
-
-
-##
-# xenstore_read_default <path> <default>
-#
-# Read the given path, returning the value there or the given default if the
-# path is not present.
-#
-xenstore_read_default() {
- xenstore-read "$1" 2>/dev/null || echo "$2"
-}
-
-
-##
-# xenstore_write (<path> <value>)+
-#
-# Write each of the key/value pairs to the store, and exit this script if any
-# such writing fails.
-#
-xenstore_write() {
- log debug "Writing $@ to xenstore."
- xenstore-write "$@" || fatal "Writing $@ to xenstore failed."
-}
-
-
-log debug "$@" "XENBUS_PATH=$XENBUS_PATH"
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-network-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/xen-network-common.sh
deleted file mode 100644
index 7014333d..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-network-common.sh
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-
-# Gentoo doesn't have ifup/ifdown, so we define appropriate alternatives.
-
-# Other platforms just use ifup / ifdown directly.
-
-##
-# preiftransfer
-#
-# @param $1 The current name for the physical device, which is also the name
-# that the virtual device will take once the physical device has
-# been renamed.
-
-if ! which ifup >/dev/null 2>/dev/null
-then
- preiftransfer()
- {
- true
- }
- ifup()
- {
- false
- }
- ifdown()
- {
- false
- }
-else
- preiftransfer()
- {
- true
- }
-fi
-
-
-first_file()
-{
- t="$1"
- shift
- for file in $@
- do
- if [ "$t" "$file" ]
- then
- echo "$file"
- return
- fi
- done
-}
-
-find_dhcpd_conf_file()
-{
- first_file -f /etc/dhcp3/dhcpd.conf /etc/dhcpd.conf
-}
-
-
-find_dhcpd_init_file()
-{
- first_file -x /etc/init.d/{dhcp3-server,dhcp,dhcpd}
-}
-
-find_dhcpd_arg_file()
-{
- first_file -f /etc/sysconfig/dhcpd /etc/defaults/dhcp /etc/default/dhcp3-server
-}
-
-# configure interfaces which act as pure bridge ports:
-setup_bridge_port() {
- local dev="$1"
-
- # take interface down ...
- ip link set ${dev} down
-
- # ... and configure it
- ip addr flush ${dev}
-}
-
-# Usage: create_bridge bridge
-create_bridge () {
- local bridge=$1
-
- # Don't create the bridge if it already exists.
- if [ ! -e "/sys/class/net/${bridge}/bridge" ]; then
- brctl addbr ${bridge}
- brctl stp ${bridge} off
- brctl setfd ${bridge} 0
- fi
-}
-
-# Usage: add_to_bridge bridge dev
-add_to_bridge () {
- local bridge=$1
- local dev=$2
-
- # Don't add $dev to $bridge if it's already on a bridge.
- if [ -e "/sys/class/net/${bridge}/brif/${dev}" ]; then
- ip link set ${dev} up || true
- return
- fi
- brctl addif ${bridge} ${dev}
- ip link set ${dev} up
-}
-
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-script-common.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/xen-script-common.sh
deleted file mode 100644
index f6841acf..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/xen-script-common.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Copyright (c) 2005 XenSource Ltd.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-
-set -e
-
-
-evalVariables()
-{
- for arg in "$@"
- do
- if expr 'index' "$arg" '=' '>' '1' >/dev/null
- then
- eval "$arg"
- fi
- done
-}
-
-
-findCommand()
-{
- for arg in "$@"
- do
- if ! expr 'index' "$arg" '=' >/dev/null
- then
- command="$arg"
- return
- fi
- done
-}
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/xend-relocation.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/xend-relocation.sh
deleted file mode 100755
index 1f1cd061..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/xend-relocation.sh
+++ /dev/null
@@ -1,159 +0,0 @@
-#!/bin/bash
-#============================================================================
-# xend-relocation
-#
-# Version = 1.0.3
-# Date = 2007-09-14
-#
-# Maintainer(s) = Ron Terry - ron (at) pronetworkconsulting (dot) com
-#
-# The latest version can be found at:
-#
-# http://pronetworkconsulting.com/linux/scripts/xend-relocation.html
-#
-# Description:
-#
-# This script is used to enable or disable the VM relocation (migration)
-# feature of xend. It can be used to manage the local instance of xend
-# or both the local instance and instances of xend on the other machines
-# to/from which VMs can be relocated.
-# To manage the instances of xend on other machines this script communicates
-# using ssh so it is recomended that if you use this feature you
-# pre-distribute ssh keys between the servers.
-#
-# Depends on:
-#
-# Can use: /etc/sysconfig/xend
-#
-# Usage: xend-relocation (start|stop|status)
-# or
-# xend-relocation (on|off|status)
-#
-# Vars:
-#
-# XEN_CONFIG_FILE
-#
-# RELOCATION_NODELIST
-#
-# MANAGE_ALL_RELOCATION_NODES
-#
-# XEN_RELOCATION_PORT
-#
-#============================================================================
-
-#### Read config files and set variables ##################################
-
-# If you source the /etc/sysconfig/xend file comment out the variables
-# being set in this script.
-
-. /etc/sysconfig/xend
-
-XEN_CONFIG_FILE="/etc/xen/xend-config.sxp"
-
-#### Script Functions #####################################################
-
-usage(){
- echo ""
- echo "Usage: xend-relocation {start|stop|status}"
- echo " or"
- echo " xend-relocation {on|off|status}"
- echo ""
-}
-
-relocate_on() {
- for NODE in $RELOCATION_NODELIST
- do
- case $NODE in
- any)
- SSHCMD=""
- RELOCATION_NODELIST=""
- ;;
- *)
- if [ "$MANAGE_ALL_RELOCATION_NODES" = "true" ]
- then
- SSHCMD="ssh root@$NODE "
- else
- SSHCMD=""
- fi
- ;;
- esac
-
- $SSHCMD sed -i "s/^#(xend-relocation-server yes)/(xend-relocation-server yes)/g" $XEN_CONFIG_FILE
- $SSHCMD sed -i "s/^#(xend-relocation-server no)/(xend-relocation-server yes)/g" $XEN_CONFIG_FILE
- $SSHCMD sed -i "s/^#(xend-relocation-port [^)]*)/(xend-relocation-port $XEN_RELOCATION_PORT)/g" $XEN_CONFIG_FILE
- $SSHCMD sed -i "s/^(xend-relocation-hosts-allow \(.*\)/###(xend-relocation-hosts-allow \1/g" $XEN_CONFIG_FILE
- $SSHCMD sed -i "s/^#(xend-relocation-hosts-allow .*/(xend-relocation-hosts-allow \'$RELOCATION_NODELIST')/g" $XEN_CONFIG_FILE
- $SSHCMD rcxend restart
-
- if [ "$NODE" = "any" ] || [ "$MANAGE_ALL_RELOCATION_NODES" = "false" ]
- then
- exit 0
- fi
- done
-}
-
-relocate_off() {
- for NODE in $RELOCATION_NODELIST
- do
- case $NODE in
- any)
- SSHCMD=""
- RELOCATION_NODELIST=""
- ;;
- *)
- SSHCMD="ssh root@$NODE "
- ;;
- esac
-
- $SSHCMD sed -i "s/^(xend-relocation-server yes)/#(xend-relocation-server yes)/g" $XEN_CONFIG_FILE
- $SSHCMD sed -i "s/^(xend-relocation-port [^)]*)/#(xend-relocation-port $XEN_RELOCATION_PORT)/g" $XEN_CONFIG_FILE
- $SSHCMD sed -i "s/^(xend-relocation-hosts-allow .*/#(xend-relocation-hosts-allow \'$RELOCATION_NODELIST')/g" $XEN_CONFIG_FILE
- $SSHCMD rcxend restart
-
- if [ "$NODE" = "any" ] || [ "$MANAGE_ALL_RELOCATION_NODES" = "false" ]
- then
- exit 0
- fi
- done
-}
-
-relocate_status() {
- if grep -q "^(xend-relocation-server .*yes)" $XEN_CONFIG_FILE
- then
- ENABLED="yes"
- elif egrep -q "(^\(xend-relocation-server .*no\)|^#\(xend-relocation-server .*no\)|^#\(xend-relocation-server .*yes\))" $XEN_CONFIG_FILE
- then
- ENABLED="no"
- fi
-
- echo ""
- echo "Xend Relocation Server Enabled: $ENABLED"
- echo ""
-}
-
-#### Script Body ##########################################################
-
-case $1 in
- on|ON|On|start)
- case $ENABLE_RELOCATION in
- true)
- relocate_on
- ;;
- false)
- ;;
- esac
- exit 0
- ;;
- off|OFF|Off|stop)
- relocate_off
- exit 0
- ;;
- status|STATUS|Status)
- relocate_status
- exit 0
- ;;
- *)
- usage
- exit 1
- ;;
-esac
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/xmclone.sh b/os-plugins/plugins/xen/files/xen.examples/scripts/xmclone.sh
deleted file mode 100755
index fd31249b..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/scripts/xmclone.sh
+++ /dev/null
@@ -1,793 +0,0 @@
-#! /bin/bash
-
-# Script to clone Xen Dom-Us.
-# Based on XenClone by Glen Davis; rewritten by Bob Brandt.
-# Further extended and restructured by Manfred Hollstein.
-# Copyright (C) 2007 Manfred Hollstein, SUSE / Novell Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
-# USA.
-
-#
-# Defaults
-#
-VERSION=0.4.5
-XEN_CONFIGS=/etc/xen/vm/
-XEN_BASE=/var/lib/xen/images/
-SOURCE=
-DESTINATION=
-DUPLICATE=0
-HOSTNAME=
-IP=
-MAC=
-PART=2
-DOMU_IS_FILE_BASED=
-DOMU_ROOTDEV=
-FORCE=no
-
-
-#
-# Subroutines used in this script
-#
-
-# Display the usage information for this script
-function usage ()
-{
- cat << EOF
-Usage: ${0##*/} [-h|--help] [-v|--version] [--force] [-c dir] [-b dir] [-d]
- [-n hostname] [-i address] [-m address]
- [-p number-of-root-partition-within-domU]
- [-t target-device]
- SourcedomU NewdomU
-
-Clones a domU, and gives a new Host name, MAC address and possibly IP address.
-Once finished the new domU should boot without any additional configuration.
-Currently works with single NIC, and basic bridge setup. Tested with cloning
-a SLES10 install created from the SLES10 YaST Xen module.
-
- -h, --help Display this help message.
- -v, --version Display the version of this program.
- --force Silently overwrite files when destination already exists.
- -c Xen configuration directory which defaults to:
- $XEN_CONFIGS
- -b Xen image base directory which defaults to:
- $XEN_BASE
- -d Duplicate only, do not modify attributes.
- -n Hostname to be used, if not specified the NewdomU name
- will be used.
- -i IP address to be used, if not specified the IP address
- will not be changed.
- -m MAC address to be used, if not specified a psuedo-random
- address will be used based on the ip address with the
- format: 00:16:3e:BB:CC:DD
- Where BB,CC,DD are the Hex octals of the IP address.
- -p This script assumes that the second partition on any
- writable disk of the domU to be cloned holds the root
- file system in which attributes have to be changed.
- If this is not the case for you, you can specify the
- partition number using this flag.
- -t If the SourcedomU uses a block device for its root/
- boot directory, you need to specify the new block
- device for NewdomU.
-
-From XENSource Networking WIKI (http://wiki.xensource.com/xenwiki/XenNetworking)
-Virtualised network interfaces in domains are given Ethernet MAC addresses. When
-choosing MAC addresses to use, ensure you choose a unicast address. That is, one
-with the low bit of the first octet set to zero. For example, an address
-starting aa: is OK but ab: is not.
-It is best to keep to the range of addresses declared to be "locally assigned"
-(rather than allocated globally to hardware vendors). These have the second
-lowest bit set to one in the first octet. For example, aa: is OK, a8: isn't.
-
-Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.
-EOF
-}
-
-# Display the version information for this script
-function version ()
-{
- cat << EOF
-${0##*/} (Xen VM clone utility) $VERSION
-${0##*/} comes with ABSOLUTELY NO WARRANTY.
-This is free software, and you are welcome to redistribute it under the terms
-of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-
-Written by Manfred Hollstein, based on work by Glen Davis and Bob Brandt.
-EOF
-}
-
-# Find/Replace text within a file
-function replace ()
-{
- sed -i -e "s!$1!$2!g" "$3"
-}
-
-#
-# Find the first entry that names a writable image or device, assuming
-# the Dom-U is going to boot from it:
-#
-function get_first_writable_image ()
-{
- local i
-
- for i in $@
- do
- case $i in
- # Match the first entry like "'phy:/dev/md0,xvda,w',"
- *",w'," )
- # Strip off the leading "'" character:
- i="${i#*\'}"
- # Strip off the final trailing "',"
- echo "${i%*\',}"
- return
- ;;
- esac
- done
-}
-
-#
-# Extract just the protocol and the file/device name part from a disk entry:
-#
-function extract_proto_and_filename ()
-{
- echo "$1" | cut -d, -f1
-}
-
-
-#
-# Make sure this script is run by the superuser root
-#
-if [ `id -u` -ne 0 ]
-then
- echo "You must be root to run this script!" >&2
- exit 1
-fi
-
-
-#
-# Process the parameters
-#
-# Must look for double -- arguments before calling getopts
-#
-if [ "$1" = "--version" ]
-then
- version
- exit 0
-fi
-if [ "$1" = "--help" ]
-then
- usage
- exit 0
-fi
-if [ "$1" = "--force" ]
-then
- FORCE=yes
- shift
-fi
-while getopts ":b:c:dhi:m:n:p:t:v" opt
-do
- case $opt in
- b )
- XEN_BASE=$OPTARG
- ;;
- c )
- XEN_CONFIGS=$OPTARG
- ;;
- d )
- DUPLICATE=1
- ;;
- h )
- usage
- exit 1
- ;;
- i )
- IP=$OPTARG
- ;;
- m )
- MAC=$OPTARG
- ;;
- n )
- HOSTNAME=$OPTARG
- ;;
- p )
- PART=$OPTARG
- ;;
- t )
- DOMU_ROOTDEV=$OPTARG
- ;;
- v )
- version
- exit 0
- ;;
- esac
-done
-shift $(($OPTIND-1))
-
-if [ $# -ne 2 ]
-then
- echo "Illegal number of arguments passed!" >&2
- echo "" >&2
- usage
- exit 1
-fi
-
-SOURCE=$1
-DESTINATION=$2
-
-
-#
-# Verify the Source and Destination parameters
-#
-# The source and destination should be relative directory names without
-# trailing /'s. If the source does have a full path, use that path as the
-# value for XEN_BASE. Otherwise remove all but the last part of the path
-# for both source and destination
-#
-SOURCEDIR=${SOURCE%/*}
-SOURCEBASE=${SOURCE##*/}
-if [ "$SOURCEDIR" != "$SOURCEBASE" ]
-then
- XEN_BASE=$SOURCEDIR"/"
- SOURCE=$SOURCEBASE
-fi
-SOURCE=${SOURCE##*/}
-DESTINATION=${DESTINATION##*/}
-
-
-#
-# Verify the Xen Config and Source parameters
-#
-# Verify the validity of each argument, ask the user if there is a problem
-while [ ! -d "$XEN_CONFIGS" ]
-do
- cat << EOF >&2
-$XEN_CONFIGS either does not exist or is not a directory.
-Please enter a valid directory.
-EOF
- read -e -p "Xen Configuration Directory? " XEN_CONFIGS
-done
-while [ ! -d "$XEN_BASE" ]
-do
- cat << EOF >&2
-$XEN_BASE either does not exist or is not a directory.
-Please enter a valid directory.
-EOF
- read -e -p "Xen Image Base Directory? " XEN_BASE
-done
-
-#
-# Directories should have a / after them
-#
-[ "$XEN_CONFIGS" != "" ] && XEN_CONFIGS="${XEN_CONFIGS%/}/"
-[ "$XEN_BASE" != "" ] && XEN_BASE="${XEN_BASE%/}/"
-
-
-#
-# Verify that actual image and configuration file exist
-#
-while :
-do
- if [ ! -f "$XEN_CONFIGS$SOURCE" ]
- then
- echo "The $XEN_CONFIGS$SOURCE file does not exist." >&2
- echo "Please select a valid file." >&2
- FILES=
- for FILE in `ls $XEN_CONFIGS`
- do
- # If the entry is a file
- [ -f "$XEN_CONFIGS$FILE" ] &&
- FILES="$FILES $XEN_CONFIGS$FILE"
- done
- if [ -z "$FILES" ]
- then
- echo "There are no suitable files beneath $XEN_CONFIGS" >&2
- exit 1
- fi
- echo "Files beneath $XEN_CONFIGS"
- select FILE in $FILES
- do
- if [ -f "$FILE" ]
- then
- SOURCE=${FILE##*/}
- break
- fi
- echo "Invalid Selection." >&2
- done
- else
- #
- # Figure out what type of image we're using:
- #
- BOOTENTRY=$(get_first_writable_image $(sed -n -e 's,^disk[ ]*=[ ]*\[\(.*\)\],\1,p' "$XEN_CONFIGS$SOURCE"))
- case "$BOOTENTRY" in
- phy:* )
- DOMU_IS_FILE_BASED=no
- ;;
- file:* | \
- tap:aio:* )
- DOMU_IS_FILE_BASED=yes
- ;;
- * )
- echo "Don't know how to deal with the boot protocol/device you appear to be using: $BOOTENTRY" >&2
- echo "These are the ones this script supports: \"phy:*\", \"file:*\", \"tap:aio:*\"" >&2
- exit 1
- ;;
- esac
- fi
-
-
- if [ ${DOMU_IS_FILE_BASED} = yes ]
- then
- if [ ! -d "$XEN_BASE$SOURCE" ]
- then
- echo "The directory $XEN_BASE$SOURCE is invalid." >&2
- echo "Please select another one." >&2
- FILES=
- for FILE in `ls $XEN_BASE`
- do
- # If the entry is a directory and
- # it is not empty
- [ -d "$XEN_BASE$FILE" ] &&
- [ "`ls $XEN_BASE$FILE`" != "" ] &&
- FILES="$FILES $XEN_BASE$FILE"
- done
- if [ -z "$FILES" ]
- then
- echo "There are no suitable directories beneath $XEN_BASE" >&2
- exit 1
- fi
- echo "Directories beneath $XEN_BASE"
- select FILE in $FILES
- do
- if [ -d "$FILE" ]
- then
- SOURCE=${FILE##*/}
- break
- fi
- echo "Invalid Selection." >&2
- done
- continue
- fi
- break
-
- else # DomU is using some block device
- while [ ! -b "${DOMU_ROOTDEV}" ] || [ ! -w "${DOMU_ROOTDEV}" ]
- do
- read -e -p "You need to specify a valid block device for the new target DomU: " DOMU_ROOTDEV
- done
- break
-
- fi
-done
-BOOTIMAGE="$(echo $BOOTENTRY | awk -F : '{ print $NF }' | sed -e 's:,[^,]*,[^,]*$::')"
-
-
-#
-# Verify that the destination location does not already have an image or
-# config file
-#
-while [ -z "$DESTINATION" ]
-do
- echo "You have not specified a Destination." >&2
- read -e -p "New Destination? " DESTINATION
-done
-while :
-do
- if [ -f "$XEN_CONFIGS$DESTINATION" ] && [ $FORCE = no ]
- then
- echo "The target configuration file $XEN_CONFIGS$DESTINATION already exists!" >&2
- read -e -p "Please select a new Destination? " DESTINATION
- fi
- if [ ${DOMU_IS_FILE_BASED} = yes ]
- then
- if [ -d "$XEN_BASE$DESTINATION" ] && [ $FORCE = no ]
- then
- echo "The target image location $XEN_BASE$DESTINATION already exists!" >&2
- read -p "Please select a new Destination? " DESTINATION
- continue
- fi
- fi
- break
-done
-
-
-#
-# Verify the network parameters (if Duplicate Only was not selected)
-#
-if [ $DUPLICATE -eq 0 ]
-then
- if [ -z "$HOSTNAME" ]
- then
- echo "You have not entered a host name. If you wish to, enter one now." >&2
- read -p "New host name? (Default: $DESTINATION) " HOSTNAME
- fi
- [ -z "$HOSTNAME" ] && HOSTNAME=$DESTINATION
-
- if [ -z "$IP" ]
- then
- echo "You have not specified an IP Address. If you wish to change the IP address, enter one now."
- read -p "New IP Address? " IP
- fi
- while [ -n "$IP" ] && [ "${IP/*.*.*.*/ok}" != "ok" ]
- do
- echo "The IP Address you specified is invalid. If you wish, enter a new one now."
- read -p "New IP Address? " IP
- [ -z "$IP" ] && break
- done
-
- if [ -z "$MASK" ]
- then
- echo "You have not specified a network mask in bits. Please enter one now. Default is 24 "
- read -p "Network mask? " MASK
- fi
- while [ -n "$MASK" ] && [ "${MASK/**/ok}" != "ok" ]
- do
- echo "The Network mask you specified is invalid. If you wish, enter a new one now."
- read -p "Network mask? " MASK
- [ -z "$MASK" ] && MASK=24
- done
-
- if [ -z "$MAC" ]
- then
- newMAC=""
- newMACtext="(format 01:23:45:67:89:AB)"
- # If the IP Address is specified and the MAC isn't, generate one.
- if [ -n "$IP" ]
- then
- octal1=${IP%%.*}
- IP=${IP#*.}
- octal2=${IP%%.*}
- IP=${IP#*.}
- octal3=${IP%%.*}
- octal4=${IP#*.}
- IP="$octal1.$octal2.$octal3.$octal4"
- octal1="00"`echo $octal1 16 o p | dc | tr '[:upper:]' '[:lower:]'`
- octal2="00"`echo $octal2 16 o p | dc | tr '[:upper:]' '[:lower:]'`
- octal3="00"`echo $octal3 16 o p | dc | tr '[:upper:]' '[:lower:]'`
- octal4="00"`echo $octal4 16 o p | dc | tr '[:upper:]' '[:lower:]'`
- newMAC="00:16:3e:"${octal2:(-2)}":"${octal3:(-2)}":"${octal4:(-2)}
- newMACtext="(default $newMAC)"
- fi
- echo "You have not specified a MAC Address. If you wish to change the MAC address, enter one now."
- read -p "New MAC Address? $newMACtext " MAC
- [ -z "$MAC" ] && MAC=$newMAC
- fi
-
- while [ "$MAC" != "" ] && [ "${MAC/[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]/ok}" != "ok" ]
- do
- echo "The MAC Address you specified is invalid. If you wish, enter a new one now."
- read -p "New MAC Address? (format 01:23:45:67:89:AB) " MAC
- [ -z "$MAC" ] && break
- done
-else
- HOSTNAME=
- IP=
- MASK=
- MAC=
-fi
-
-
-#
-# Make sure that the source VM is not running
-#
-xmid=`xm domid "$SOURCE" 2>/dev/null`
-if [ $? -eq 0 ] && [ -n "$xmid" ] && [ -z "${xmid//[[:digit:]]/}" ]
-then
- echo "domU $SOURCE is currently running on Xen, please shutdown before cloning." >&2
- echo "The command \"xm shutdown $xmid -w\" will shutdown the domU" >&2
- exit 1
-fi
-
-
-#
-# Copy the Xen Config file
-#
-SOURCECONFIG="$XEN_CONFIGS$SOURCE"
-DESTCONFIG="$XEN_CONFIGS$DESTINATION"
-echo "Copying Configuration files"
-if ! cp -fv "$SOURCECONFIG" "$DESTCONFIG"
-then
- echo "The Config file $SOURCECONFIG could not be copied to $DESTCONFIG" >&2
- exit 1
-fi
-
-
-#
-# Edit newly copied configuration file
-#
-echo "Editing config file ($DESTCONFIG), correcting the new domU Name."
-if ! replace "$SOURCE" "$DESTINATION" "$DESTCONFIG"
-then
- echo "Unable to change the domU name in $DESTCONFIG from $SOURCE to $DESTINATION" >&2
- exit 1
-fi
-
-if [ $DUPLICATE -eq 0 ]
-then
- oldUUID=`grep "^uuid[ ]*=.*$" $DESTCONFIG`
- if [ x"${oldUUID}" = x ]
- then
- echo 'uuid="'`uuidgen`'"' >> $DESTCONFIG
- else
- sed -i -e 's,^uuid[ ]*=.*$,uuid="'`uuidgen`'",' $DESTCONFIG
- fi
-fi
-
-if [ $DUPLICATE -eq 0 ] && [ -n "$MAC" ]
-then
- # Get the vif line in the config file
- oldMAC=`grep "vif[ ]*=[ ]*" $DESTCONFIG`
- # extract everything between the square brackets
- oldMAC=${oldMAC#*[}
- oldMAC=${oldMAC%*]}
- # using the single quotes as delimiters, get the second field
- # (this script can only deal with one adapter!)
- oldMAC=`echo "$oldMAC" | cut -f2 -d\'`
- # remove the mac= from the beginning
- oldMAC=${oldMAC#mac=*}
-
- if ! replace "$oldMAC" "$MAC" "$DESTCONFIG"
- then
- echo "Unable to change the MAC address in $DESTCONFIG from ($oldMAC) to ($MAC)" >&2
- exit 1
- fi
-fi
-
-
-#
-# Create and Copy image directory
-#
-
-if [ $DOMU_IS_FILE_BASED = yes ]
-then
- SOURCEXEN="$XEN_BASE$SOURCE/"
- DESTXEN="$XEN_BASE$DESTINATION/"
- echo "Creating the new image directory $DESTXEN"
- if ! mkdir -pv --mode=755 "$DESTXEN"
- then
- echo "Unable to create the directory $DESTXEN" >&2
- exit 1
- fi
- echo "Copying complete image. (This may take a few minutes!)"
-
- tar -C $SOURCEXEN -cSf - --exclude=lost+found `cd $SOURCEXEN; echo *` \
- | tar -C $DESTXEN -xvBSpf -
- if [ $? -ne 0 ]
- then
- echo "Unable to copy the images from $SOURCEXEN to $DESTXEN" >&2
- exit 1
- fi
-else # Deal with block devices
- if [ $DUPLICATE -eq 0 ]
- then
- echo "Editing config file ($DESTCONFIG), correcting the new domU root device name."
- if ! replace ":$BOOTIMAGE," ":$DOMU_ROOTDEV," "$DESTCONFIG"
- then
- echo "Unable to change the domU root device name in $DESTCONFIG from $BOOTIMAGE to $DOMU_ROOTDEV" >&2
- exit 1
- fi
- fi
- echo "Copying from source block device ($BOOTIMAGE) to the new target device ($DOMU_ROOTDEV)"
- echo "(This may take a few minutes!)"
- if ! dd if=$BOOTIMAGE of=$DOMU_ROOTDEV bs=4K
- then
- echo "Failed to copy from $BOOTIMAGE to $DOMU_ROOTDEV" >&2
- exit 1
- fi
-fi
-
-
-#
-# The rest of the script only applies if we are actually making changes within
-# the image
-#
-if [ $DUPLICATE -eq 0 ]
-then
- #
- # Create a temporary directory name
- #
- tmpdir=$(mktemp -d)
- if [ $? -ne 0 ]
- then
- echo "Unable to create temporary directory $tmpdir." >&2
- exit 1
- fi
-
- if [ $DOMU_IS_FILE_BASED = yes ]
- then
- set -- $(echo $DESTXEN*)
- else
- set -- $(echo $DOMU_ROOTDEV)
- fi
-
- for DISKIMAGE
- do
- # Silently ignore any directories (lost+found comes to mind):
- [ -d $DISKIMAGE ] && continue
-
- #
- # Mount the newly copied image file
- #
- loopdev=''
- for dev in /dev/loop*
- do
- if [ ! -b "$dev" ]
- then
- continue
- fi
-
- status=$(losetup "$dev" 2>/dev/null) || status=''
-
- if [ ! "$status" ]
- then
- status=$(losetup $dev "$DISKIMAGE")
- if [ ! "$status" ]
- then
- kpartx -a $dev
- loopdev=$dev
- break
- fi
- fi
- done
- if [ ! "$loopdev" ]
- then
- echo "No loopback devices available." >&2
- exit 1
- fi
-
- echo -n "Trying to mount partition $PART of $DISKIMAGE ... "
- mapperdev=$(echo "$loopdev" | sed -e 's/dev\//dev\/mapper\//g')p$PART
- status=$(mount -o rw $mapperdev "$tmpdir")
- if [ "$status" ]
- then
- kpartx -d $loopdev
- losetup -d $loopdev
- continue
- fi
- echo "succeeded."
-
- pushd "$tmpdir" > /dev/null
-
- #
- # Find out if we are looking at SLE10
- #
- SLE10=
- if [ -f etc/SuSE-release ]
- then
- OSVER=`cat etc/SuSE-release | sed -n 1p | awk -F'(' '{ print $1 }' | sed 's/ $//g'`
- if [ "$OSVER" == "openSUSE 10" -o \
- "$OSVER" == "SUSE Linux Enterprise Server 10" -o \
- "$OSVER" == "SUSE Linux Enterprise Desktop 10" ]
- then
- SLE10=1
- fi
- fi
-
- #
- # Change the Network Configuration in the mounted image file
- #
- if [ -n "$MAC" ]
- then
- if [ -d etc/sysconfig/network/ ]
- then
- echo "Changing the Network configuration in the newly copied image."
- pushd "etc/sysconfig/network/" > /dev/null
- # Find the ifcfg-ethMACADDRESS file in the
- # newly copied image
- ETH0=`ls | grep ifcfg-eth | cut -f1`
- if [ -z "$ETH0" ]
- then
- echo "Unable to find ethernet file in image file" 2>&1
- cd /tmp; umount "$tmpdir"; rmdir "$tmpdir"
- kpartx -d $loopdev
- losetup -d $loopdev
- exit 1
- fi
- if [ "$SLE10" ]
- then
- mv -f "$ETH0" ifcfg-eth-id-$MAC
- else
- sed -i -e "s,^LLADDR=.*$,LLADDR=\'$MAC\'," \
- ifcfg-eth0
- fi
- popd > /dev/null
- fi
-
- if [ -d etc/udev/rules.d/ ]
- then
- # The 30-net_persistent_names.rules or 70-persistent-net.rules
- # file controls which interface to use.
- # By removing the SUBSYSTEM== lines, we force
- # the system to recreate it.
- pushd "etc/udev/rules.d/" > /dev/null
- if [ "$SLE10" ]
- then
- sed -i -e "/SUBSYSTEM==/d" \
- 30-net_persistent_names.rules
- else
- sed -i -e "/SUBSYSTEM==/d" \
- 70-persistent-net.rules
- fi
- popd > /dev/null
- fi
- fi
-
- #
- # Change the IP Address in the mounted image file
- #
- if [ -n "$IP" ]
- then
- if [ -d etc/sysconfig/network/ ]
- then
- echo "Modify the IP Address of the new domU."
-
- pushd "etc/sysconfig/network/" > /dev/null
- if [ "$SLE10" ]
- then
- sed -i -e "s,^IPADDR=.*$,IPADDR=$IP," \
- ifcfg-eth-id-$MAC
- else
- sed -i -e "s,^IPADDR=.*$,IPADDR=$IP/$MASK," \
- ifcfg-eth0
- fi
- popd > /dev/null
- fi
- fi
-
- #
- # Change the HOSTNAME and hosts files in the mounted image file
- #
- if [ -n "$HOSTNAME" ]
- then
- if [ -d "etc/" ]
- then
- echo "Changing HOSTNAME file to $HOSTNAME."
-
- pushd "etc/" > /dev/null
- # using the period as a delimiter, select the
- # first entry for the hostname
- oldHOSTNAME=`cut -f1 -d\. HOSTNAME`
- if ! replace "$oldHOSTNAME" "$HOSTNAME" "HOSTNAME"
- then
- echo "Unable to change the HOSTNAME from $oldHOSTNAME to $HOSTNAME" >&2
- cd /tmp; umount "$tmpdir"; rmdir "$tmpdir"
- kpartx -d $loopdev
- losetup -d $loopdev
- exit 1
- fi
- FQDN=`cat HOSTNAME`
-
- # Add entries for the new domU to /etc/hosts,
- # if it doesn't already include them:
- if ! egrep -q "[[:space:]]$FQDN[^[:alnum:]]" \
- hosts
- then
- echo "Changing hosts file."
- echo -e "$IP\t$FQDN $HOSTNAME" >> hosts
- fi
- popd > /dev/null
- fi
- fi
-
- popd > /dev/null
- umount "$tmpdir"
- kpartx -d $loopdev
- losetup -d $loopdev
- done
-
- rmdir "$tmpdir"
-fi
-
-echo "Clone is complete. domU $DESTCONFIG is ready to start!"
-exit 0
diff --git a/os-plugins/plugins/xen/files/xen.examples/xenapiusers b/os-plugins/plugins/xen/files/xen.examples/xenapiusers
deleted file mode 100644
index d8649da3..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/xenapiusers
+++ /dev/null
@@ -1 +0,0 @@
-root
diff --git a/os-plugins/plugins/xen/files/xen.examples/xend-config-xenapi.sxp b/os-plugins/plugins/xen/files/xen.examples/xend-config-xenapi.sxp
deleted file mode 100644
index d80083ad..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/xend-config-xenapi.sxp
+++ /dev/null
@@ -1,193 +0,0 @@
-# -*- sh -*-
-
-#
-# Xend configuration file.
-#
-
-# This example configuration is appropriate for an installation that
-# utilizes a bridged network configuration. Access to xend via http
-# is disabled.
-
-# Commented out entries show the default for that entry, unless otherwise
-# specified.
-
-#(logfile /var/log/xen/xend.log)
-#(loglevel DEBUG)
-
-
-# The Xen-API server configuration. (Please note that this server is
-# available as an UNSUPPORTED PREVIEW in Xen 3.0.4, and should not be relied
-# upon).
-#
-# This value configures the ports, interfaces, and access controls for the
-# Xen-API server. Each entry in the list starts with either unix, a port
-# number, or an address:port pair. If this is "unix", then a UDP socket is
-# opened, and this entry applies to that. If it is a port, then Xend will
-# listen on all interfaces on that TCP port, and if it is an address:port
-# pair, then Xend will listen on the specified port, using the interface with
-# the specified address.
-#
-# The subsequent string configures the user-based access control for the
-# listener in question. This can be one of "none" or "pam", indicating either
-# that users should be allowed access unconditionally, or that the local
-# Pluggable Authentication Modules configuration should be used. If this
-# string is missing or empty, then "pam" is used.
-#
-# The final string gives the host-based access control for that listener. If
-# this is missing or empty, then all connections are accepted. Otherwise,
-# this should be a space-separated sequence of regular expressions; any host
-# with a fully-qualified domain name or an IP address that matches one of
-# these regular expressions will be accepted.
-#
-# Example: listen on TCP port 9363 on all interfaces, accepting connections
-# only from machines in example.com or localhost, and allow access through
-# the unix domain socket unconditionally:
-#
- (xen-api-server ((9363 none)))
-# (unix none)))
-#
-# Optionally, the TCP Xen-API server can use SSL by specifying the private
-# key and certificate location:
-#
-# (9367 pam '' /etc/xen/xen-api.key /etc/xen/xen-api.crt)
-#
-# Default:
-# (xen-api-server ((unix)))
-
-
-#(xend-http-server no)
-#(xend-unix-server no)
-#(xend-tcp-xmlrpc-server no)
-#(xend-unix-xmlrpc-server yes)
-#(xend-relocation-server no)
-(xend-relocation-server yes)
-
-#(xend-unix-path /var/lib/xend/xend-socket)
-
-
-# Address and port xend should use for the legacy TCP XMLRPC interface,
-# if xen-tcp-xmlrpc-server is set.
-#(xen-tcp-xmlrpc-server-address 'localhost')
-#(xen-tcp-xmlrpc-server-port 8006)
-
-# SSL key and certificate to use for the legacy TCP XMLRPC interface.
-# Setting these will mean that this port serves only SSL connections as
-# opposed to plaintext ones.
-#(xend-tcp-xmlrpc-server-ssl-key-file /etc/xen/xmlrpc.key)
-#(xend-tcp-xmlrpc-server-ssl-cert-file /etc/xen/xmlrpc.crt)
-
-
-# Port xend should use for the HTTP interface, if xend-http-server is set.
-#(xend-port 8000)
-
-# Port xend should use for the relocation interface, if xend-relocation-server
-# is set.
-#(xend-relocation-port 8002)
-
-# Address xend should listen on for HTTP connections, if xend-http-server is
-# set.
-# Specifying 'localhost' prevents remote connections.
-# Specifying the empty string '' (the default) allows all connections.
-#(xend-address '')
-#(xend-address localhost)
-
-# Address xend should listen on for relocation-socket connections, if
-# xend-relocation-server is set.
-# Meaning and default as for xend-address above.
-#(xend-relocation-address '')
-
-# The hosts allowed to talk to the relocation port. If this is empty (the
-# default), then all connections are allowed (assuming that the connection
-# arrives on a port and interface on which we are listening; see
-# xend-relocation-port and xend-relocation-address above). Otherwise, this
-# should be a space-separated sequence of regular expressions. Any host with
-# a fully-qualified domain name or an IP address that matches one of these
-# regular expressions will be accepted.
-#
-# For example:
-# (xend-relocation-hosts-allow '^localhost$ ^.*\\.example\\.org$')
-#
-#(xend-relocation-hosts-allow '')
-(xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')
-
-# The limit (in kilobytes) on the size of the console buffer
-#(console-limit 1024)
-
-##
-# To bridge network traffic, like this:
-#
-# dom0: ----------------- bridge -> real eth0 -> the network
-# |
-# domU: fake eth0 -> vifN.0 -+
-#
-# use
-#
-# (network-script network-bridge)
-#
-# Your default ethernet device is used as the outgoing interface, by default.
-# To use a different one (e.g. eth1) use
-#
-# (network-script 'network-bridge netdev=eth1')
-#
-# The bridge is named xenbr0, by default. To rename the bridge, use
-#
-# (network-script 'network-bridge bridge=<name>')
-#
-# It is possible to use the network-bridge script in more complicated
-# scenarios, such as having two outgoing interfaces, with two bridges, and
-# two fake interfaces per guest domain. To do things like this, write
-# yourself a wrapper script, and call network-bridge from it, as appropriate.
-#
-(network-script network-bridge)
-
-# The script used to control virtual interfaces. This can be overridden on a
-# per-vif basis when creating a domain or a configuring a new vif. The
-# vif-bridge script is designed for use with the network-bridge script, or
-# similar configurations.
-#
-# If you have overridden the bridge name using
-# (network-script 'network-bridge bridge=<name>') then you may wish to do the
-# same here. The bridge name can also be set when creating a domain or
-# configuring a new vif, but a value specified here would act as a default.
-#
-# If you are using only one bridge, the vif-bridge script will discover that,
-# so there is no need to specify it explicitly.
-#
-(vif-script vif-bridge)
-
-
-## Use the following if network traffic is routed, as an alternative to the
-# settings for bridged networking given above.
-#(network-script network-route)
-#(vif-script vif-route)
-
-
-## Use the following if network traffic is routed with NAT, as an alternative
-# to the settings for bridged networking given above.
-#(network-script network-nat)
-#(vif-script vif-nat)
-
-
-# Dom0 will balloon out when needed to free memory for domU.
-# dom0-min-mem is the lowest memory level (in MB) dom0 will get down to.
-# If dom0-min-mem=0, dom0 will never balloon out.
-(dom0-min-mem 196)
-
-# In SMP system, dom0 will use dom0-cpus # of CPUS
-# If dom0-cpus = 0, dom0 will take all cpus available
-(dom0-cpus 0)
-
-# Whether to enable core-dumps when domains crash.
-#(enable-dump no)
-
-# The tool used for initiating virtual TPM migration
-#(external-migration-tool '')
-
-# The interface for VNC servers to listen on. Defaults
-# to 127.0.0.1 To restore old 'listen everywhere' behaviour
-# set this to 0.0.0.0
-#(vnc-listen '127.0.0.1')
-
-# The default password for VNC console on HVM domain.
-# Empty string is no authentication.
-(vncpasswd '')
diff --git a/os-plugins/plugins/xen/files/xen.examples/xend-config.sxp b/os-plugins/plugins/xen/files/xen.examples/xend-config.sxp
deleted file mode 100644
index f91f5726..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/xend-config.sxp
+++ /dev/null
@@ -1,323 +0,0 @@
-# -*- sh -*-
-
-#
-# Xend configuration file.
-#
-
-# This example configuration is appropriate for an installation that
-# utilizes a bridged network configuration. Access to xend via http
-# is disabled.
-
-# Commented out entries show the default for that entry, unless otherwise
-# specified.
-
-#(logfile /var/log/xen/xend.log)
-#(loglevel DEBUG)
-
-# Uncomment the line below. Set the value to flask, acm, or dummy to
-# select a security module.
-
-#(xsm_module_name dummy)
-
-# The Xen-API server configuration.
-#
-# This value configures the ports, interfaces, and access controls for the
-# Xen-API server. Each entry in the list starts with either unix, a port
-# number, or an address:port pair. If this is "unix", then a UDP socket is
-# opened, and this entry applies to that. If it is a port, then Xend will
-# listen on all interfaces on that TCP port, and if it is an address:port
-# pair, then Xend will listen on the specified port, using the interface with
-# the specified address.
-#
-# The subsequent string configures the user-based access control for the
-# listener in question. This can be one of "none" or "pam", indicating either
-# that users should be allowed access unconditionally, or that the local
-# Pluggable Authentication Modules configuration should be used. If this
-# string is missing or empty, then "pam" is used.
-#
-# The final string gives the host-based access control for that listener. If
-# this is missing or empty, then all connections are accepted. Otherwise,
-# this should be a space-separated sequence of regular expressions; any host
-# with a fully-qualified domain name or an IP address that matches one of
-# these regular expressions will be accepted.
-#
-# Example: listen on TCP port 9363 on all interfaces, accepting connections
-# only from machines in example.com or localhost, and allow access through
-# the unix domain socket unconditionally:
-#
-# (xen-api-server ((9363 pam '^localhost$ example\\.com$')
-# (unix none)))
-#
-# Optionally, the TCP Xen-API server can use SSL by specifying the private
-# key and certificate location:
-#
-# (9367 pam '' /etc/xen/xen-api.key /etc/xen/xen-api.crt)
-#
-# Default:
-# (xen-api-server ((unix)))
-
-
-#(xend-http-server no)
-(xend-unix-server yes)
-#(xend-tcp-xmlrpc-server no)
-#(xend-unix-xmlrpc-server yes)
-# Only enable xend-relocation-server on trusted networks as it lacks
-# encryption and authentication.
-#(xend-relocation-server no)
-#(xend-relocation-ssl-server no)
-#(xend-udev-event-server no)
-
-#(xend-unix-path /var/lib/xend/xend-socket)
-
-
-# Address and port xend should use for the legacy TCP XMLRPC interface,
-# if xend-tcp-xmlrpc-server is set.
-#(xend-tcp-xmlrpc-server-address 'localhost')
-#(xend-tcp-xmlrpc-server-port 8006)
-
-# SSL key and certificate to use for the legacy TCP XMLRPC interface.
-# Setting these will mean that this port serves only SSL connections as
-# opposed to plaintext ones.
-#(xend-tcp-xmlrpc-server-ssl-key-file /etc/xen/xmlrpc.key)
-#(xend-tcp-xmlrpc-server-ssl-cert-file /etc/xen/xmlrpc.crt)
-
-
-# Port xend should use for the HTTP interface, if xend-http-server is set.
-#(xend-port 8000)
-
-# Port xend should use for the relocation interface, if xend-relocation-server
-# is set.
-#(xend-relocation-port 8002)
-
-# Port xend should use for the ssl relocation interface, if
-# xend-relocation-ssl-server is set.
-#(xend-relocation-ssl-port 8003)
-
-# SSL key and certificate to use for the ssl relocation interface, if
-# xend-relocation-ssl-server is set.
-#(xend-relocation-server-ssl-key-file /etc/xen/xmlrpc.key)
-#(xend-relocation-server-ssl-cert-file /etc/xen/xmlrpc.crt)
-
-# Whether to use ssl as default when relocating.
-#(xend-relocation-ssl no)
-
-# Address xend should listen on for HTTP connections, if xend-http-server is
-# set.
-# Specifying 'localhost' prevents remote connections.
-# Specifying the empty string '' (the default) allows all connections.
-#(xend-address '')
-#(xend-address localhost)
-
-# Address xend should listen on for relocation-socket connections, if
-# xend-relocation-server is set.
-# Meaning and default as for xend-address above.
-#(xend-relocation-address '')
-
-# The hosts allowed to talk to the relocation port. If this is empty (the
-# default), then all connections are allowed (assuming that the connection
-# arrives on a port and interface on which we are listening; see
-# xend-relocation-port and xend-relocation-address above). Otherwise, this
-# should be a space-separated sequence of regular expressions. Any host with
-# a fully-qualified domain name or an IP address that matches one of these
-# regular expressions will be accepted.
-#
-# For example:
-# (xend-relocation-hosts-allow '^localhost$ ^.*\\.example\\.org$')
-#
-#(xend-relocation-hosts-allow '')
-(xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')
-
-# The limit (in kilobytes) on the size of the console buffer
-#(console-limit 1024)
-
-##
-# To bridge network traffic, like this:
-#
-# dom0: ----------------- bridge -> real eth0 -> the network
-# |
-# domU: fake eth0 -> vifN.0 -+
-#
-# use
-#
-# (network-script network-bridge)
-#
-# Your default ethernet device is used as the outgoing interface, by default.
-# To use a different one (e.g. eth1) use
-#
-# (network-script 'network-bridge netdev=eth1')
-#
-# The bridge takes on the ethernet device name by default. To rename the
-# bridge, use
-#
-# (network-script 'network-bridge bridge=<name>')
-#
-# It is possible to use the network-bridge script in more complicated
-# scenarios, such as having two outgoing interfaces, with two bridges, and
-# two fake interfaces per guest domain. To do things like this, write
-# yourself a wrapper script, and call network-bridge from it, as appropriate.
-#
-# SuSE users note:
-# On openSUSE >= 11.1 and SLES >= 11, networks should be configured using
-# native platform tool - YaST. vif-bridge and qemu-ifup can be used to
-# connect vifs to the YaST-managed networks.
-#(network-script network-bridge)
-(network-script )
-
-# The script used to control virtual interfaces. This can be overridden on a
-# per-vif basis when creating a domain or a configuring a new vif. The
-# vif-bridge script is designed for use with the network-bridge script, or
-# similar configurations.
-#
-# If you have overridden the bridge name using
-# (network-script 'network-bridge bridge=<name>') then you may wish to do the
-# same here. The bridge name can also be set when creating a domain or
-# configuring a new vif, but a value specified here would act as a default.
-#
-# If you are using only one bridge, the vif-bridge script will discover that,
-# so there is no need to specify it explicitly.
-#
-(vif-script vif-bridge)
-
-
-## Use the following if network traffic is routed, as an alternative to the
-# settings for bridged networking given above.
-#(network-script network-route)
-#(vif-script vif-route)
-
-
-## Use the following if network traffic is routed with NAT, as an alternative
-# to the settings for bridged networking given above.
-#(network-script network-nat)
-#(vif-script vif-nat)
-
-# dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
-# This is a minimum both for auto-ballooning (as enabled by
-# enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
-(dom0-min-mem 512)
-
-# Whether to enable auto-ballooning of dom0 to allow domUs to be created.
-# If enable-dom0-ballooning = no, dom0 will never balloon out.
-(enable-dom0-ballooning yes)
-
-# In SMP system, dom0 will use dom0-cpus # of CPUS
-# If dom0-cpus = 0, dom0 will take all cpus available
-(dom0-cpus 0)
-
-# Whether to enable core-dumps when domains crash.
-#(enable-dump no)
-
-# The tool used for initiating virtual TPM migration
-#(external-migration-tool '')
-
-# The interface for VNC servers to listen on. Defaults
-# to 127.0.0.1 To restore old 'listen everywhere' behaviour
-# set this to 0.0.0.0
-#(vnc-listen '127.0.0.1')
-
-# The default password for VNC console on HVM domain.
-# Empty string is no authentication.
-(vncpasswd '')
-
-# The VNC server can be told to negotiate a TLS session
-# to encryption all traffic, and provide x509 cert to
-# clients enalbing them to verify server identity. The
-# GTK-VNC widget, virt-viewer, virt-manager and VeNCrypt
-# all support the VNC extension for TLS used in QEMU. The
-# TightVNC/RealVNC/UltraVNC clients do not.
-#
-# To enable this create x509 certificates / keys in the
-# directory /etc/xen/vnc
-#
-# ca-cert.pem - The CA certificate
-# server-cert.pem - The Server certificate signed by the CA
-# server-key.pem - The server private key
-#
-# and then uncomment this next line
-# (vnc-tls 1)
-
-# The certificate dir can be pointed elsewhere..
-#
-# (vnc-x509-cert-dir /etc/xen/vnc)
-
-# The server can be told to request & validate an x509
-# certificate from the client. Only clients with a cert
-# signed by the trusted CA will be able to connect. This
-# is more secure the password auth alone. Passwd auth can
-# used at the same time if desired. To enable client cert
-# checking uncomment this:
-#
-# (vnc-x509-verify 1)
-
-# The default keymap to use for the VM's virtual keyboard
-# when not specififed in VM's configuration
-#(keymap 'en-us')
-
-# Script to run when the label of a resource has changed.
-#(resource-label-change-script '')
-
-# Rotation count of qemu-dm log file.
-#(qemu-dm-logrotate-count 10)
-
-# Path where persistent domain configuration is stored.
-# Default is /var/lib/xend/domains/
-#
-#(xend-domains-path /var/lib/xend/domains)
-
-# Domain Locking
-# In a multihost environment, domain locking prevents simultaneously
-# running a domain on more than one host.
-#
-# If enabled, xend will execute a external lock utility (defined below)
-# on each domain start and stop event. Disabled by default. Set to yes
-# to enable domain locking.
-#
-#(xend-domain-lock no)
-
-# Path where domain lock is stored if xend-domain-lock is enabled.
-# Note: This path must be accessible to all VM Servers participating
-# in domain locking, e.g. by specifying a shared mount point.
-# Lock is placed in /<xend-domain-lock-path>/<domain-uuid>.
-# Default is /var/lib/xend/domains/
-#
-#(xend-domain-lock-path /var/lib/xend/domains)
-
-# External locking utility called by xend for acquiring/releasing
-# domain lock. By default /etc/xen/scripts/domain-lock will be used
-# if xend-domain-lock is set to yes. Set to path of custom locking
-# utility to override the default.
-#
-# Synopsis of lock-util:
-# lock-util [-l|-u] -n <vm name> -i <vm uuid> -p <physical host> path"
-# -l Acquire (create) lock
-# -u Remove lock
-# -n vm-name Name of domain
-# -i vm-id Id or UUID of domain
-# -p phy-host Name of physical host (dom0)
-# path /<xend-domain-lock-path>/<vm-uuid>
-# Return 0 on success, non-zero on error.
-#
-# lock-util [-s] path"
-# -s Lock status. If lock is acquired, print any contents
-# on stdout and return 0. Return non-zero if lock is
-# available.
-# path /<xend-domain-lock-path>/<vm-uuid>
-# If lock is acquired, print any contents on stdout and return 0.
-# Return non-zero if lock is available.
-#
-# Default lock-util behavior:
-# On domain start event, domain-lock will create and flock(1)
-# /<xend-domain-lock-path>/<vm-uuid>/lock. Every two seconds it
-# will write <vm-name>, <vm-id>, <vm-host>, and <tick> to the lock.
-# <tick> is running counter.
-# On domain stop event, domain-lock will unlock and remove
-# /<xend-domain-lock-path>/<vm-uuid>/lock.
-#
-# Note: If xend-domain-lock-path is a cluster-unaware file system,
-# administrator intervention may be required to remove stale
-# locks. Consider two hosts using NFS for xend-domain-lock-path
-# when HostA, running vm1, crashes. HostB could not acquire a
-# lock for vm1 since the NFS server holds an exclusive lock
-# acquired by HostA. The lock file must be manually removed
-# before starting vm1 on HostA.
-#
-#(xend-domain-lock-utility domain-lock)
diff --git a/os-plugins/plugins/xen/files/xen.examples/xend-pci-permissive.sxp b/os-plugins/plugins/xen/files/xen.examples/xend-pci-permissive.sxp
deleted file mode 100644
index 1a3fb90a..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/xend-pci-permissive.sxp
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Configuration file for granting quiry PCI devices full write access to their
-# configuration space. This file should only be used when you are unable to
-# determine the exact registers required by your device. Even so, it should
-# be used only temporarily.
-#
-# SEND A MESSAGE TO xen-devel@lists.xensource.com IF YOU USE THIS FILE.
-#
-# Using this file should NOT be necessary. If you must use it to make some
-# device work, send a message to the above list with as much information about
-# your device as possible so the developers can make accomodations for it.
-# Once developers make the necessary updates you can remove the corresponding
-# entry for your device.
-###############################################################################
-# Entries are formated as follows: <vendor>:<device>[:<subvendor>:<subdevice>]
-#
-# Example: Appending to an existing list
-#
-# (unconstrained_dev_ids
-# ('XXXX:XXXX:XXXX:XXXX' # existing entry
-# 'YYYY:YYYY:YYYY:YYYY' # new entry 1
-# 'ZZZZ:ZZZZ') # new entry 2
-# )
-###############################################################################
-(unconstrained_dev_ids
- #('0123:4567:89AB:CDEF')
-)
diff --git a/os-plugins/plugins/xen/files/xen.examples/xend-pci-quirks.sxp b/os-plugins/plugins/xen/files/xen.examples/xend-pci-quirks.sxp
deleted file mode 100644
index 6bce4b8a..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/xend-pci-quirks.sxp
+++ /dev/null
@@ -1,96 +0,0 @@
-###############################################################################
-# Configuration file for quirky PCI devices that require write-access to
-# parts of the configuration space. Use this file to specific PCI device
-# IDs and the configuration space fields to which those devices must be
-# able to write.
-#
-# Length is important, so be sure to match new entries with the
-# lengths of comparable existing entries.
-#
-# Additions to this file take effect as soon as a new domain with a
-# matching device is started. However, to remove a field that was
-# previously applied to a device you must unbind the device from
-# pciback.
-###############################################################################
-# This is a bogus entry to show how a new device would be added to the list
-#
-# (new_quirky_dev_name
-# (pci_ids
-# ('0123:4567:890A:BCEF')
-# )
-#
-# (pci_config_space_fields
-# ('12345678:1:00000000')
-# )
-# )
-###############################################################################
-
-(tg3
- (pci_ids
- # Entries are formated as follows:
- # <vendor>:<device>[:<subvendor>:<subdevice>]
- ('14e4:1644' # Broadcom Tigon3 5700
- '14e4:1645' # Broadcom Tigon3 5701
- '14e4:1646' # Broadcom Tigon3 5702
- '14e4:1647' # Broadcom Tigon3 5703
- '14e4:1648' # Broadcom Tigon3 5704
- '14e4:164d' # Broadcom Tigon3 5702FE
- '14e4:1653' # Broadcom Tigon3 5705
- '14e4:1654' # Broadcom Tigon3 5705_2
- '14e4:165d' # Broadcom Tigon3 5705M
- '14e4:165e' # Broadcom Tigon3 5705M_2
- '14e4:16a6' # Broadcom Tigon3 5702X
- '14e4:16a7' # Broadcom Tigon3 5703X
- '14e4:16a8' # Broadcom Tigon3 5704S
- '14e4:16c6' # Broadcom Tigon3 5702A3
- '14e4:16c7' # Broadcom Tigon3 5703A3
- '14e4:1696' # Broadcom Tigon3 5782
- '14e4:169c' # Broadcom Tigon3 5788
- '14e4:169d' # Broadcom Tigon3 5789
- '14e4:170d' # Broadcom Tigon3 5901
- '14e4:1649' # Broadcom Tigon3 5704S_2
- '14e4:166e' # Broadcom Tigon3 5705F
- '14e4:1658' # Broadcom Tigon3 5720
- '14e4:1659' # Broadcom Tigon3 5721
- '14e4:1676' # Broadcom Tigon3 5750
- '14e4:1677' # Broadcom Tigon3 5751
- '14e4:167c' # Broadcom Tigon3 5750M
- '14e4:167d' # Broadcom Tigon3 5751M
- '14e4:167e' # Broadcom Tigon3 5751F
- '14e4:1600' # Broadcom Tigon3 5752
- '14e4:1601' # Broadcom Tigon3 5752M
- '14e4:16f7' # Broadcom Tigon3 5753
- '14e4:16fd' # Broadcom Tigon3 5753M
- '14e4:16fe' # Broadcom Tigon3 5753F
- '14e4:1668' # Broadcom Tigon3 5714
- '14e4:1678' # Broadcom Tigon3 5715
- '14e4:166a' # Broadcom Tigon3 5780
- '14e4:166b' # Broadcom Tigon3 5780S
- '14e4:16dd' # Broadcom Tigon3 5781
- '1148:4400' # Syskonnect 9DXX
- '1148:4500' # Syskonnect 9MXX
- '173b:03e8' # Altima AC1000
- '173b:03e9' # Altima AC1001
- '173b:03eb' # Altima AC1003
- '173b:03ea' # Altima AC9100
- '106b:1645') # Apple Tigon3
- )
-
- (pci_config_space_fields
- # Entries are formated as follows:
- # <register>:<size>:<mask>
- # size is measured in bytes (1,2,4 are valid sizes)
- # mask is currently unused; use all zero's
- ('00000078:4:00000000' # TG3PCI_REG_BASE_ADDR
- '0000007c:4:00000000' # TG3PCI_MEM_WIN_BASE_ADDR
- '00000080:4:00000000' # TG3PCI_REG_DATA
- '00000084:4:00000000' # TG3PCI_MEM_WIN_DATA
- '00000090:4:00000000' # TG3PCI_MISC_LOCAL_CTRL
- '00000068:4:00000000' # TG3PCI_MISC_HOST_CTRL
- '0000009C:4:00000000' # TG3PCI_STD_RING_PROD_IDX + TG3_64BIT_REG_LOW
- '00000098:4:00000000' # TG3PCI_STD_RING_PROD_IDX + TG3_64BIT_REG_HIGH
- '000000a4:4:00000000' # TG3PCI_RCV_RET_RING_CON_IDX + TG3_64BIT_REG_LOW
- '000000a0:4:00000000' # TG3PCI_RCV_RET_RING_CON_IDX + TG3_64BIT_REG_HIGH
- '00000070:4:00000000') # TG3PCI_PCISTATE
- )
-)
diff --git a/os-plugins/plugins/xen/files/xen.examples/xm-config-xenapi.xml b/os-plugins/plugins/xen/files/xen.examples/xm-config-xenapi.xml
deleted file mode 100644
index dbd8778b..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/xm-config-xenapi.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<!--
-
-Copyright (C) 2006 XenSource Inc.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of version 2.1 of the GNU Lesser General Public
-License as published by the Free Software Foundation.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
--->
-
-<!--
-
-This is a configuration file for xm; it should be placed in
-/etc/xen/xm-config.xml. If this file is missing, then xm will fall back to
-the normal behaviour that's in Xen 3.0.4 and below. The settings here are
-most useful for experimenting with the Xen-API preview in Xen 3.0.4.
-
--->
-
-<xm>
- <!-- The server element describes how to talk to Xend. The type may be
- Xen-API or LegacyXMLRPC (the default). The URI is that of the
- server; you might try http://server:9363/ or
- httpu:///var/run/xend/xen-api.sock for the Xen-API, or
- httpu:///var/run/xend/xmlrpc.sock for the legacy server.
-
- The username and password attributes will be used to log in if Xen-API
- is being used.
- -->
- <server type='Xen-API'
- uri='http://localhost:9363/'
- username='me'
- password='mypassword' />
-</xm>
diff --git a/os-plugins/plugins/xen/files/xen.examples/xm-config.xml b/os-plugins/plugins/xen/files/xen.examples/xm-config.xml
deleted file mode 100644
index 943b74d2..00000000
--- a/os-plugins/plugins/xen/files/xen.examples/xm-config.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-
-Copyright (C) 2006 XenSource Inc.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of version 2.1 of the GNU Lesser General Public
-License as published by the Free Software Foundation.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
--->
-
-<!--
-
-This is a configuration file for xm; it should be placed in
-/etc/xen/xm-config.xml. If this file is missing, then xm will fall back to
-the normal behaviour that's in Xen 3.0.4 and below. The settings here are
-most useful for experimenting with the Xen-API preview in Xen 3.0.4.
-
--->
-
-<xm>
- <!-- The server element describes how to talk to Xend. The type may be
- Xen-API or LegacyXMLRPC (the default). The URI is that of the
- server; you might try http://server:9363/ or
- httpu:///var/run/xend/xen-api.sock for the Xen-API, or
- httpu:///var/run/xend/xmlrpc.sock for the legacy server.
-
- The username and password attributes will be used to log in if Xen-API
- is being used.
- -->
- <!--
- <server type='Xen-API'
- uri='http://localhost:9363/'
- username='me'
- password='mypassword' />
- -->
-</xm>