diff --git a/contrib/build-server/openmpi-nightly-tarball.sh b/contrib/build-server/openmpi-nightly-tarball.sh index c1af759eb4..32e3ddecb5 100755 --- a/contrib/build-server/openmpi-nightly-tarball.sh +++ b/contrib/build-server/openmpi-nightly-tarball.sh @@ -12,8 +12,8 @@ results_addr=testing@open-mpi.org # svn repository uri master_code_uri=https://github.com/open-mpi/ompi.git master_raw_uri=https://raw.github.com/open-mpi/ompi -release_code_uri=https://github.com/open-mpi/ompi.git -release_raw_uri=https://raw.github.com/open-mpi/ompi +release_code_uri=https://github.com/open-mpi/ompi-release.git +release_raw_uri=https://raw.github.com/open-mpi/ompi-release # where to put built tarballs outputroot=/l/osl/www/www.open-mpi.org/nightly @@ -26,10 +26,10 @@ script_dir=/u/mpiteam/scripts # The tarballs to make if [ $# -eq 0 ] ; then - # We're no longer ever checking the 1.0 - 1.4 branches anymore - branches="master v1.8 v1.6" + # We're no longer ever checking the 1.0 - 1.6 branches anymore + branches="master v1.8" else - dirs=$@ + branches=$@ fi # Build root - scratch space diff --git a/contrib/build-server/openmpi-release.sh b/contrib/build-server/openmpi-release.sh index 04c5191828..6493abab3a 100755 --- a/contrib/build-server/openmpi-release.sh +++ b/contrib/build-server/openmpi-release.sh @@ -2,9 +2,10 @@ # The tarballs to make if [ $# -eq 0 ] ; then - dirs="branches/v1.8" + branches="v1.8" else - dirs=$@ + branches=$1 + shift fi # Build root - scratch space @@ -29,14 +30,12 @@ module load sowing # move to the directory # Loop making them -for dir in $dirs; do - ver=`basename $dir` +for branch in $branches; do + cd $build_root/$branch - cd $build_root/$ver + module load "autotools/ompi-$branch" - module load "autotools/ompi-$ver" - - ./$script $@ >dist.out 2>&1 + ./$script $@ >dist.out 2>&1 if test "$?" != "0"; then cat <{$core}->{$org}->{$year}->{$file})) { $copyrights->{$core}->{$org}->{$year}->{$file} = 1; @@ -104,7 +99,7 @@ foreach my $f (@files) { $current = $2; } # Beginning of something else - elsif (defined($current) && + elsif (defined($current) && ($line =~ /\s*\*\s*$/ || $line =~ /^\s*$/ || $line =~ /^\s*\#\s*$/)) { @@ -149,7 +144,7 @@ print "Found copyrights:\n"; foreach my $c (qw/1 0/) { print "========= Core: $c\n"; foreach my $org (sort(keys(%{$copyrights->{$c}}))) { - print "$org: " . join(",", + print "$org: " . join(",", sort(keys(%{$copyrights->{$c}->{$org}}))) . "\n"; } } diff --git a/contrib/dist/gkcommit.pl b/contrib/dist/gkcommit.pl deleted file mode 100755 index f366630940..0000000000 --- a/contrib/dist/gkcommit.pl +++ /dev/null @@ -1,402 +0,0 @@ -#!/usr/bin/env perl -# -# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. -# -# Helper script for gatekeepers: it marshals together a GK-worthy SVN -# commit message containing the CMR number(s) being closed and SVN -# commit log messages for the SVN r numbers referenced. -# - -use strict; - -use locale ':not_characters'; -# Respect the locale (LANG, LC_CTYPE, etc.) specified in the environment in -# which this script is run when performing file input and output. Necessary to -# ensure proper transcoding when grabbing log messages from SVN and then -# writing them back out again. -use open ':locale'; - -use Getopt::Long; -use XML::Parser; -use Data::Dumper; -use Cwd; -use LWP; -use File::Temp qw/ :POSIX /; - -my $base_trac_url = "https://svn.open-mpi.org/trac/ompi/ticket/%d?format=csv"; -my $base_svn_url = "https://svn.open-mpi.org/svn/ompi/trunk"; - -########################################################################### - -# Command line parsing -my @cmr_arg; -my @r_arg; -my $svn_up_arg = 1; -my $help_arg = 0; -my $dry_run_arg = 0; - -&Getopt::Long::Configure("bundling"); -my $ok = Getopt::Long::GetOptions("cmr|c=s" => \@cmr_arg, - "r|r=s" => \@r_arg, - "svn-up|s!" => \$svn_up_arg, - "dry-run|d!" => \$dry_run_arg, - "help|h!" => \$help_arg); - -if (!$ok || $help_arg) { - print "$0 [--cmr=|-c ] [--r=|-r ] - [--[no-]svn-up|-s] [--dry-run|-d] - - is a comma-delimited list of integers. - -If --dry-run is specified, 'svn up' and 'svn commit' will not be executed. - -If --cmr is not specified on the command line, you will be prompted -interactively. Ditto for --r. - ---no-svn-up inhibits running \"svn up\" before doing the commit.\n"; - exit(0); -} - -print "DRY RUN: no svn state-changing commands will be run\n" - if ($dry_run_arg); - -# Parse the -cmr argument -my @cmrs; -if (@cmr_arg) { - foreach my $cmr (@cmr_arg) { - foreach my $c (split(/,/, $cmr)) { - push(@cmrs, $c); - } - } -} - -# Parse the -r argument -my @rs; -if (@r_arg) { - foreach my $r (@r_arg) { - foreach my $rr (split(/,/, $r)) { - $rr =~ s/^r?//; - push(@rs, $rr); - } - } -} - -########################################################################### - -# Make sure we're in an SVN tree -die "Not in a SVN tree" - if (! -d ".svn"); - -########################################################################### - -# If we didn't get cmrs on the command line, prompt for them -if (!@cmrs) { - print "Enter a list of CMRs closed by this commit.\n"; - while (1) { - print "\nList so far: "; - if ($#cmrs >= 0) { - print "#" . join(', #', @cmrs) . "\n"; - } else { - print "\n"; - } - - print "CMR number (-1 to exit)? "; - my $cmrs = ; - chomp($cmrs); - last - if (-1 == $cmrs); - - foreach my $cmr (split(/[\s,]+/, $cmrs)) { - if ($cmr > 0) { - push(@cmrs, $cmr); - } else { - print "Invalid CMR number ($cmr); must be greater than 0 (ignored).\n"; - } - } - } - print("\n"); -} -if ($#cmrs < 0) { - print "Must supply at least one CMR that is closed by this commit\n"; - exit(1); -} - -# If we didn't get r numbers on the command line, prompt for them -if (!@rs) { - print "Enter a list of SVN r numbers included in this commit.\n"; - while (1) { - print "\nList so far: "; - if ($#rs >= 0) { - print "r" . join(', r', @rs) . "\n"; - } else { - print "\n"; - } - - print "SVN r number (-1 to exit)? "; - my $rs = ; - chomp($rs); - last - if (-1 == $rs); - - foreach my $r (split(/[\s,]+/, $rs)) { - $r =~ s/^r//; - if ($r > 0) { - push(@rs, $r); - } else { - print "Invalid SVN r number ($r); must be greater than 0 (ignored).\n"; - } - } - } - print("\n"); -} - -########################################################################### - -# Prettyprint -print "\nFinal list of CMRs closed by this commit: #" . - join(', #', @cmrs) . "\n"; -print "\nFinal list of SVN r number closed by this commit: "; -if ($#rs >= 0) { - print "r" . join(', r', @rs) . "\n"; -} else { - print "\n"; -} - -########################################################################### - -# Retrieve subject lines for Trac CMRs -print "Retrieving Trac CMR summaries...\n"; -my $cmr_summaries; -foreach my $cmr (@cmrs) { - my $url = sprintf($base_trac_url, $cmr); - - # Recent (as of 3 Aug 2011) versions of LWP in Macports seem to - # have broken SSL certificate verification. The IU CA is in my - # Mac system keychain (and has been there for quite a long time), - # but after a recent ports update, LWP fails the SSL certificate - # verification. Fine. So we'll just turn it off, per - # http://search.cpan.org/~gaas/libwww-perl-6.02/lib/LWP/UserAgent.pm. - my $ua = LWP::UserAgent->new(env_proxy => 0, - ssl_opts => { verify_hostname => 0 }); - - # @#$@!$# LWP proxying for https *does not work*. So don't set - # $ua->proxy() for it. Instead, rely on $ENV{https_proxy} being - # set whenever we process requests that require SSL proxying, - # because that is obeyed deep down in the innards underneath LWP. - $ua->agent("gkcommit"); - - my $res = $ua->get($url); - if (!$res->is_success()) { - print("Failed to download Trac ticket #" . $cmr . "\n"); - print $res->status_line . "\n"; - exit(1); - } - my @lines = split('\n', $res->content); - my @fields = split(',', $lines[0]); - - # The summary field may have a "," in it, so do the parsing with - # care. If it does, the value will be enclosed in quotes ("foo"). - # If not, there will be no quotes. - my $summary = $lines[1]; - $summary =~ s/^.*?,//; - if (substr($summary, 0, 1) eq '"') { - # Quotes are escaped in the string with double quotes - my $marker="===GK-COMMIT-DOUBLE-QUOTE==="; - $summary =~ s/\"\"/$marker/g; - $summary =~ m/^\"(.+?)\",/; - $summary = $1; - $summary =~ s/$marker/\"/g; - } else { - $summary =~ s/(.+?),.+/\1/; - } - $cmr_summaries->{$cmr} = $summary; -} - -# If we have r numbers to parse, get the SVN logs and parse them into -# a data structure -my $logentries; -my $logentry; -my $chars; -if ($#rs >= 0) { - print "Retrieving SVN log messages...\n"; - my $cmd = "svn log $base_svn_url --xml "; - foreach my $r (@rs) { - $cmd .= "-r $r "; - } - print "Running: $cmd\n"; - my $xml; - open(CMD, "$cmd|"); - $xml .= $_ - while (); - close(CMD); - - my $x = new XML::Parser(Style => 'Subs', - Handlers => { Char => \&my_char }); - - $x->parse($xml); -} - -# Run "svn up" just to get the tree consistent -if ($dry_run_arg) { - print "DRY RUN: skipping 'svn up' step\n"; -} elsif ($svn_up_arg) { - print "Running 'svn up'...\n"; - system("svn up"); -} else { - print "Skipping 'svn up' step\n"; -} - -########################################################################### - -# Create a SVN commit message for the gatekeeper -my $commit_file = File::Temp::tempnam(Cwd::cwd(), "gkcommit"); -open(FILE, ">$commit_file") || - die "Can't open temp file"; -foreach my $cmr (@cmrs) { - print FILE "Fixes #$cmr: $cmr_summaries->{$cmr}\n"; -} -print FILE "\n"; - -# If we have r numbers, print them. Use a special line to make the -# pre-commit hook ignore all of these messages (i.e., so that it -# doesn't try to close some ticket twice, or something like that). -print FILE "---svn-pre-commit-ignore-below---\n\n" - if ($#rs >= 0); -foreach my $r (@rs) { - print FILE "r$r [[BR]] -$logentries->{$r}->{msg}\n\n"; -} - -# Now add all the files that changes so that the gk can examine them -print "Running 'svn status'...\n"; -open(SVN, "svn status|") || - die "Can't open svn status"; -print FILE "--This line, and those below, will be ignored-- - -**************************************************************************** - GATEKEEPER: If you wish to abort this commit, delete all content from - this file, save the file, and then quit your editor as normal. The - gkcommit script will see the 0-byte file and not perform the commit. -**************************************************************************** - -"; - -while () { - print FILE $_; -} -close(SVN); -close(FILE); - -# Now allow the gk to edit the file -if ($dry_run_arg) { - # Dry run -- just show what would have happened. - print "DRY RUN: skipping edit of this commit message: -----------------------------------------------------------------------------\n"; - my $pager = "more"; - $pager = $ENV{PAGER} - if ($ENV{PAGER}); - system("$pager $commit_file"); - print("----------------------------------------------------------------------------\n"); -} else { - # Let the GK edit the file - if ($ENV{SVN_EDITOR}) { - system("$ENV{SVN_EDITOR} $commit_file"); - } elsif ($ENV{EDITOR}) { - system("$ENV{EDITOR} $commit_file"); - } else { - system("vi $commit_file"); - } - if (! -f $commit_file) { - print "Commit file no longer exists! Aborting.\n"; - exit(1); - } - - # Ensure that the file is >0 bytes long - if (-z $commit_file) { - print "ABORT: Commit file is 0 bytes long. Nothing committed.\n"; - exit(1); - } -} - -# Finally, run the commit -my $cmd = "svn commit --file $commit_file " . join(' ', @ARGV); -if ($dry_run_arg) { - print "DRY RUN: skipping '$cmd' step\n"; -} else { - print "Running: $cmd\n"; - if (0 == system($cmd)) { - unlink($commit_file); - print "\nRunning final 'svn up' to get a stable svnversion\n"; - system("svn up"); - exit(0); - } else { - print "Error during SVN commit!\n"; - print "GK commit message left in: $commit_file\n"; - exit(1); - } -} - -########################################################################### -########################################################################### -########################################################################### -# Helper functions -########################################################################### -########################################################################### -########################################################################### - -# Called for the first logentry tag in the XML parsing -sub logentry { - # The beginning logentry tag has arugments of the form: - # ($expat, 'logentry', attr1, val1, attr2, val2, ...); - shift(@_); - shift(@_); - while (@_) { - my $attr = shift(@_); - my $val = shift(@_); - $logentry->{$attr} = $val; - } -} - -# Called for the last logentry tag in the XML parsing -sub logentry_ { - $logentries->{$logentry->{revision}} = $logentry; - $logentry = undef; -} - -# Called for the last anchor tag in the XML parsing -sub author_ { - chomp($chars); - $chars =~ s/^\n*//; - $logentry->{author} = $chars; - $chars = ''; -} - -# Called for the last date tag in the XML parsing -sub date_ { - chomp($chars); - $chars =~ s/^\n*//; - $logentry->{date} = $chars; - $chars = ''; -} - -# Called for the last revision tag in the XML parsing -sub revision_ { - chomp($chars); - $chars =~ s/^\n*//; - $logentry->{revision} = $chars; - $chars = ''; -} - -# Called for the last msg tag in the XML parsing -sub msg_ { - chomp($chars); - $chars =~ s/^\n*//; - $logentry->{msg} = $chars; - $chars = ''; -} - -# Called for general character data in XML parsing -sub my_char { - my ($expat, $tmp) = @_; - $chars .= $tmp; -} diff --git a/contrib/dist/make_dist_tarball b/contrib/dist/make_dist_tarball index 5be4c312c6..d03295e5c5 100755 --- a/contrib/dist/make_dist_tarball +++ b/contrib/dist/make_dist_tarball @@ -60,7 +60,6 @@ if test "`basename $0`" = "make_tarball"; then highok=1 dirty_ok=1 greekonly=1 - want_ompi=0 else highok=0 fi diff --git a/contrib/nightly/create_tarball.sh b/contrib/nightly/create_tarball.sh index fbebac35e4..31f8186a70 100755 --- a/contrib/nightly/create_tarball.sh +++ b/contrib/nightly/create_tarball.sh @@ -293,8 +293,8 @@ rm -rf "$root" # send success mail if test "$want_success_mail" = "1"; then - Mail -s "Create success (r$version)" "$email" <_.la (for DSO builds) or libmca__.la -# (for static builds). - -if MCA_BUILD_orte_ess_alps_DSO -component_noinst = -component_install = mca_ess_alps.la -else -component_noinst = libmca_ess_alps.la -component_install = -endif - -mcacomponentdir = $(ortelibdir) -mcacomponent_LTLIBRARIES = $(component_install) -mca_ess_alps_la_SOURCES = $(sources) -mca_ess_alps_la_LDFLAGS = -module -avoid-version - -noinst_LTLIBRARIES = $(component_noinst) -libmca_ess_alps_la_SOURCES =$(sources) -libmca_ess_alps_la_LDFLAGS = -module -avoid-version diff --git a/orte/mca/ess/alps/configure.m4 b/orte/mca/ess/alps/configure.m4 deleted file mode 100644 index 887eb0ae13..0000000000 --- a/orte/mca/ess/alps/configure.m4 +++ /dev/null @@ -1,51 +0,0 @@ -# -*- shell-script -*- -# -# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -# University Research and Technology -# Corporation. All rights reserved. -# Copyright (c) 2004-2005 The University of Tennessee and The University -# of Tennessee Research Foundation. All rights -# reserved. -# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -# University of Stuttgart. All rights reserved. -# Copyright (c) 2004-2005 The Regents of the University of California. -# All rights reserved. -# Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved. -# Copyright (c) 2011 Los Alamos National Security, LLC. -# All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -# MCA_ess_alps_CONFIG([action-if-found], [action-if-not-found]) -# ----------------------------------------------------------- -AC_DEFUN([MCA_orte_ess_alps_CONFIG],[ - AC_CONFIG_FILES([orte/mca/ess/alps/Makefile]) - - AC_CHECK_HEADERS([catamount/cnos_mpi_os.h], - [orte_mca_ess_alps_have_cnos=1], - [AC_CHECK_HEADERS([cnos_mpi_os.h], - [orte_mca_ess_alps_have_cnos=1], - [orte_mca_ess_alps_have_cnos=0], - [AC_INCLUDES_DEFAULT])], - [AC_INCLUDES_DEFAULT]) - - dnl one last check to make certain that we have all the right CNOS stuff to - dnl continue with CNOS support - AS_IF([test "$orte_mca_ess_alps_have_cnos" = "1"], - [AC_CHECK_FUNC([cnos_get_rank], - [orte_mca_ess_alps_have_cnos=1], - [orte_mca_ess_alps_have_cnos=0])]) - - dnl was ess alps requested? - ORTE_CHECK_ALPS([ess_alps], - [orte_mca_ess_alps_happy="yes"], - [orte_mca_ess_alps_happy="no"]) - - AS_IF([test "$orte_mca_ess_alps_happy" = "yes" -a "$orte_mca_ess_alps_have_cnos" = 1], - [$1], - [$2]) -])dnl diff --git a/orte/mca/ess/alps/ess_alps.h b/orte/mca/ess/alps/ess_alps.h deleted file mode 100644 index 066b2e20d2..0000000000 --- a/orte/mca/ess/alps/ess_alps.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#ifndef ORTE_ESS_ALPS_H -#define ORTE_ESS_ALPS_H - -BEGIN_C_DECLS - -/* - * Module open / close - */ -int orte_ess_alps_component_open(void); -int orte_ess_alps_component_close(void); -int orte_ess_alps_component_query(mca_base_module_t **module, int *priority); - - -END_C_DECLS - -#endif /* ORTE_ESS_ALPS_H */ diff --git a/orte/mca/ess/alps/ess_alps_component.c b/orte/mca/ess/alps/ess_alps_component.c deleted file mode 100644 index c69a107599..0000000000 --- a/orte/mca/ess/alps/ess_alps_component.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2011-2012 Los Alamos National Security, LLC. - * All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - * - * These symbols are in a file by themselves to provide nice linker - * semantics. Since linkers generally pull in symbols by object - * files, keeping these symbols as the only symbols in this file - * prevents utility programs such as "ompi_info" from having to import - * entire components just to query their version and parameters. - */ - -#include "orte_config.h" -#include "orte/constants.h" - -#include "orte/mca/ess/ess.h" -#include "orte/mca/ess/alps/ess_alps.h" - -extern orte_ess_base_module_t orte_ess_alps_module; - -/* - * Instantiate the public struct with all of our public information - * and pointers to our public functions in it - */ -orte_ess_base_component_t mca_ess_alps_component = { - /* First, the mca_component_t struct containing meta information - about the component itself */ - { - ORTE_ESS_BASE_VERSION_3_0_0, - - /* Component name and version */ - "alps", - ORTE_MAJOR_VERSION, - ORTE_MINOR_VERSION, - ORTE_RELEASE_VERSION, - - /* Component open and close functions */ - orte_ess_alps_component_open, - orte_ess_alps_component_close, - orte_ess_alps_component_query - }, - { - /* The component is not checkpoint ready */ - MCA_BASE_METADATA_PARAM_NONE - } -}; - -int -orte_ess_alps_component_open(void) -{ - return ORTE_SUCCESS; -} - -int orte_ess_alps_component_query(mca_base_module_t **module, int *priority) -{ - /* we only build if CNOS support is available, so select us */ - *priority = 35; - *module = (mca_base_module_t *)&orte_ess_alps_module; - return ORTE_SUCCESS; -} - -int -orte_ess_alps_component_close(void) -{ - return ORTE_SUCCESS; -} - diff --git a/orte/mca/ess/alps/ess_alps_module.c b/orte/mca/ess/alps/ess_alps_module.c deleted file mode 100644 index 014f534f7b..0000000000 --- a/orte/mca/ess/alps/ess_alps_module.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2011 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2011-2013 Los Alamos National Security, LLC. - * All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - * - */ - -#include "orte_config.h" -#include "orte/constants.h" - -#if defined(HAVE_CNOS_MPI_OS_H) -#include "cnos_mpi_os.h" -#elif defined(HAVE_CATAMOUNT_CNOS_MPI_OS_H) -#include "catamount/cnos_mpi_os.h" -#endif - -#include "orte/util/show_help.h" -#include "opal/util/argv.h" - -#include "orte/util/proc_info.h" -#include "orte/mca/errmgr/base/base.h" -#include "orte/util/name_fns.h" -#include "orte/util/regex.h" -#include "orte/runtime/orte_globals.h" - -#include "orte/mca/ess/ess.h" -#include "orte/mca/ess/base/base.h" -#include "orte/mca/ess/alps/ess_alps.h" - -#include - -static int alps_set_name(void); -static int rte_init(void); -static int rte_finalize(void); - -orte_ess_base_module_t orte_ess_alps_module = { - rte_init, - rte_finalize, - orte_ess_base_app_abort, - NULL /* ft_event */ -}; - -/* Local variables */ -static orte_vpid_t starting_vpid = 0; - -static int rte_init(void) -{ - int ret, i; - char *error = NULL; - char **hosts = NULL; - - /* run the prolog */ - if (ORTE_SUCCESS != (ret = orte_ess_base_std_prolog())) { - error = "orte_ess_base_std_prolog"; - goto error; - } - - /* Start by getting a unique name */ - alps_set_name(); - - /* if I am a daemon, complete my setup using the - * default procedure - */ - if (ORTE_PROC_IS_DAEMON) { - if (NULL != orte_node_regex) { - /* extract the nodes */ - if (ORTE_SUCCESS != (ret = - orte_regex_extract_node_names(orte_node_regex, &hosts)) || - NULL == hosts) { - error = "orte_regex_extract_node_names"; - goto error; - } - - /* find our host in the list */ - for (i=0; NULL != hosts[i]; i++) { - if (0 == strncmp(hosts[i], orte_process_info.nodename, - strlen(hosts[i]))) { - /* correct our vpid */ - ORTE_PROC_MY_NAME->vpid = starting_vpid + i; - OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output, - "ess:alps reset name to %s", - ORTE_NAME_PRINT(ORTE_PROC_MY_NAME))); - break; - } - } - } - if (ORTE_SUCCESS != (ret = orte_ess_base_orted_setup(hosts))) { - ORTE_ERROR_LOG(ret); - error = "orte_ess_base_orted_setup"; - goto error; - } - opal_argv_free(hosts); - return ORTE_SUCCESS; - } - if (ORTE_PROC_IS_TOOL) { - /* otherwise, if I am a tool proc, use that procedure */ - if (ORTE_SUCCESS != (ret = orte_ess_base_tool_setup())) { - ORTE_ERROR_LOG(ret); - error = "orte_ess_base_tool_setup"; - goto error; - } - return ORTE_SUCCESS; - } - - /* otherwise, I must be a direct-launched application process - if - * we were selected, then PMI isn't available and we cannot - * possibly run - */ - - return ORTE_ERR_NOT_SUPPORTED; - -error: - if (ORTE_ERR_SILENT != ret && !orte_report_silent_errors) { - orte_show_help("help-orte-runtime.txt", - "orte_init:startup:internal-failure", - true, error, ORTE_ERROR_NAME(ret), ret); - } - - return ret; -} - -static int rte_finalize(void) -{ - int ret; - - /* if I am a daemon, finalize using the default procedure */ - if (ORTE_PROC_IS_DAEMON) { - if (ORTE_SUCCESS != (ret = orte_ess_base_orted_finalize())) { - ORTE_ERROR_LOG(ret); - } - return ret; - } else if (ORTE_PROC_IS_TOOL) { - /* otherwise, if I am a tool proc, use that procedure */ - if (ORTE_SUCCESS != (ret = orte_ess_base_tool_finalize())) { - ORTE_ERROR_LOG(ret); - } - return ret; - } - return ORTE_SUCCESS; -} - -static char *orte_ess_alps_jobid = NULL; - -static int alps_set_name(void) -{ - int rc; - orte_jobid_t jobid; - - OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output, - "ess:alps setting name")); - - if (NULL == orte_ess_base_jobid) { - ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND); - return ORTE_ERR_NOT_FOUND; - } - if (ORTE_SUCCESS != (rc = orte_util_convert_string_to_jobid(&jobid, orte_ess_base_jobid))) { - ORTE_ERROR_LOG(rc); - return rc; - } - - if (NULL == orte_ess_base_vpid) { - ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND); - return ORTE_ERR_NOT_FOUND; - } - if (ORTE_SUCCESS != (rc = orte_util_convert_string_to_vpid(&starting_vpid, - orte_ess_base_vpid))) { - ORTE_ERROR_LOG(rc); - return(rc); - } - - ORTE_PROC_MY_NAME->jobid = jobid; - ORTE_PROC_MY_NAME->vpid = (orte_vpid_t)cnos_get_rank() + starting_vpid; - - OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output, - "ess:alps set name to %s", - ORTE_NAME_PRINT(ORTE_PROC_MY_NAME))); - - /* get the num procs as provided in the cmd line param */ - if (ORTE_SUCCESS != (rc = orte_ess_env_get())) { - ORTE_ERROR_LOG(rc); - return rc; - } - - if (orte_process_info.max_procs < orte_process_info.num_procs) { - orte_process_info.max_procs = orte_process_info.num_procs; - } - - return ORTE_SUCCESS; -}