]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
Clean up the scripts directory
authorJan Safranek <jsafrane@redhat.com>
Fri, 13 Mar 2009 14:16:20 +0000 (15:16 +0100)
committerJan Safranek <jsafrane@redhat.com>
Thu, 26 Mar 2009 08:34:18 +0000 (09:34 +0100)
The directory contains samples and howto, which is not relevant anymore.
Sample configuration files should be in ../samples and (relevant)
documentation in ../doc

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
scripts/README [deleted file]
scripts/doc/howto.txt [deleted file]
scripts/etc/cgconfig.conf [deleted file]
scripts/etc/cgconfig/cpu.conf [deleted file]
scripts/etc/cgconfig/cpuacct.conf [deleted file]
scripts/etc/wlm.conf [deleted file]
scripts/etc/wlm/cpu.conf [deleted file]
scripts/etc/wlm/cpuacct.conf [deleted file]
scripts/init.d/wlm [deleted file]

diff --git a/scripts/README b/scripts/README
deleted file mode 100644 (file)
index 8007b60..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-NOTE: These are temporary intermediate scripts, till libcg is up and running
-on its own. The current parser works, but has a lot of band-aid around it.
-We need a good cleanroom implementation of the parser. Doing so, would
-enable us to build a good daemon and a set of init scripts around it.
diff --git a/scripts/doc/howto.txt b/scripts/doc/howto.txt
deleted file mode 100644 (file)
index d72994a..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-initscripts - Initialization scripts; they are used to initialize the workload
-management system. The script consists of two major components
-
-Configuration files
--------------------
-
-The main configuraiton file /etc/cgconfig.conf. This file has a format
-
-mount <mountpoint>     <list of controllers>
-<controller>           <controller configuration file>
-
-A sample configuration file is included below
-
-#
-# controller    file
-#
-mount   /container      cpu
-cpu     /etc/cgconfig/cpu.conf
-
-NOTE: Any line beginning with '#' is ignored as comments. The sample
-configuration above, mounts the cpu controller at mount point /container.
-It then parses /etc/cgconfig/cpu.conf as the configuration file for the
-cpu controller.
-
-The controller configuration file is of the format
-
-<name of the class>    <options>
-
-In the case of the CPU controller a sample configuration would look
-like
-
-class1  cpu.shares=1024
-class2  cpu.shares=512
-
-The configuration below creates two classes class1 and class2 and
-assigns shares of 1024 to class1 and 512 to class1.
-
-The other options that can be specified are
-
-tuid = owner of the tasks file
-tgid = group permissions of the tasks file
-cuid = owner of the newly created node
-cgid = group permissions of the newly created node
-
-Example
-
-class1 cpu.shares = 1024 tuid=root tgid=root cuid=database cgid=database.
-
-By default all these files are owned by root. The flexibilty of specifying
-owners makes it easier for other applications to use resource management.
-
-Intialization script
---------------------
-
-The initialization script is installed in /etc/init.d, it is called
-"cgconfig". Depending on the run-level, it is installed in the appropriate
-/etc/rc.d/rc<N>.d. The script comes with two options
-
-a. start
-
-start, starts the workload management, parses the configuration file.
-If required creates the mount point directory and then mounts the
-cgroup filesystem with the controllers specified.
-
-b. stop
-
-stops workload management, moves all tasks from various groups to
-the root class. It then removes all other classes and then unmounts
-the workload management system.
-
-Assumptions
------------
-
-1. The kernel is compiled in with the correct options to support
-    cgroups and the CPU controller.
-2. This version has been tested with 2.6.25 only.
diff --git a/scripts/etc/cgconfig.conf b/scripts/etc/cgconfig.conf
deleted file mode 100644 (file)
index 43f9004..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-#  Copyright IBM Corporation. 2008
-#
-#  Authors:     Balbir Singh <balbir@linux.vnet.ibm.com>
-#  This program 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 program is distributed in the hope that it would be useful, but
-#  WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# controller   file
-#
-mount  /tmp/cpu        cpu
-mount  /tmp/cpuacct    cpuacct
-cpu    /etc/wlm/cpu.conf
-cpuacct        /etc/wlm/cpuacct.conf
diff --git a/scripts/etc/cgconfig/cpu.conf b/scripts/etc/cgconfig/cpu.conf
deleted file mode 100644 (file)
index 7e76dea..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-#  Copyright IBM Corporation. 2008
-#
-#  Authors:     Balbir Singh <balbir@linux.vnet.ibm.com>
-#  This program 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 program is distributed in the hope that it would be useful, but
-#  WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-class1 cpu.shares=1024 tuid=balbir tgid=balbir cuid=root cgid=root
-class2 cpu.shares=512 tuid=root tgid=root cuid=balbir cgid=balbir
diff --git a/scripts/etc/cgconfig/cpuacct.conf b/scripts/etc/cgconfig/cpuacct.conf
deleted file mode 100644 (file)
index 8c382e1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-#  Copyright IBM Corporation. 2008
-#
-#  Authors:     Balbir Singh <balbir@linux.vnet.ibm.com>
-#  This program 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 program is distributed in the hope that it would be useful, but
-#  WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-caclass1       tuid=root tgid=root cuid=root cgid=root
-caclass2       tuid=balbir tgid=balbir cuid=balbir cgid=balbir
diff --git a/scripts/etc/wlm.conf b/scripts/etc/wlm.conf
deleted file mode 100644 (file)
index 01a12b3..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-#  Copyright IBM Corporation. 2008
-# 
-#  Authors:     Balbir Singh <balbir@linux.vnet.ibm.com>
-#  This program 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 program is distributed in the hope that it would be useful, but
-#  WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# controller   file
-#
-mount  /tmp/container  cpu
-cpu    /etc/wlm/cpu.conf
diff --git a/scripts/etc/wlm/cpu.conf b/scripts/etc/wlm/cpu.conf
deleted file mode 100644 (file)
index 10ac391..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-#  Copyright IBM Corporation. 2008
-# 
-#  Authors:     Balbir Singh <balbir@linux.vnet.ibm.com>
-#  This program 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 program is distributed in the hope that it would be useful, but
-#  WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-class1 cpu.shares=1024 tuid=balbir tgid=balbir cuid=root cgid=root
-class2 cpu.shares=512 tuid=root tgid=root cuid=balbir cgid=balbir
diff --git a/scripts/etc/wlm/cpuacct.conf b/scripts/etc/wlm/cpuacct.conf
deleted file mode 100644 (file)
index 10ac391..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-#  Copyright IBM Corporation. 2008
-# 
-#  Authors:     Balbir Singh <balbir@linux.vnet.ibm.com>
-#  This program 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 program is distributed in the hope that it would be useful, but
-#  WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-class1 cpu.shares=1024 tuid=balbir tgid=balbir cuid=root cgid=root
-class2 cpu.shares=512 tuid=root tgid=root cuid=balbir cgid=balbir
diff --git a/scripts/init.d/wlm b/scripts/init.d/wlm
deleted file mode 100755 (executable)
index 65d51bd..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-#
-# Start/Stop the workload manager
-#
-# Copyright IBM Corporation. 2008
-#  
-# Authors:     Balbir Singh <balbir@linux.vnet.ibm.com>
-# This program 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 program is distributed in the hope that it would be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-#
-# TODO: Make this code more robust, add error checking and recovery
-# for invalid configuration or interrupted execution
-#
-# Make the script LSB compliant
-#
-
-CONF_FILE=/etc/wlm.conf
-PROC_CGROUPS_FILE=/proc/cgroups
-CGROUP_FS=cgroup
-IGNORE_OPTS="ns cpuset"
-
-# support multiple mount points
-
-declare -a MOUNTPOINT
-declare -a MOUNTOPTS
-maxindex=0
-
-parse_controller_file() {
-       ctlr=$1
-       file=$2
-       tuid="root"
-       tgid="root"
-       cuid="root"
-       cgid="root"
-
-       pushd $PWD 2>&1 > /dev/null
-       while read name opts
-       do
-               case $name in
-               'mount')
-                       ;;
-               *)
-                       if ! echo $name | grep -q ^#
-                       then
-                               echo "Creating class $name"
-                               class=$name
-                               index=1
-                               for i in `seq 1 $maxindex`
-                               do 
-                                       echo "mount pt ${MOUNTPOINT[$i]}"
-                                       mkdir -p ${MOUNTPOINT[$i]}/$class
-                                       cd ${MOUNTPOINT[$i]}/$class
-
-                                       if echo $opts | grep -q "="
-                                       then
-                                               for single_opt in $opts
-                                               do
-                                                       cf=`echo $single_opt | cut -d '=' -f1`
-                                                       co=`echo $single_opt | cut -d '=' -f2`
-                                                       case $cf in
-                                                       "tuid")
-                                                               tuid=$co
-                                                               ;;
-                                                       "cuid")
-                                                               cuid=$co
-                                                               ;;
-                                                       "tgid")
-                                                               tgid=$co
-                                                               ;;
-                                                       "cgid")
-                                                               cgid=$co
-                                                               ;;
-                                                       *)
-                                                               echo -n $co > $cf
-                                                               ;;
-                                                       esac
-                                               done
-                                               chown -R $cuid:$cgid ${MOUNTPOINT[$i]}/$class
-                                               chown -R $tuid:$tgid ${MOUNTPOINT[$i]}/$class/tasks
-                                       fi
-                               done
-                       fi
-               esac
-       done < $file
-       popd 2>&1 > /dev/null
-}
-
-parse_controller_opts() {
-       name=$1;
-       file=$2;
-
-       if [ ! -r $PROC_CGROUPS_FILE ]
-       then
-               echo "$PROC_CGROUPS_FILE does not exist, please compile"
-               echo "cgroups into the kernel"
-               exit 1
-       else
-               line=`grep -w $name $PROC_CGROUPS_FILE`
-               if [ $? -ne 0 ]
-               then
-                       echo "$name controller not enabled"
-                       exit 1
-               fi
-
-               active=`echo $line | awk '{print $2}'`
-               if [[ $active -eq 0 ]]
-               then
-                       echo "$name controller not mounted"
-               else
-                       parse_controller_file $name $file
-               fi
-       fi
-}
-
-parse_conf_file() {
-       while read name conf
-       do
-               # skip all comments
-               if  ! echo $name | grep -q ^#
-               then
-                       case $name in
-                       'mount')
-                               maxindex=$(($maxindex+1))
-                               MOUNTPOINT[$maxindex]=`echo $conf | cut -d ' ' -f1`;
-                               MOUNTOPTS[$maxindex]=`echo $conf | cut -d ' ' -f2`;
-                               ;;
-                       esac
-               fi
-       done < $CONF_FILE
-
-       return 0;
-}
-
-mount_fs() {
-       if [ ! -r $PROC_CGROUPS_FILE ]
-       then
-               echo "$PROC_CGROUPS_FILE does not exist, please compile"
-               echo "cgroups into the kernel"
-               exit 1
-       #else
-               #while read name hierarchy num_cgroups
-               #do
-               #       if  ! echo $name | grep -q ^#
-               #       then
-               #               echo $IGNORE_OPTS | grep -wq $name
-               #               if [[ $? -ne 0 ]]
-               #               then
-               #                       MOUNT_OPTS=$name","$MOUNT_OPTS
-               #               fi
-               #       fi
-               #done < $PROC_CGROUPS_FILE
-               #MOUNT_OPTS=${MOUNT_OPTS%%","}
-               #line=`grep -w $MOUNT_OPTS $PROC_CGROUPS_FILE`
-               #if [ $? -ne 0 ]
-               #then
-               #       echo "$name controller not enabled"
-               #       exit 1
-               #fi
-       fi
-       for i in `seq 1 $maxindex`
-       do
-               mkdir -p ${MOUNTPOINT[$i]}
-               echo "mounting ${MOUNTPOINT[$i]} with ${MOUNTOPTS[$i]}"
-               mount -t $CGROUP_FS $CGROUP_FS -o ${MOUNTOPTS[$i]} ${MOUNTPOINT[$i]}
-               #
-               # Give root tasks read/write permission to all, since tasks
-               # tasks will be moved to root frequently
-               #
-               chmod ago+rwx ${MOUNTPOINT[$i]}/tasks
-               chmod ago+rwx ${MOUNTPOINT[$i]}
-               chmod +t      ${MOUNTPOINT[$i]}
-       done
-       return $?
-}
-
-umount_fs() {
-       for i in `seq 1 $maxindex`
-       do
-               umount ${MOUNTPOINT[$i]}
-               rmdir ${MOUNTPOINT[$i]}
-       done
-}
-       
-create_classes() {
-       while read name conf
-       do
-               # skip all comments
-               if  ! echo $name | grep -q ^#
-               then
-                       case $name in
-                       'mount')
-                               ;;
-                       *)
-                               parse_controller_opts $name $conf
-                       esac
-               fi
-
-       done < $CONF_FILE
-}
-
-start() {
-       echo "Starting wlm service: "
-       mount_fs
-       if [ $? -eq 0 ]
-       then
-               create_classes
-       fi
-       [ $? == 0 ] && touch /var/lock/subsys/wlm
-       return $?
-}
-
-move_all_to_init_class() {
-       for i in `seq 1 $maxindex`
-       do
-               cd ${MOUNTPOINT[$i]}
-               cat /proc/mounts | grep -wq ${MOUNTPOINT[$i]}
-               if [ $? -ne 0 ]
-               then
-                       echo "resource control filesystem not mounted"
-                       exit 1
-               fi
-
-               for i in `find . -type d`
-               do
-                       case $i in
-                       '.')
-                               ;;
-                       *)
-                               class=${i#./*}
-                               echo "Removing class $class"
-                               sed -nu p < ./$i/tasks > tasks
-                               rmdir $i
-                               ;;
-                       esac
-               done
-               cd - > /dev/null
-       done
-}
-
-
-stop() {
-       move_all_to_init_class
-       umount_fs
-}
-
-trapped() {
-       #
-       # Do nothing
-       #
-       true
-}
-
-usage() {
-       echo "$0 <start|stop>"
-       exit 1
-}
-
-common() {
-       #
-       # main script work done here
-       #
-       trap "trapped ABRT" ABRT
-       trap "trapped QUIT" QUIT
-       trap "trapped TERM" TERM
-       trap "trapped INT"   INT
-
-       parse_conf_file
-}
-
-case $1 in
-       'start')
-               common
-               start;
-               ;;
-       'stop')
-               common
-               stop;
-               ;;
-       *)
-               usage
-               ;;
-esac
-