blob: e147ea133916bbc5f2c646dccf9de3d0634d025f [file] [log] [blame]
%
% Licensed to the Apache Software Foundation (ASF) under one
% or more contributor license agreements. See the NOTICE file
% distributed with this work for additional information
% regarding copyright ownership. The ASF licenses this file
% to you under the Apache License, Version 2.0 (the
% "License"); you may not use this file except in compliance
% with the License. You may obtain a copy of the License at
%
% http://www.apache.org/licenses/LICENSE-2.0
%
% Unless required by applicable law or agreed to in writing,
% software distributed under the License is distributed on an
% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
% KIND, either express or implied. See the License for the
% specific language governing permissions and limitations
% under the License.
%
% Create well-known link to this spot for HTML version
\ifpdf
\else
\HCode{<a name='DUCC_CLI_RESERVE'></a>}
\fi
\section{ducc\_reserve}
\paragraph{Description:}
The reserve CLI is used to request a reservation of resources. Reservations can be for machines
based on memory requirements. All reservations are persistent:
the resources remain dedicated to the requester until explicitly returned. All reservations are
performed on an "all-or-nothing" basis: either the entire set of requested resources is reserved,
or the reservation request fails.
All forms of ducc\_reserve block until the reservation is complete (or fails) at which point the DUCC
ID of the reservation and the names of the reserved nodes are printed to the console and the
command returns.
\paragraph{Usage:}
\begin{description}
\item[Script wrapper] \ducchome/bin/ducc\_reserve {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-cli.jar org.apache.uima.ducc.cli.DuccReservationSubmit {\em options}
\end{description}
\paragraph{Options:}
\begin{description}
\item[$--$cancel\_on\_interrupt] If specified, the request is monitored
and will be canceled if the reserve command is interrupted, e.g. with CTRL-C.
This option always implies $--$wait\_for\_completion.
\item[$--$debug ]
Prints internal debugging information, intended for DUCC developers or extended problem determination.
\item[$--$description {[text]}]
The text is any string used to describe the reservation. It is displayed in the Web Server.
\item[$--$help ]
Prints the usage text to the console.
\item[$--$memory\_size {[integer]}]
This specifies the amount of memory the reserved machine must support. After rounding
up it must match the total usable memory on the machine. (Required)
Alias: $--$instance\_memory\_size
\item[$--$scheduling\_class {[classname]}]
This specifies the name of the scheduling class used to determine the resource
allocation for each process. It must be one implementing the RESERVE policy.
If not specified, the RESERVE default is taken from the site class definitions file
described \hyperref[subsubsec:class.configuration]{here.}
\item[$-$f, $--$specification {[file]}]
All the parameters used to request a reservation may be placed in a standard Java
properties file. This file may then be used to submit the request (rather than providing all
the parameters directory to submit).
\item[$--$timestamp ]
If specified, messages from the submit process are timestamped. This is intended primarily
for use with a monitor with --wait\_for\_completion.
\item[$--$wait\_for\_completion ]
By default, the reserve command monitors the request and prints periodic
state and progress information to the console. When the reservation completes, the monitor
is terminated and the reserve command returns. If the command is interrupted, e.g. with CTRL-C,
the request will not be canceled unless $--$cancel\_on\_interrupt is also specified.
If this option is disabled by specifying a value of ``false'', the command returns as
soon as the request has been submitted.
\end{description}
\paragraph{Notes:}
Reservations must be for entire machines, in a job class implementing the RESERVE scheduling
policy. The default DUCC distribution configures class {\em reserve} for entire machine
reservations. If there is no available machine in that class matching the requested size (after
rounding up) the request is queued. The user may cancel the request with {\em ducc\_unreserve}
or with CTRL-C if $--$cancel\_on\_interrupt was specified.