diff options
Diffstat (limited to 'os-plugins/plugins/pvs')
-rw-r--r-- | os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm | 46 | ||||
-rw-r--r-- | os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm | 29 | ||||
-rw-r--r-- | os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm | 28 | ||||
-rw-r--r-- | os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm | 28 | ||||
-rw-r--r-- | os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm | 28 | ||||
-rw-r--r-- | os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm | 23 | ||||
-rw-r--r-- | os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm | 127 | ||||
-rw-r--r-- | os-plugins/plugins/pvs/XX_pvs.sh | 46 | ||||
-rwxr-xr-x | os-plugins/plugins/pvs/files/pvs-vncsrv | 105 |
9 files changed, 0 insertions, 460 deletions
diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm deleted file mode 100644 index 3425f2ab..00000000 --- a/os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright (c) 2009 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs/OpenSLX/Distro/Base.pm -# - provides base implementation of the Distro API for the pvs plugin. -# ----------------------------------------------------------------------------- -package pvs::OpenSLX::Distro::Base; - -use strict; -use warnings; - -our $VERSION = 1.01; # API-version . implementation-version - -use Scalar::Util qw( weaken ); - -use OpenSLX::Basics; -use OpenSLX::Utils; - -################################################################################ -### interface methods -################################################################################ -sub new -{ - my $class = shift; - my $self = {}; - return bless $self, $class; -} - -sub initialize -{ - my $self = shift; - $self->{engine} = shift; - weaken($self->{engine}); - # avoid circular reference between plugin and its engine - - return 1; -} - -1; diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm deleted file mode 100644 index 0382d3b9..00000000 --- a/os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2009 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs/OpenSLX/Distro/debian.pm -# - provides Debian-specific overrides of the Distro API for the pvs -# plugin. -# ----------------------------------------------------------------------------- -package pvs::OpenSLX::Distro::Debian; - -use strict; -use warnings; - -use base qw(pvs::OpenSLX::Distro::Base); - -use OpenSLX::Basics; -use OpenSLX::Utils; - -################################################################################ -### interface methods -################################################################################ - -1; diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm deleted file mode 100644 index 76b8ffa1..00000000 --- a/os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2009 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs/OpenSLX/Distro/Fedora.pm -# - provides Fedora-specific overrides of the Distro API for the pvs -# plugin. -# ----------------------------------------------------------------------------- -package pvs::OpenSLX::Distro::Fedora; - -use strict; -use warnings; - -use base qw(pvs::OpenSLX::Distro::Base); - -use OpenSLX::Basics; - -################################################################################ -### interface methods -################################################################################ - -1; diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm deleted file mode 100644 index b943a63b..00000000 --- a/os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2009 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs/OpenSLX/Distro/Gentoo.pm -# - provides Gentoo-specific overrides of the Distro API for the pvs -# plugin. -# ----------------------------------------------------------------------------- -package pvs::OpenSLX::Distro::Gentoo; - -use strict; -use warnings; - -use base qw(pvs::OpenSLX::Distro::Base); - -use OpenSLX::Basics; - -################################################################################ -### interface methods -################################################################################ - -1; diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm deleted file mode 100644 index 411fa1c9..00000000 --- a/os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2008 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs/OpenSLX/Distro/Suse.pm -# - provides SUSE-specific overrides of the Distro API for the pvs plugin. -# ----------------------------------------------------------------------------- -package pvs::OpenSLX::Distro::Suse; - -use strict; -use warnings; - -use base qw(pvs::OpenSLX::Distro::Base); - -use OpenSLX::Basics; -use OpenSLX::Utils; - -################################################################################ -### interface methods -################################################################################ - -1; diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm deleted file mode 100644 index c7496ac0..00000000 --- a/os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (c) 2009 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs/OpenSLX/Distro/Ubuntu.pm -# - provides Ubuntu-specific overrides of the Distro API for the pvs -# plugin. -# ----------------------------------------------------------------------------- -package pvs::OpenSLX::Distro::Ubuntu; - -use strict; -use warnings; - -# inherit everything from Debian (as Ubuntu is based on it anyway) -use base qw(pvs::OpenSLX::Distro::Debian); - -1; diff --git a/os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm b/os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm deleted file mode 100644 index d0a629e4..00000000 --- a/os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright (c) 2009..2010 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs.pm - plugin to use the pool video switch tools within OpenSLX environment -# ----------------------------------------------------------------------------- -package OpenSLX::OSPlugin::pvs; - -use strict; -use warnings; - -use base qw(OpenSLX::OSPlugin::Base); - -use OpenSLX::Basics; -use OpenSLX::Utils; - -sub new -{ - my $class = shift; - my $self = { - name => 'pvs', - }; - - return bless $self, $class; -} - -sub getInfo -{ - my $self = shift; - return { - description => unshiftHereDoc(<<' End-of-Here'), - enables pvs server (user or xorg) - End-of-Here - # waits for xorg to add configuration if needed - precedence => 70, - }; -} - -sub getAttrInfo -{ - my $self = shift; - - return { - 'pvs::active' => { - applies_to_systems => 1, - applies_to_clients => 1, - description => unshiftHereDoc(<<' End-of-Here'), - should the 'pvs' plugin be executed during boot? - End-of-Here - content_regex => qr{^(0|1)$}, - content_descr => '1 means active - 0 means inactive', - default => '1', - }, - - 'pvs::mode' => { - applies_to_systems => 1, - applies_to_clients => 0, - description => unshiftHereDoc(<<' End-of-Here'), - set pvs to listen on Xorg user sessions (default), general - access to the Xorg server (including displaymanager login) and - console framebuffer. - End-of-Here - content_regex => qr{^(x11user|x11mod|fb)$}, - content_descr => 'x11user for user, x11mod for access via Xorg module or fb', - default => 'x11user', - }, - - 'pvs::scale' => { - applies_to_systems => 1, - applies_to_clients => 0, - description => unshiftHereDoc(<<' End-of-Here'), - scale screen size (e.g. as fraction 2/3 or as decimal 0.5) - End-of-Here - content_regex => undef, - content_descr => undef, - default => '', - }, - - }; -} - -sub installationPhase -{ - my $self = shift; - my $info = shift; - - my $pluginRepositoryPath = $info->{'plugin-repo-path'}; - my $pluginTempPath = $info->{'plugin-temp-path'}; - my $openslxBasePath = $info->{'openslx-base-path'}; - - # should we distinguish between the two different packages!? - # libvnc should be part of the xorg package!? (so no check needed) - #my $engine = $self->{'os-plugin-engine'}; - #if (!isInPath('pvs')) { - # $engine->installPackages( - # $engine->getInstallablePackagesForSelection('pvs') - # ); - #} else { - # vlog(3, "pvs is already installed"); - #} - - # get path of files we need to install - my $pluginFilesPath = "$openslxBasePath/lib/plugins/$self->{'name'}/files"; - my $script = $self->{distro}->fillRunlevelScript(); - - # copy all needed files now - copyFile("$pluginFilesPath/*", "$pluginRepositoryPath"); - - # link these files - - #chmod 0755, "/etc/init.d/pvs"; - -} - -sub removalPhase -{ - my $self = shift; - my $info = shift; -} - -1; diff --git a/os-plugins/plugins/pvs/XX_pvs.sh b/os-plugins/plugins/pvs/XX_pvs.sh deleted file mode 100644 index 9a86574f..00000000 --- a/os-plugins/plugins/pvs/XX_pvs.sh +++ /dev/null @@ -1,46 +0,0 @@ -# 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 -# -# Script is included from init via the "." load function - thus it has all -# variables and functions available - -# Check if the plugin config directory is generally available or if the client -# configuration failed somehow -[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal - -# main script -if [ -e /initramfs/plugin-conf/pvs.conf ]; then - . /initramfs/plugin-conf/pvs.conf - if [ $pvs_active -ne 0 ]; then - [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'pvs' os-plugin ..."; - # location of central pvs configuration files - testmkdi /mnt/etc/openslx/pvs - - # add it to the Xserver script (?) - - # link the executables - #for tool in poolVS poolVSClient VNCwrapper ; do - # ln -s /opt/openslx/plugin-repo/pvs/${tool} /mnt/var/X11R6/bin/${tool} - #done - - # write config file - #echo "# parameters generated by $0" > /mnt/etc/pvs/pvs.conf - #echo "pvs_PARAMS=\"$PARAMS\"" >> /mnt/etc/pvs/pvs.conf - #echo "pvs_X11=\"$pvs_X11\"" >> /mnt/etc/pvs/pvs.conf - - [ $DEBUGLEVEL -gt 0 ] && echo "done with 'pvs' os-plugin ..."; - - fi - fi -else - [ $DEBUGLEVEL -gt 2 ] && \ - echo "No configuration file found for pvs plugin." -fi diff --git a/os-plugins/plugins/pvs/files/pvs-vncsrv b/os-plugins/plugins/pvs/files/pvs-vncsrv deleted file mode 100755 index 966bf1df..00000000 --- a/os-plugins/plugins/pvs/files/pvs-vncsrv +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/bash -# ----------------------------------------------------------------------------- -# Copyright (c) 2009 - RZ Uni FR -# Copyright (c) 2009 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# pvs-vncsrv -# - This is a generic wrapper script for starting any userspace VNC server -# to offer connectivity from the pvs contol console. The script expects -# start/stop in $1, the port to start on in $2 and the password in $3. The -# latter one should be changed to piping for security reasons ... -# ----------------------------------------------------------------------------- - -# parameters for x11vnc -X11VNC_PARAMS="-bg -forever -display :0 -passwdfile rm:$HOME/.pvs/vncpasswd -o $HOME/.pvs/log.vncsrv -shared" -X11VNC_X11="0" - -# at the moment the poolVSClient is expected to use the ~/.pvs directory -[ -d ~/.pvs ] || mkdir ~/.pvs - -# write the password file -echo -e "$3\n__BEGIN_VIEWONLY__\n$3" > ~/.pvs/vncpasswd - -# find xauthority file -find_xauth () { - FOUND=0 - RETRIES=4 - [ -z "$1" ] || RETRIES="$1" - - [ -e "/var/lib/kdm/" ] && - XAUTHFILE_KDM=`find /var/lib/kdm/ -iname "A\:0-*"` - [ -e "/var/run/xauth/" ] && - XAUTHFILE_KDM2=$(find /var/run/xauth/ -iname "A\:0-*") - [ -e "/var/lib/xdm/authdir/authfiles/" ] && - XAUTHFILE_XDM=$(find /var/lib/xdm/authdir/authfiles/ -iname "A\:0-*") - [ -e "/var/lib/gdm/" ] && - XAUTHFILE_GDM=$(find /var/lib/gdm/ -iname *Xauth*) - - [ -f "$XAUTHFILE_KDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM" - [ -f "$XAUTHFILE_KDM2" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM2" - [ -f "$XAUTHFILE_XDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_XDM" - [ -f "$XAUTHFILE_GDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_GDM" - - if [ "$FOUND" -eq "0" ]; then - if [ "$RETRIES" -gt "0" ]; then - let "RETRIES-=1" - find_xauth "$RETRIES" - else - echo "start FAILED (can't find way to authenticate myself against X)" \ - >>~/.pvs/log.vncsrv - exit -1 - fi - else - echo "found authfile ($XAUTHORITY)" >>~/.pvs/log.vncsrv - fi -} - -START_COMMAND="x11vnc" - -case "$1" in - start) - [ -z "$2" -o -z "$3" ] && echo " Port and/or Password not set" \ - >>~/.pvs/log.vncsrv - echo "$2 $3" >>~/.pvs/log.test - if [ ! -f ~/.pvs/vncpasswd ]; then - echo " Start FAILED (~/.pvs/vncpasswd not found)" >>~/.pvs/log.vncsrv - echo " Create it manualy and retry starting x11vnc" >>~/.pvs/log.vncsrv - exit -1; - fi - - if [ $X11VNC_X11 = 1 ]; then - # find_xauth - START_COMMAND="$START_COMMAND -auth $XAUTHORITY $X11VNC_PARAMS" - else - START_COMMAND="$START_COMMAND $X11VNC_PARAMS" - fi - OUTPUT=$($START_COMMAND -rfbport $2) - echo "$START_COMMAND" >>~/.pvs/log.vncsrv - echo "$OUTPUT" >>~/.pvs/log.vncsrv - ;; - stop) - pid=$(pidof x11vnc) - if [ -z "$pid" ] - then - echo "x11vnc not running" >>~/.pvs/log.vncsrv - exit -1; - else - kill -9 $pid 2>/dev/null - echo "x11vnc stopped" >>~/.pvs/log.vncsrv - fi - ;; - *) - echo "x11vnc startscript" - echo "Usage: $0 (start|stop)" - ;; -esac -exit 0 - |