Monday, January 28, 2008

glite-api-wrapper v3

Yesterday I have released GAW v.3.

Most of the attention during this sprint was concentrated on the Catalog Manager. It has been slightly redesigned and improved. Now it is way much easier to use GAW, to support it and to extend it. Usage of the gLite LFC catalog became dramatically easier with this version of GAW.
Just a couple of examples:
#1 Changing LFC current directory to "/grid/dech"
CGLiteAPIWrapper::Instance().Init();
CCatalogManager * pCatalog( &CGLiteAPIWrapper::Instance().GetCatalogManager() );
gaw_lfc_cwd cwd;
cwd.m_dir = "/grid/dech";
pCatalog->Run( cwd );
#2 or retrieving the current LFC directory
string sRetVal;
gaw_lfc_pwd pwd;
pCatalog->Run( pwd, &sRetVal );
cout << "---> Current catalog directory: " << sRetVal << endl;
#3 or list current LFC directory to a container
LFCHelper::LFCFileInfoVector_t file_list;
gaw_lfc_ls ls;
ls.m_dir = "/grid/dech";
pCatalog->Run( ls, &file_list );
or to the stdout
gaw_lfc_sls ls;
ls.m_dir = "/grid/dgtest";
cout << "---> Listing directory: " << ls.m_dir << endl;
pCatalog->Run( ls, &cout );
more examples one can fined here

Also, this version of GAW got a redesigned XML configuration file with a schema.
Additionally the version includes a number of cosmetic changes and an updated source documentation.

supported features
  • Workload Management System operations:
    • job submission - normal, DAG and parametric jobs (gLite WMProxy API),
    • smart look-up algorithm for WMP-Endpoints,
    • job status querying (gLite LB API),
    • job output retrieving (Globus GridFTP).
  • File Catalog operations (gLite/LCG LFC API):
    • smart session manager,
    • set/query the current working catalog directory,
    • list files, directories and their stats,
    • add/remove files in a catalog namespace,
    • add/remove directories,
    • add/remove replicas from a given file.
  • An executive logging.
  • Support of an external xml configuration file with according XML schema.

No comments: