| % |
| % 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} |
| |