From 94bd6d0f550a4ec4fbb03d099d08fb9bc0f8a1c0 Mon Sep 17 00:00:00 2001 From: James Adams Date: Thu, 5 Sep 2024 16:31:26 +0100 Subject: [PATCH] ncm-pbsclient: Remove obsolete component --- ncm-pbsclient/ChangeLog | 3 - ncm-pbsclient/pom.xml | 65 --- .../components/pbsclient/config-common.pan | 17 - .../pan/components/pbsclient/config-rpm.pan | 16 - .../main/pan/components/pbsclient/config.pan | 8 - .../main/pan/components/pbsclient/schema.pan | 162 ------- ncm-pbsclient/src/main/perl/pbsclient.pm | 446 ------------------ ncm-pbsclient/src/main/perl/pbsclient.pod | 146 ------ ncm-pbsclient/src/test/perl/00-load.t | 18 - ncm-pbsclient/src/test/perl/pod-syntax.t | 6 - ncm-pbsclient/src/test/resources/ccm.cfg | 6 - pom.xml | 1 - 12 files changed, 894 deletions(-) delete mode 100644 ncm-pbsclient/ChangeLog delete mode 100644 ncm-pbsclient/pom.xml delete mode 100644 ncm-pbsclient/src/main/pan/components/pbsclient/config-common.pan delete mode 100644 ncm-pbsclient/src/main/pan/components/pbsclient/config-rpm.pan delete mode 100644 ncm-pbsclient/src/main/pan/components/pbsclient/config.pan delete mode 100755 ncm-pbsclient/src/main/pan/components/pbsclient/schema.pan delete mode 100755 ncm-pbsclient/src/main/perl/pbsclient.pm delete mode 100755 ncm-pbsclient/src/main/perl/pbsclient.pod delete mode 100644 ncm-pbsclient/src/test/perl/00-load.t delete mode 100644 ncm-pbsclient/src/test/perl/pod-syntax.t delete mode 100644 ncm-pbsclient/src/test/resources/ccm.cfg diff --git a/ncm-pbsclient/ChangeLog b/ncm-pbsclient/ChangeLog deleted file mode 100644 index 386a64a8..00000000 --- a/ncm-pbsclient/ChangeLog +++ /dev/null @@ -1,3 +0,0 @@ -2010-10-01 (Version 1.0.0) -- B. Gamma - - Initial version of component. diff --git a/ncm-pbsclient/pom.xml b/ncm-pbsclient/pom.xml deleted file mode 100644 index 3ff9dff1..00000000 --- a/ncm-pbsclient/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - 4.0.0 - - org.quattor.cfg.module - pbsclient - - pom - 23.9.0-rc2-SNAPSHOT - NCM pbsclient configuration component - - - org.quattor.maven - build-profile - 1.62 - - - - - - Apache 2 License - http://www.opensource.org/licenses/apache2.0 - Copyright (c) Responsible Organization - - - - - - David Groep - davidg@nikhef.nl - - - - - - Jane SMITH - smith@example.com - - author - - - - Joe DOE - doe@example.org - - author - - - - - - - - - org.codehaus.mojo - rpm-maven-plugin - - https://github.com/quattor/configuration-modules-grid/tree/master/ncm-${project.artifactId} - - - - - - - diff --git a/ncm-pbsclient/src/main/pan/components/pbsclient/config-common.pan b/ncm-pbsclient/src/main/pan/components/pbsclient/config-common.pan deleted file mode 100644 index b17f3c02..00000000 --- a/ncm-pbsclient/src/main/pan/components/pbsclient/config-common.pan +++ /dev/null @@ -1,17 +0,0 @@ -# ${license-info} -# ${developer-info} -# ${author-info} -# ${build-info} - -unique template components/${project.artifactId}/config-common; - -include 'components/${project.artifactId}/schema'; - -# Set prefix to root of component configuration. -prefix '/software/components/${project.artifactId}'; - -'version' = '${no-snapshot-version}'; -#'package' = 'NCM::Component'; - -'active' ?= true; -'dispatch' ?= true; diff --git a/ncm-pbsclient/src/main/pan/components/pbsclient/config-rpm.pan b/ncm-pbsclient/src/main/pan/components/pbsclient/config-rpm.pan deleted file mode 100644 index e73eef2a..00000000 --- a/ncm-pbsclient/src/main/pan/components/pbsclient/config-rpm.pan +++ /dev/null @@ -1,16 +0,0 @@ -# ${license-info} -# ${developer-info} -# ${author-info} -# ${build-info} - -unique template components/${project.artifactId}/config-rpm; - -include 'components/${project.artifactId}/config-common'; - -# Set prefix to root of component configuration. -prefix '/software/components/${project.artifactId}'; - -# Install Quattor configuration module via RPM package. -'/software/packages' = pkg_repl('ncm-${project.artifactId}', '${no-snapshot-version}-${rpm.release}', 'noarch'); -'dependencies/pre' ?= list('spma'); - diff --git a/ncm-pbsclient/src/main/pan/components/pbsclient/config.pan b/ncm-pbsclient/src/main/pan/components/pbsclient/config.pan deleted file mode 100644 index 4625b0f8..00000000 --- a/ncm-pbsclient/src/main/pan/components/pbsclient/config.pan +++ /dev/null @@ -1,8 +0,0 @@ -# ${license-info} -# ${developer-info} -# ${author-info} -# ${build-info} - -unique template components/${project.artifactId}/config; - -include 'components/${project.artifactId}/config-rpm'; diff --git a/ncm-pbsclient/src/main/pan/components/pbsclient/schema.pan b/ncm-pbsclient/src/main/pan/components/pbsclient/schema.pan deleted file mode 100755 index 94a02c11..00000000 --- a/ncm-pbsclient/src/main/pan/components/pbsclient/schema.pan +++ /dev/null @@ -1,162 +0,0 @@ -# ${license-info} -# ${developer-info} -# ${author-info} -# ${build-info} -# -# Coding style: emulate characters with 4 spaces, thanks! -################################################################################ - - -declaration template components/pbsclient/schema; - -include 'quattor/schema'; - -type ${project.artifactId}_component_pathmapping_type = { - "locations" : string - "path" : string -}; - -type ${project.artifactId}_component_scripts_type = { - "epilogue" ? string - "epilogue.user" ? string - "epilogue.parallel" ? string - "prologue" ? string - "prologue.user" ? string - "prologue.parallel" ? string -}; - -type ${project.artifactId}_component_structure_initialisation = { - ## initialisation values - ## regular (see PBSINITIALISATIONVALUES) - ## The expressions start with the variable t (total assigned CPUs) or c (existing CPUs), an operator (+ - / *), and followed by a float constant - "auto_ideal_load" ? string with match (SELF, '^[tc][+-/*]\d+(\.\d+)?') - "auto_max_load" ? string with match (SELF, '^[tc][+-/*]\d+(\.\d+)?') - - "check_poll_time" ? long(0..) - - "checkpoint_interval" ? long - "checkpoint_script" ? string - "checkpoint_run_exe" ? string - - "configversion" ? string - - "cputmult" ? double - - "down_on_error" ? boolean - - "enablemomrestart" ? boolean - - "ideal_load" ? double - - "igncput" ? boolean - "ignmem" ? boolean - "ignvmem" ? boolean - "ignwalltime" ? boolean - - ## octal, hex, or "userdefault" - "job_output_file_mask" ? string - - "log_directory" ? string - "logevent" ? long - "log_file_suffix" ? string - "log_keep_days" ? long(0..) - "loglevel" ? long(0..7) - "log_file_max_size" ? long(0..) - "log_file_roll_depth" ? long(1..) - - "max_conn_timeout_micro_sec" ? long - - "max_load" ? double - - "memory_pressure_threshold" ? double - "memory_pressure_duration" ? long(0..) - - "node_check_script" ? string - "node_check_interval" ? string[] - - "nodefile_suffix" ? string - - "nospool_dir_list" ? string[] - - "job_oom_score_adjust" ? long - - "prologalarm" ? long - - "rcpcmd" ? string - - "remote_checkpoint_dirs" ? string - - "remote_reconfig" ? boolean - - "restart_script" ? string - - "source_login_batch" ? boolean - "source_login_interactive" ? boolean - - "spool_as_final_name" ? boolean - - "status_update_time" ? long - - "tmpdir" ? string - - "timeout" ? long - - "use_smt" ? boolean - - "wallmult" ? double - - ## camelCase style (legacy) (see PBSINITIALISATIONVALUESMAP) - "cpuTimeMultFactor" ? double - "idealLoad" ? double - "logEvent" ? long - "maxLoad" ? double - "nodeCheckScriptPath" ? string - "nodeCheckIntervalSec" ? long - "prologAlarmSec" ? long - "wallTimeMultFactor" ? double -}; - -type ${project.artifactId}_component_structure_options = { - ## other options - 'mom_host' ? string - 'xauthpath' ? string -}; - - -type ${project.artifactId}_component_type = { - include structure_component - - "pbsroot" ? string - "configPath" ? string - "initScriptPath" ? string - - ## if behaviour = Torque, first entry of the masters is the $pbsmastername (which is old torque option?) - ## Torque3 uses $pbsserver instead of $clienthost - ## default is ok - "behaviour" ? string = 'OpenPBS' with match (SELF, 'OpenPBS|Torque|Torque3') - - "masters" : string[] - "pbsclient" ? string[] - "aliases" ? string[] - "restricted" ? string[] - "cpuinfo" ? string[] - "varattr" ? string[] - - ## Static Resources / Shell Commands / size[fs=] - "resources" ? string[] - - ## $usecp directives - "directPaths" ? ${project.artifactId}_component_pathmapping_type[] - - ## prologue and epilogue - "scripts" ? ${project.artifactId}_component_scripts_type - - include ${project.artifactId}_component_structure_initialisation - - include ${project.artifactId}_component_structure_options - - "submitonly" ? boolean -}; - - -bind "/software/components/pbsclient" = ${project.artifactId}_component_type; diff --git a/ncm-pbsclient/src/main/perl/pbsclient.pm b/ncm-pbsclient/src/main/perl/pbsclient.pm deleted file mode 100755 index 013b2b8c..00000000 --- a/ncm-pbsclient/src/main/perl/pbsclient.pm +++ /dev/null @@ -1,446 +0,0 @@ -# ${license-info} -# ${developer-info} -# ${author-info} -# ${build-info} -# -# Coding style: emulate characters with 4 spaces, thanks! -################################################################################ - - -package NCM::Component::pbsclient; - -# -# a few standard statements, mandatory for all components -# - -use strict; -use LC::Check; -use File::Path; -use NCM::Check; -use NCM::Component; -use File::Basename qw(basename); -use Fcntl ':mode'; -use vars qw(@ISA $EC); -@ISA = qw(NCM::Component); -$EC=LC::Exception::Context->new->will_store_all; - -use constant COMPONENTPATH => "/software/components/pbsclient"; - -use constant DEFAULTPBSMOMCONF => "mom_priv/config"; -use constant DEFAULTPBSINITSCRIPT => "/etc/init.d/pbs"; -use constant DEFAULTPBSDIR => "/var/torque"; -use constant DEFAULTPBSMOMDIR => "mom_priv"; - -use constant SCRIPTPERMS => {"epilogue" => 0700, - "epilogue.user" => 0755, - "epilogue.parallel" => 0700, - "prologue" => 0700, - "prologue.user" => 0755, - "prologue.parallel" => 0700 - }; - -use constant PBSCLIENTOPTIONS => qw( - mom_host - xauthpath -); - -use constant PBSINITIALISATIONVALUES => qw( - auto_ideal_load - auto_max_load - cputmult - configversion - check_poll_time - checkpoint_interval - checkpoint_script - checkpoint_run_exe - down_on_error - enablemomrestart - ideal_load - igncput - ignmem - ignvmem - ignwalltime - job_output_file_mask - log_directory - logevent - log_file_suffix - log_keep_days - loglevel - log_file_max_size - log_file_roll_depth - max_conn_timeout_micro_sec - max_load - memory_pressure_threshold - memory_pressure_duration - node_check_script - node_check_interval - nodefile_suffix - nospool_dir_list - job_oom_score_adjust - prologalarm - rcpcmd - remote_checkpoint_dirs - remote_reconfig - restart_script - source_login_batch - source_login_interactive - spool_as_final_name - status_update_time - tmpdir - timeout - use_smt - wallmult -); - -## Camelcase reflect older naming convention -## map is: schemaname -> initialisationname -## legacy issues: idealLoad, maxLoad, nodeCheckScriptPath, nodeCheckIntervalSec are probably wrong -use constant PBSINITIALISATIONVALUESMAP => { - 'logEvent' => 'logevent', - 'cpuTimeMultFactor' => 'cputmult', - 'wallTimeMultFactor' => 'wallmult', - 'idealLoad' => 'idealload', - 'maxLoad' => 'maxload', - 'prologAlarmSec' => 'prologalarm', - 'nodeCheckScriptPath' => 'nodecheckscript', - 'nodeCheckIntervalSec' => 'nodecheckinterval' -}; - - -########################################################################## -sub Configure { -########################################################################## - my ($self,$config)=@_; - my $changes = 0; - - $self->info("Configuring PBS"); - - # - # Create the Torque client config file from configuration - # - my $contents = "# File managed by Quattor component ncm-pbsclient. DO NOT EDIT.\n\n"; - - our $cfgtree = $config->getElement(COMPONENTPATH)->getTree; - - ## - ## initPaths - ## - my $pbsroot = exists($cfgtree->{pbsroot}) ? $cfgtree->{pbsroot} : DEFAULTPBSDIR; - my $pbsmomconf = exists($cfgtree->{configPath}) ? $pbsroot . '/' . $cfgtree->{configPath} : $pbsroot . '/' . DEFAULTPBSMOMCONF; - my $pbsinitscript = exists($cfgtree->{initScriptPath}) ? $cfgtree->{initScriptPath} : DEFAULTPBSINITSCRIPT; - my $pbsservice = basename($pbsinitscript); - $self->verbose("Service $pbsservice derived from init script $pbsinitscript"); - - my $pbsdir=$pbsroot; - my $pbsmomdir=$pbsroot. '/' . DEFAULTPBSMOMDIR; - # make sure pbs mom directory exists and it properly writable - #($pbsmomdir=$pbsmomconf) =~ s/\/[^\/]+$//; # implements dirname() - #($pbsdir=$pbsmomdir) =~ s/\/[^\/]+$//; # implements dirname() again - $self->debug(2,"PBSMOMDIR $pbsmomdir; PBSDIR $pbsdir"); - - - # the masterlist will fill the $clienthost directive - # create the line(s) with the $clienthost directives from the master list - my $pbsclienthostname='clienthost'; - if ( $cfgtree->{behaviour} eq "Torque3" ) { - $pbsclienthostname='pbsserver'; - } - if ($cfgtree->{masters} && @{$cfgtree->{masters}}[0]){ - foreach ( @{$cfgtree->{masters}} ) { - $contents.='$' . $pbsclienthostname . ' '.$_."\n"; - }; - } else { - $self->error("Empty master list"); - return; - } - - - foreach ( @{$cfgtree->{aliases}} ) { - $contents.='$alias_server_name '.$_."\n"; - } - - foreach ( @{$cfgtree->{pbsclient}} ) { - $contents.='$pbsclient '.$_."\n"; - } - - foreach ( @{$cfgtree->{varattr}} ) { - $contents.='$varattr '.$_."\n"; - } - - # create the line(s) with the $restricted directives from the master list - foreach ( @{$cfgtree->{restricted}} ) { - $contents .= '$restricted ' . $_ . "\n"; - } - - # additional resources (those without a $) that end up in the config - my %resources; - foreach my $resource (@{$cfgtree->{resources}}) { - my ($a,$v)=split(/:/,$resource,2); - $resources{$a}=$v; - } - - # add cpuinfo if defined by user : - # users can define a list of properties they want to be included? - # example elements are : "cpu count","model name","cpu MHz","cpu family","model","stepping"... - if(exists($cfgtree->{cpuinfo})) { - $self->info("Additional CPUINFO elements exist, adding them as resources to mom config"); - - my %tmphash=cpuinfo_hash(); - my %tmphash2; - for my $elem (@{$cfgtree->{cpuinfo}}) { - if(defined $tmphash{$elem}) { - my $prop = $elem; - #have things more readable - $prop =~ s/^(model |cpu |)//; - $prop =~ tr/ /_/; - #prefix a "cpu_" for all properties except ncpus and ncores - $prop="cpu_" . $prop unless( $prop =~ m/(^ncores)/) ; - #$tmphash2{$elem}=$tmphash{$elem} - $tmphash2{$prop}=$tmphash{$elem}; - } - } - # add cpuinfo to resources - %resources = (%resources, %tmphash2); - }; - - # Define other resources - foreach ( keys %resources ) { - $self->info("Additional resource '" . $_ . "' defined"); - my $resource_string = $_; - if ( defined($resources{$_}) && length($resources{$_}) ) { - $resource_string .= " " . $resources{$_}; - } - $contents .= $resource_string . "\n"; - } - - - - # additional usecp directives - foreach my $dp ( @{$cfgtree->{directPaths}} ) { - my $locations = $dp->{locations}; - my $path = $dp->{path}; - $self->debug(1,"Adding direct path \$usecp $locations $path"); - $contents .= '$usecp ' . $locations . " " . $path . "\n"; - } - - ## bulk of all options - ## regular style - sub makestring { - my $arg=shift; - my $tmp = $cfgtree->{$arg}; - my $res; - if ( ref($tmp) eq "ARRAY" ) { - $res=join(',',@{$tmp}); - } else { - $res=$tmp; - } - return $res; - } - foreach ( PBSINITIALISATIONVALUES ) { - $contents .= '$'.$_ . ' ' . makestring($_) . "\n" if ($cfgtree->{$_}); - } - ## camelcase with mapping - while ( my ($schemaname, $cfgentry) = each %{&PBSINITIALISATIONVALUESMAP} ) { - ## regular style is preferred in case of mixing (but silently) - $contents .= '$'.$cfgentry . ' ' . makestring($schemaname) . "\n" if ($cfgtree->{$schemaname} && (! $cfgtree->{$cfgentry})); - } - - ## options don't start with $ - foreach ( PBSCLIENTOPTIONS ) { - $contents .= $_ . ' ' . makestring($_) . "\n" if ($cfgtree->{$_}); - } - - - ## behaviour OpenPBS default pushed to schema - ## This Torque behaviour is from very early Torque version. OpenPBS is best left as default. - if ( $cfgtree->{behaviour} eq "Torque" ) { - # add a $pbsservername line - # assume first master is the real one - $contents .= '$pbsmastername ' . @{$cfgtree->{masters}}[0] . "\n"; - } - - # - # Update Torque client configuration file if needed - # - LC::Check::directory("$pbsmomdir"); - - ## Is this still needed? LC::Check::file probably already does this? - -e "$pbsmomconf" or ( open PBSMOMCONFFH,">$pbsmomconf" and close PBSMOMCONFFH ); - -f "$pbsmomconf" or $self->Error("$pbsmomconf exists but is not a file"); - - my $result = LC::Check::file( $pbsmomconf, - backup => ".old", - contents => $contents, - owner => "root", - group => "root", - mode => 0640, - ); - if ( $result ) { - $self->log("$pbsmomconf updated"); - $changes += $result; - } - - - # - # Update server_name file - # - - my $srvfile="$pbsdir/server_name"; - - ## Is this still needed? LC::Check::file probably already does this? - -e "$srvfile" or ( open SNM,">$srvfile" and close SNM ); - -f "$srvfile" or $self->Error("$srvfile exists but is not a file"); - - ## @{$cfgtree->{masters}}[0] checked above - $result = LC::Check::file( $srvfile, - backup => ".old", - contents => @{$cfgtree->{masters}}[0], - owner => "root", - group => "root", - mode => 0644, - ); - if ( $result ) { - $self->log("$srvfile updated"); - $changes += $result; - } - - - # Ensure that the tmpdir exists if it is specified. - # For torque 2+, this directory must have group write privilege. - # - # Bug 28585: - # Do NOT set the absolute permissions because that may affect other permissions - # Just ensure that the group can write to $tmpdir - if ( $cfgtree->{tmpdir} ) { - my $tmpdir=$cfgtree->{tmpdir}; - # Bug 37119: The group writable bit is suppressed by the default umask - # So always check that the group writable bit is set and - # toggle it if that is not the case - if ( ! -e $tmpdir ) { - mkpath("$tmpdir",0,01775); - } - my $mode = (stat $tmpdir)[2]; - if ( ! ($mode & S_IWGRP) ) { - $mode |= S_IWGRP; - $self->info("Setting permissions on TMPDIR $tmpdir to " . - sprintf("%04o", $mode & 07777)); - chmod ($mode, $tmpdir); - } - } - - # Install (or remove) the various epilogue and prologue scripts. - # No need to mark changes because pbs picks up the scripts - # dynamically. - while ( my ($script, $scriptcontents) = each %{$cfgtree->{scripts}} ) { - my $fullpath = "$pbsmomdir/$script"; - my $result = LC::Check::file($fullpath, - backup => ".old", - contents => $scriptcontents, - owner => "root", - group => "root", - mode => SCRIPTPERMS->{$script}, - ); - if ( $result ) { - $self->log("$fullpath updated"); - } - } - - # restart PBS if it is already running AND the config changed - if ($changes) { - if ($cfgtree->{submitonly}) { - $self->info("Submit only configuration; no checking for any MOM state."); - } else { - my $output = CAF::Process->new(['service', $pbsservice, "status"], log => $self)->output(); - if ($?) { - $self->info("Not running (from service $pbsservice status)"); - } else { - $self->info("Running, will attempt restart (from service $pbsservice status)"); - $output = CAF::Process->new(['service', $pbsservice, "restart"], log => $self)->output(); - if ($?) { - $self->info("Restart failed (output from service $pbsservice restart: $output)"); - } else { - $self->info("Restarted (from service $pbsservice restart)"); - } - } - } - }; - - return; -} - - -########################################################################## -sub Unconfigure { -########################################################################## - my ($self,$config)=@_; - - $self->info("Unconfiguring PBS. Nothing implemented."); - - return; -} - -########################################################################## -# returns a hash with cpuinfo -sub cpuinfo_hash { -########################################################################## - my %localres; - my %cpuinfo; - # - #assume processor number is the first information in cpuinfo - #if a newline is found, increase the processor number - #(processors are separated with newlines) - - # Opening the file /proc/cpuinfo for input... - my $processor=0; - open (CPUINFO, ") { - chomp; #removing newline - my $linetest =$_; #checking if the line contains a : - if ($linetest=~ m/^$/) { - $processor+=1; - } - if ($linetest=~ m/:/) { - my ($key, $value) = split /\s*:\s*/; #if so, split the line in 2 - $cpuinfo{$processor}{$key} = $value; #and put the keys & and values in a hash - } - } - - # close the filehandle since it is no longer needed. - close (CPUINFO); - - my %cpus=(0,""); - for (keys %cpuinfo) { - #print "$_\n"; - my $processor = 0; - $processor = $cpuinfo{$_}{"processor"} if exists $cpuinfo{$_}{"processor"}; - if(exists($cpuinfo{$_}{"physical id"})) { - $cpus{$cpuinfo{$_}{"physical id"}}=$processor ; - } else { - $cpus{$processor}=$processor ; - } - } - my @cpulist=sort keys %cpus; - - # define a resource for the number of CPUs - my $ncpus= $cpulist[$#cpulist] +1; - #print "ncpus $ncpus" ; - $localres{"cpu count"}=$ncpus; - - # define a resource for the number of CPU cores - my $ncores = scalar keys %cpuinfo; - #print "\nncores $ncores\n"; - $localres{"ncores"}=$ncores; - - - # define several localres related to the 1st CPU - # We're assuming all CPUs are the SAME (does anybody mix CPUs in a cluster node ?) ! - # If the pbs client has different cpus, then... too bad. - # - for my $property (keys %{$cpuinfo{0}}) { - $localres{$property}=$cpuinfo{0}{$property} - } - - return %localres -} - -1; #required for Perl modules diff --git a/ncm-pbsclient/src/main/perl/pbsclient.pod b/ncm-pbsclient/src/main/perl/pbsclient.pod deleted file mode 100755 index 8282d0f8..00000000 --- a/ncm-pbsclient/src/main/perl/pbsclient.pod +++ /dev/null @@ -1,146 +0,0 @@ -# ${license-info} -# ${developer-info} -# ${author-info} - -=head1 NAME - -NCM::pbsclient - NCM pbsclient configuration component - -=head1 SYNOPSIS - -=over - -=item Configure() - -Do the necessary configuration for an PBS client at CERN. The mail two configuration files -are /var/spool/pbs/mom_priv/config and /var/spool/pbs/server_name. The first one is the -default configuration file for PBS, the second one is used to hold the PBS server name. -In case Torque behaviour is selected, the server_name is contained in the config file -as well. - -=item Unconfigure() - -Removed the configuration file for pbs mom (but leaves the pbs server_name file). - -=back - -=head1 RESOURCES - -=over - -=item /software/components/pbsclient/active : boolean - -activates/deactivates the component. - -=item /software/components/pbsclient/cpuinfo : string[] - -Defines which cpu info (from /proc/cpuinfo) to define as resources in the pbs_mom config file. -This is a string list, which may contain any processor property name that you can see in -/proc/cpuinfo file. -Two extra processor related flags can be specified : ncpus, and ncores -ncpus is the number of physical CPUs in the node, and ncores is the total number of cores. -** All CPUs in one host are assumed to be the same ** - -Example properties are : "ncores", "ncpus", "flags", "model name", "cpu MHz", "cpu family", "model", "stepping" - -Properties that start with "model " or "cpu " will see this be stripped as a first step. -All resulting pbs_mom resources will be prefixed with C except ncpus and ncores. - -=item /software/components/pbsclient/masters : string[] - -defines a list of PBS masters for this host. The first is the primary master -for q* commands. This directive is compulsory. - -=item /software/components/pbsclient/resources : string - -defines the PBS resources, this host provides. This resource is currently ignored. - -=item /software/components/pbsclient/restricted : string[] - -defines the list of hosts that can query PBS mom for additional information using -a reserved port (in addition to the clienthosts as set fia the masters resource). - -=item /software/components/pbsclient/logEvent : long - -Bitmask defining what log information to write to the mom_log files. - -=item /software/components/pbsclient/tmpdir : string - -Location of the per-job transient TMPDIR directory. This resource is only -functional on OpenPBS or Torque servers with the transient_tmpdir patch -applied. The default is compiled into mom. - -=item /software/components/pbsclient/idealLoad : double - -Translates into configuration directive $idealload. - -=item /software/components/pbsclient/maxLoad : double - -Translates into configuration directive $maxload. - -=item /software/components/pbsclient/cpuTimeMultFactor : double - -Translates into configuration directive $cput. - -=item /software/components/pbsclient/wallTimeMultFactor : double - -Translates into configuration directive $wallt. - -=item /software/components/pbsclient/prologAlarmSec : long - -Translates into configuration directive $prologalarm. - -=item /software/components/pbsclient/checkpoint_interval : long - -=item /software/components/pbsclient/checkpoint_script : string - -=item /software/components/pbsclient/restart_script : string - -=item /software/components/pbsclient/checkpoint_run_exe : string - -=item /software/components/pbsclient/configPath : string - -location of the PBS mom configuration file (default: -C). Note that the server_name file is -written two directories up (thus by default in C). - -=item /software/components/pbsclient/behaviour : string - -The way the server_name is conveyed to PBS mom. The default is -OpenPBS, where the name is written to the file "server_name". The -only other valid value is "Torque", where the name is written -in the "$pbsservername" directive in the mom config file. - -=item /software/components/pbsclient/nodeCheckScriptPath : string - -=item /software/components/pbsclient/nodeCheckIntervalSec : long - -=item /software/components/pbsclient/initScriptPath : string - -Name of the init.d script to run in the configuration changed. BY -default this is "C". - -=item /software/components/pbsclient/directPaths : component_pbsclient_pathmapping_type[] - -Locations that are accesible directly using the POSIX FileIO calls (i.e. without -using pbs_rcp). This array of records define dthe list of $usecp directives. -The component_pbsclient_pathmapping_type contains two resources ("locations" and "path"). - -=item /software/components/pbsclient/scripts/prologue : string -=item /software/components/pbsclient/scripts/epilogue : string -=item /software/components/pbsclient/scripts/prologue.user : string -=item /software/components/pbsclient/scripts/epilogue.user : string -=item /software/components/pbsclient/scripts/prologue.parallel : string - -These scripts may be defined to augment the behavior of pbs when -starting and ending jobs. See the pbs documentation for a complete -description of when each script runs and as what user. - -=item /software/components/pbsclient/submitonly ? boolean - -If true, it assumes this host is only used for job submission, and has no pbs MOM running - that requires restarting. - -=back - -=cut diff --git a/ncm-pbsclient/src/test/perl/00-load.t b/ncm-pbsclient/src/test/perl/00-load.t deleted file mode 100644 index f215fd17..00000000 --- a/ncm-pbsclient/src/test/perl/00-load.t +++ /dev/null @@ -1,18 +0,0 @@ -# ${license-info} -# ${author-info} -# ${build-info} - -=pod - -=head1 Smoke test - -Basic test that ensures that our module will load correctly. - -=cut - -use strict; -use warnings; -use Test::More tests => 1; -use Test::Quattor; - -use_ok("NCM::Component::pbsclient"); diff --git a/ncm-pbsclient/src/test/perl/pod-syntax.t b/ncm-pbsclient/src/test/perl/pod-syntax.t deleted file mode 100644 index a7864338..00000000 --- a/ncm-pbsclient/src/test/perl/pod-syntax.t +++ /dev/null @@ -1,6 +0,0 @@ - -use Test::More; -use Test::Pod; - -my @dirs = qw(target/lib/perl); -all_pod_files_ok(all_pod_files(@dirs)); diff --git a/ncm-pbsclient/src/test/resources/ccm.cfg b/ncm-pbsclient/src/test/resources/ccm.cfg deleted file mode 100644 index d0aebda3..00000000 --- a/ncm-pbsclient/src/test/resources/ccm.cfg +++ /dev/null @@ -1,6 +0,0 @@ -debug 0 -get_timeout 1 -profile https://www.google.com -cache_root target/test/cache -retrieve_wait 0 -retrieve_retries 1 diff --git a/pom.xml b/pom.xml index 95e511cc..c6ef9ad8 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,6 @@ ncm-maui ncm-mkgridmap ncm-myproxy - ncm-pbsclient ncm-pbsknownhosts ncm-pbsserver ncm-vomsclient