blob: 365b42c10c59b7ab237d547ec7d3bb627af9eb86 [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.
%
\subsection{User Interface (UI)}
There is one \varUserInterface~per \varDUCC~cluster.
The duties of the \varUserInterface~are:
\textit{
\input{part5/c01-UI.tex}
}
The \varUserInterface~provides essential functionality for operation of the
\varDUCC~system.
It comprises:
\begin{itemize}
\item Application Program Interface (API)
\item Command Line Interface (CLI)
\end{itemize}
The \varUserInterface~facilities user and administrator operation of the \varDUCC system.
Supported operations in create, retrieve, update, and modify.
The \varUserInterface~is subdivided into several responsibility areas:
\begin{itemize}
\item API
\item CLI
\item AIO
\item WS
\item JSON
\end{itemize}
\subsubsection{API}
Provide application program interface to the \varDUCC~system comprising the ability
to manage \varJobs, \varReservations~ and \varServices.
See \ref{CLI} CLI.
\subsubsection{CLI}
\label{CLI}
Provide command line interface to the \varDUCC~system comprising the ability
to manage \varJobs, \varReservations~ and \varServices.
\begin{itemize}
\item{Submit Job}
\item{Submit Reservation}
\item{Submit Service}
\item{Cancel Job}
\item{Cancel Reservation}
\item{Cancel Service}
\item{Modify Job}
\item{Modify Reservation}
\item{Modify Service}
\item{Query Job}
\item{Query Reservation}
\item{Query Service}
\end{itemize}
\subsubsection{AIO}
Provide test and debugging support in preparation for distributed deployment to the
\varDUCC~system.
\begin{itemize}
\item{All-In-One}
\begin{description}
\item Create a process comprising a user submitted \varJob.
\item Install the equivalent of a \varJobDriver.
\item Install the equivalent of a \varJobProcess.
\item Process all work items.
\end{description}
\item{All-In-One Launcher}
\begin{description}
\item Launch an All-In-One process locally or remotely, according to user specification.
\end{description}
\item{CAS Generator}
\begin{description}
\item Employ the user specified \varCollectionReader~ to produce \varWorkItems.
\end{description}
\item{CAS Pipeline}
\begin{description}
\item Employ the user specified \varAnalysisEngine~ to process \varWorkItems.
\end{description}
\item{DD PArser}
\begin{description}
\item Parse the user specified Deployment Descriptor.
\item Extract the \varImport~name.
\end{description}
\item{Message Handler}
\begin{description}
\item User replaceable message handlers for info, debug, error, trace, etc.
\end{description}
\end{itemize}
\subsubsection{WS}
\begin{itemize}
\item{Query Machines}
\begin{description}
\item Fetch Machine facts.
\end{description}
\item{Query Reservation Facts}
\begin{description}
\item Fetch Reservation facts.
\end{description}
\item{Query}
\begin{description}
\item Fetch node facts.
\end{description}
\end{itemize}
\subsubsection{JSON}
\begin{itemize}
\item{Machine Facts}
\begin{description}
\item Provide information management with respect to each \varNodeMachineComputer~in the \varDUCC~cluster, comprising
status, ip, name, reserve, memory, swap, aliens, sharesTotal, sharesInuse, and heartbeat.
\end{description}
\item{Reservation Facts}
\begin{description}
\item Provide information management with respect to each \varReservation~in the \varDUCC~cluster, comprising
id, start, end, user, rclass, state, reason, allocation, userProcesses, size, list, and description.
\end{description}
\item{Node Facts}
\begin{description}
\item Provide information management with respect to each \varNodeMachineComputer~in the \varDUCC~cluster, comprising
a list of nodes and corresponding PIDs.
\end{description}
\end{itemize}