AT3=${stagedir}/sbin/glite-lb-at3
INSTALL=install
-default all: generate LBUG.pdf LBAG.pdf LBDG.pdf
+default all: generate LBUG.pdf LBAG.pdf LBDG.pdf LBTP.pdf
generate: events.tex status.tex
chmod -w $@ >/dev/null
install:
- -mkdir -p ${PREFIX}/share/doc/${package}-${version}
+ -mkdir -p ${PREFIX}/share/doc/${package}-${version}/examples
$(INSTALL) -m 644 ${top_srcdir}/LICENSE ${PREFIX}/share/doc/${package}-${version}
$(INSTALL) -m 644 ${top_srcdir}/src/README ${PREFIX}/share/doc/${package}-${version}
$(INSTALL) -m 644 LBUG.pdf ${PREFIX}/share/doc/${package}-${version}
$(INSTALL) -m 644 LBAG.pdf ${PREFIX}/share/doc/${package}-${version}
$(INSTALL) -m 644 LBDG.pdf ${PREFIX}/share/doc/${package}-${version}
- -mkdir -p ${PREFIX}/share/examples/dg
-# michal: install DG example sources
+# install DG example sources
for p in ${top_srcdir}/examples/*; do \
- ${INSTALL} -m 644 "$$p" "${PREFIX}/share/examples/dg"; \
+# ${INSTALL} -m 644 "$$p" "${PREFIX}/share/examples/dg"; \
+ ${INSTALL} -m 644 "$$p" "${PREFIX}/share/doc/${package}-${version}/examples"; \
done
clean:
- rm -rvf LBUG* LBAG* LBDG* events.tex status.tex
+ rm -rvf LBUG* LBAG* LBDG* LBTP* events.tex status.tex comment*
rm -rvf log.xml project/ rpmbuild/ RPMS/ tgz/
# dependencies:
-LBUG.pdf: LBUG.tex \
+common: copyright.tex \
+ definitions.tex \
+ egee.cls \
+ frontmatter.tex \
+ lbjp.bib \
+ versions.tex
+
+LBUG.pdf: common \
+ LBUG.tex \
LBUG-Introduction.tex components.tex \
LBUG-Tools.tex logevent.tex notify.tex \
LBUG-UseCases.tex log_usertag.tex change_acl.tex \
LBUG-Appendix.tex events.tex status.tex
-LBAG.pdf: LBAG.tex \
+LBAG.pdf: common \
+ LBAG.tex \
LBAG-Introduction.tex components.tex \
LBAG-Installation.tex \
LBAG-Running.tex
-LBDG.pdf: LBDG.tex \
+LBDG.pdf: common \
+ LBDG.tex \
LBDG-Introduction.tex \
producer_api.tex \
consumer_api.tex \
notification_api.tex \
web_services.tex
-.PHONY: all clean
+LBTP.pdf: common \
+ LBTP.tex \
+ LBTP-Introduction.tex \
+ LBTP-Tests.tex \
+ LBTP-PerfTests.tex
+
+.PHONY: all clean common
\TODO{ljocha: get something from the old testing docs}
Thorough tests of \LB, including performance measurement, are
-covered in a~specialized document~\cite{testplan}.
+covered in the \LB Test Plan document \cite{lbtp}.
This section describes only elementary tests that verify basic
functionality of the services.
\documentclass{egee}
-%\usepackage{doxygen}
+\def\insideAG{}
\input{definitions}
\title{Logging and Bookkeeping}
\Subtitle{Administrator's Guide}
-\author{CESNET EGEE II JRA1 team}
-\DocIdentifier{EGEE-II....}
+\author{CESNET EGEE III JRA1 and SA3 team}
+\DocIdentifier{EGEE-III....}
\Date{\today}
-\Activity{JRA1: Middleware Engineering and Integration}
+\Activity{JRA1: Middleware Engineering}
\DocStatus{DRAFT}
\Dissemination{PUBLIC}
\DocumentLink{http://...}
\section{Introduction}
+\input{versions}
+
This document is intented to guide the reader through basic steps
of writing, compiling and running programs communicating with the \LB
service using the \LB library. It is not intended as a complete API
\marginpar{Recommended reading}
Before you start reading this guide, it is recommended to accomodate
yourself with the \LB architecture described in the first part of the
-\LB user's guide (\cite{LBUG}).
+\LB user's guide (\cite{lbug}).
-\input versions
\subsection{General Guidelines}
For use with the \emph{producer} calls (see section~\ref{s:producer})
the context has to be assigned a~single \jobid (with the
\lstinline'edg_wll_SetLoggingJob' call), and keeps track of an event
-\emph{sequence code} for the job (see~\cite{LBUG}, detailed
+\emph{sequence code} for the job (see~\cite{lbug}, detailed
description in~\cite{lbarch}).
The context object and its API functions are described more thoroughly
\subsection{Job Identification}
The primary entity of \LB is a job, identified by JobId -- a unique
-identifier of the job (see also \cite{LBUG}). The type representing
+identifier of the job (see also \cite{lbug}). The type representing
the JobId is opaque, it's contents is hidden to the API users and
should be manipulated with the access methods only.
% -*- mode: latex -*-
\documentclass{egee}
+\def\insideDG{}
\input{definitions}
\def\LB{LB\xspace}
\title{Logging and Bookkeeping}
\Subtitle{Developer's Guide}
-\author{CESNET EGEE II JRA1 team}
-\DocIdentifier{EGEE-II....}
+\author{CESNET EGEE III JRA1 and SA3 team}
+\DocIdentifier{EGEE-III....}
\Date{\today}
-\Activity{JRA1: Middleware Engineering and Integration}
+\Activity{JRA1: Middleware Engineering}
\DocStatus{DRAFT}
\Dissemination{PUBLIC}
\DocumentLink{http://...}
--- /dev/null
+\section{Introduction}
+
+\input{versions}
+
+This document explains how to test the \LB service. Tests are described at six different layers, from elementary tests
+if the service is up and running, through tests of the fully supported functionality,
+performance and stress tests to interoperability tests.
+
+\TODO{add some more introduction}
+
+
+\subsection{Test Categories}
+Several layers of tests are considered:
+
+\begin{description}
+\item[Layer 1 - service ping tests:] Basic test if a service is up and running.
+\item[Layer 2 - service functionality tests:] Test the fully supported functionality of a service. This includes also service interface tests.
+\item[Layer 3 - system tests:] Test a complete system that traverses multiple services.
+\item[Layer 4 - stress tests:] Stress test services and systems (including long running jobs to check for resource leaks).
+\item[Layer 5 - performance tests:] Test performance of the service (including the MegaJob results).
+\item[Layer 6 - interoperability tests:] Test for interoperability with other grids (might be interactive).
+\end{description}
+
+
+\subsection{Test Coverage}
+\TODO{unit tests?}
+
+
+\subsection{Tests in \texttt{org.glite.testsuites.ctb/LB}}
+\TODO{implementation}
+
+
+\subsection{Integration into other frameworks}
+\TODO{SAM, Nagios, ETICS, ...}
-\documentclass{egee}
-\usepackage{comment}
+\section{Performance and Stress Tests}
-\def\LB{L\&B}
-
-\title{\LB\ Performance Test Plan}
-\author{CESNET EGEE JRA1 team}
-\DocIdentifier{EGEE-JRA1-??}
-\Date{\today}
-\Activity{JRA1: Middleware Engineering and Integration}
-\DocStatus{DRAFT}
-\Dissemination{PUBLIC}
-\DocumentLink{}
-
-%\def\req{\noindent\textbf{Prerequisities:}}
-%\def\how{\noindent\textbf{How to run:}}
-%\def\result{\noindent\textbf{Expected result:}}
-
-\def\path#1{{\normalfont\textsf{#1}}}
-\def\code#1{\texttt{#1}}
-\def\todo#1{\textbf{TODO:} #1}
-
-\begin{document}
-
-\input{frontmatter}
-\newpage
-\tableofcontents
-\newpage
-
-\section{Rationale}
-\todo{}
+In this section we describe tests from layers 4 (stress tests) and 5 (performance tests).
+\TODO{review, reformat plus add megaJob results}
\begin{verbatim}
-
-L&B Performance Testing
-=======================
-
- all source modifications for tests are in CVS, conditionaly compiled
only with appropriate symbol
job throughput from throughput of selected types of events?
+
I) Component tests
***************
- tests of the isolated components on one node
- may require binaries from other components to produce/consume events
---------------------
-Logging library test
---------------------
+\end{verbatim}
+
+%--------------------
+\subsection{Logging library test}
+%--------------------
+\begin{verbatim}
* component:
org.glite.lb.client
small DAG
big DAG
+\end{verbatim}
-----------------
-Locallogger test
-----------------
+% ----------------
+\subsection{Locallogger test}
+% ----------------
+\begin{verbatim}
* component:
org.glite.lb.logger
d)
+\end{verbatim}
-----------------
-Interlogger test
-----------------
+% ----------------
+\subsection{Interlogger test}
+% ----------------
+\begin{verbatim}
* component:
org.glite.lb.logger
d)
e)
+\end{verbatim}
-------------
-LBProxy test
-------------
+% ------------
+\subsection{LBProxy test}
+% ------------
+\begin{verbatim}
* component:
org.glite.lb.proxy
iii)
iv)
v)
+\end{verbatim}
+%--------------
+\subsection{LB server test}
+% --------------
---------------
-LB server test
---------------
+\begin{verbatim}
* component:
org.glite.lb.server
iii)
iv)
+\end{verbatim}
+% ---------------------
+\subsection{Job registration test}
+% ---------------------
----------------------
-Job registration test
----------------------
-
+\begin{verbatim}
* component:
org.glite.lb.server
org.glite.lb.proxy
i)
-
\end{verbatim}
-\end{document}
\ No newline at end of file
-\documentclass{egee}
-\usepackage{comment}
-
-\def\LB{L\&B}
-
-\title{\LB\ Test Plan}
-\author{CESNET EGEE JRA1 team}
-\DocIdentifier{EGEE-JRA1-??}
-\Date{\today}
-\Activity{JRA1: Middleware Engineering and Integration}
-\DocStatus{DRAFT}
-\Dissemination{PUBLIC}
-\DocumentLink{}
-
-\def\req{\noindent\textbf{Prerequisities:}}
-\def\how{\noindent\textbf{How to run:}}
-\def\result{\noindent\textbf{Expected result:}}
-
-\def\path#1{{\normalfont\textsf{#1}}}
-\def\code#1{\texttt{#1}}
-
-\def\todo#1{\textbf{TODO:} #1}
-
-
-\specialcomment{hints}{\par\noindent\textbf{Hints: }\begingroup\slshape}{\endgroup}
-%\includecomment{hints}
-
-\begin{document}
-
-\input{frontmatter}
-\newpage
-\tableofcontents
-\newpage
+\section{Test Cases}
-\section{Rationale}
-\todo{}
+In this section we describe tests from layers 2 (service functionality tests)
+and 3 (system tests).
-\section{Test Coverage}
-\todo{}
+\TODO{completely review}
-\section{Test Cases}
\subsection{Event delivery}
\end{hints}
\subsubsection{DAG job states}
-\todo{}
+\TODO{}
% specialni stav DAGu, histogram potomku
\subsection{LB proxy}
The example \path{glite-lb-test\_purge} does exactly this sequence of steps,
including the checks.
\end{hints}
-
-
-\end{document}
--- /dev/null
+\documentclass{egee}
+\def\insideTP{}
+
+\input{definitions}
+
+\title{Logging and Bookkeeping}
+\Subtitle{Test Plan}
+\author{CESNET EGEE III JRA1 and SA3 team}
+\DocIdentifier{EGEE-III....}
+\Date{\today}
+\Activity{SA3: Integration, Testing and Certification}
+\DocStatus{DRAFT}
+\Dissemination{PUBLIC}
+\DocumentLink{http://...}
+
+\Abstract{This document explains how to test the Logging and Bookkeeping
+(\LB) service. Tests are described at six different layers, from elementary tests
+if the service is up and running, through tests of the fully supported functionality,
+performance and stress tests to interoperability tests.}
+
+\begin{document}
+
+\input{frontmatter}
+\tableofcontents
+
+\newpage
+\input{LBTP-Introduction}
+
+\newpage
+\input{LBTP-Tests}
+
+\newpage
+\input{LBTP-PerfTests}
+
+%\appendix
+%\newpage
+%\input{LBTP-Appendix}
+
+\newpage
+\bibliographystyle{unsrt}
+\bibliography{lbjp}
+
+\end{document}
+
\section{\LB Architecture}
\input versions
+
%historie: vyrobeno pro WMS v EDG, 1. a 2. verze (seq. èísla,
%cache a dotazy na stavy), v EGEE gLite---ustabilnìní, proxy
-The Logging and Bookkeeping service (\LB\ for short) was initially
-developed in the EU DataGrid
-project\footnote{\url{http://eu-datagrid.web.cern.ch/eu-datagrid/}}
-as a~part of the
-Workload Management System (WMS).
-The development continues in the EGEE and EGEE-II projects,
-where \LB became an independent part of the gLite middleware~\cite{glite}.
-
\LB's primary purpose is tracking WMS jobs as they are processed by
individual Grid components, not counting on the WMS to provide this data.
The information gathered from individual sources is collected, stored in
\section{User tools}
\label{s:lb-tools}
-\TODO{vytahnout WMS-UI do zvlastni kapitolky}
+\TODO{honik: vytahnout WMS-UI do zvlastni kapitolky}
In this section we give a description of the tools that are installed
together with the \verb'glite-lb-client' RPM. These tools are \LB-specific.
\title{Logging and Bookkeeping}
\Subtitle{User's Guide}
-\author{CESNET EGEE II JRA1 team}
-\DocIdentifier{EGEE-II....}
+\author{CESNET EGEE III JRA1 and SA3 team}
+\DocIdentifier{EGEE-III....}
\Date{\today}
-\Activity{JRA1: Middleware Engineering and Integration}
+\Activity{JRA1: Middleware Engineering}
\DocStatus{DRAFT}
\Dissemination{PUBLIC}
\DocumentLink{http://...}
LBUG.pdf - Logging and Bookkeeping User's Guide
LBAG.pdf - Logging and Bookkeeping Admin's Guide
LBDG.pdf - Logging and Bookkeeping Developer's Guide
+LBTP.pdf - Logging and Bookkeeping Test Plan
Please, report all bugs to EU EGEE Bug Tracking System located at
https://savannah.cern.ch/bugs/?func=additem&group=jra1mdw
+% external packages
\usepackage{xspace}
\usepackage{ifthen}
-%\usepackage{doxygen}
+\usepackage{comment}
+% useful definitions
\def\LB{L\&B\xspace}
-\def\LBnew{LB version 2.0\xspace}
-\def\LBold{LB version 1.x\xspace}
+\def\LBnew{\LB version 2.0\xspace}
+\def\LBold{\LB version 1.x\xspace}
\def\JP{JP\xspace}
%\def\eg{e.\,g.}
\def\eg{for example\xspace}
\def\wrt{with respect to\xspace}
\def\Dash{---\penalty-1000}
+\def\req{\noindent\textbf{Prerequisities:}}
+\def\how{\noindent\textbf{How to run:}}
+\def\result{\noindent\textbf{Expected result:}}
+\def\path#1{{\normalfont\textsf{#1}}}
+\def\code#1{\texttt{#1}}
+
+\specialcomment{hints}{\par\noindent\textbf{Hints: }\begingroup\slshape}{\endgroup}
+%\includecomment{hints}
+
\long\def\TODO#1{\par\noindent\textbf{TODO:} {\sl#1}\par}
\long\def\ludek#1{}
% $Id$
%
% $Log$
+% Revision 1.1.1.1 2007/11/13 17:42:10 jpospi
+% initial import
+%
% Revision 1.13 2004/08/31 19:24:27 szamsu
% Fixing overfull problem in page headers. Saving the logo and reusing it later, instead of loading in again.
%
%
% common constants
%
-\def\ISTNumber{INFSO-RI-508833}
+\def\ISTNumber{INFSO-RI-222667}
\newsavebox{\@EGEELogo}
\savebox{\@EGEELogo}{\includegraphics[height=0.75\headheight]{egee}}
\def\EGEELogo{\usebox{\@EGEELogo}}
\hline
& {\bf Name} & {\bf Partner} & {\bf Date} & {\bf Signature} \\
\hline
-{\bf From} & & & & \\
+{\bf From} & Ale\v{s} K\v{r}enek & CESNET & August 1, 2008 & \\
\hline
{\bf Reviewed by} & & & & \\
\begin{tabularx}{\textwidth}{|l|l|X|X|}
\hline
{\bf Issue } & {\bf Date } & {\bf Comment } & {\bf Author } \\ \hline
+1.0.0 & August 1, 2008 & Initial version & CESNET team \\
\hline
\end{tabularx}
title = "{L\&B User's Guide}",
howpublished = "\url{https://edms.cern.ch/file/571273/1/LB-guide.pdf}"
}
+
@Misc{ lbdg,
author = "A. K\v{r}enek and others",
title = "{L\&B Developer's Guide}",
}
+
@Misc{ lbag,
author = "A. K\v{r}enek and others",
title = "{L\&B Administrator's Guide}",
}
+@Misc{ lbtp,
+ author = "A. K\v{r}enek and others",
+ title = "{L\&B Test Plan}",
+}
+
@Misc{ lcg,
author = "LCG",
title = "{LHC Computing Project (LCG)}",
%\subsection{Versions overview}
-\textbf{Two major versions of \LB service are covered by this document -- \LB
-version 1.x, that is included in gLite 3.1, and current development versions
-2.0. Older version of \LB, that appeared in gLite 3.0 become obsolete and is
-not maintained anymore.}
+The Logging and Bookkeeping service (\LB\ for short) was initially developed in
+the EU DataGrid
+project\footnote{\url{http://eu-datagrid.web.cern.ch/eu-datagrid/}} as a~part
+of the Workload Management System (WMS). The development continued in the EGEE,
+EGEE-II and EGEE-III projects\footnote{\url{http://www.eu-egee.org/}}, where
+\LB became an independent part of the
+gLite\footnote{\url{http://www.glite.org}} middleware~\cite{glite}.
+
+\textbf{Two major versions of \LB service are covered by this document -- \LBold,
+that is included in gLite 3.1, and current development \LBnew. Older version of \LB,
+that appeared in gLite 3.0 become obsolete and is not maintained anymore.}
+
+The complete \LB Documentation consists of the following parts:
+\begin{itemize}
+\item \LB User's Guide \ifx\insideUG\undefined{\cite{lbug}}\else{- this document}\fi,
+\item \LB Administrator's Guide \ifx\insideAG\undefined{\cite{lbag}}\else{- this document}\fi,
+\item \LB Developer's Guide \ifx\insideDG\undefined{\cite{lbdg}}\else{- this document}\fi,
+\item \LB Test Plan \ifx\insideTP\undefined{\cite{lbtp}}\else{- this document}\fi.
+\end{itemize}
-\TODO{mozna text oznaceny "19only" je jen pro verzi 1.x ....}
+++ /dev/null
-%
-% Official text received on October 6, 2004
-%
-\vfill{\bf Copyright }\copyright{\bf Members of the EGEE Collaboration. 2004.
-See http://eu-egee.org/partners for details on the copyright holders.
-
-EGEE (``Enabling Grids for E-science in Europe'') is a project funded by
-the European Union. For more information on the project, its partners
-and contributors please see http://www.eu-egee.org.
-
-You are permitted to copy and distribute verbatim copies of this
-document containing this copyright notice, but modifying this document
-is not allowed. You are permitted to copy this document in whole or in
-part into other documents if you attach the following reference to the
-copied elements: ``Copyright }\copyright{\bf 2004. Members of the EGEE
-Collaboration. http://www.eu-egee.org''
-
-The information contained in this document represents the views of
-EGEE as of the date they are published. EGEE does not guarantee that
-any information contained herein is error-free, or up to date.
-
-EGEE MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, BY
-PUBLISHING THIS DOCUMENT.}
-
+++ /dev/null
-\begin{center}
-{\bf Delivery Slip}
-\end{center}
-\begin{tabularx}{\textwidth}{|l|l|l|X|X|}
-\hline
- & {\bf Name} & {\bf Partner} & {\bf Date} & {\bf Signature} \\
-\hline
-{\bf From} & Ale\v s K\v{r}enek et al.& CESNET & May 28, 2005 & \\
-\hline
-{\bf Reviewed by} & & & & \\
-
-\hline
-{\bf Approved by} & & & & \\
-\hline
-\end{tabularx}
-
-\begin{center}
-{\bf Document Change Log}
-\end{center}
-
-\begin{tabularx}{\textwidth}{|l|l|X|X|}
-\hline
-{\bf Issue } & {\bf Date } & {\bf Comment } & {\bf Author } \\ \hline
-Initial version & Feb 28, 2005 & & A. K\v{r}enek \\ \hline
-Reviewer's comments & Mar 25, 2005 & comments reflected & A. K\v{r}enek \\
-\hline
-\end{tabularx}
-
-\begin{center}
-{\bf Document Change Record}
-\end{center}
-
-\begin{tabularx}{\textwidth}{|l|l|X|}
-\hline
-{\bf Issue } & {\bf Item } & {\bf Reason for Change } \\ \hline
-
-
-\hline
-\end{tabularx}
-
-\input{copyright}