SCIDAC SSS Build and Configuration Management Update 022002

SCIDAC SSS Build and Configuration Management Update 02/2002 Narayan Desai desai@mcs. anl. gov Argonne National Laboratory

Service Directory Status • Works with the basic protocol • Supports multiple registrants of the same service with both the same and different wire protocols • Messages formats are fairly robust • Schemas describing the message types are forthcoming

Service Directory Messages • <Directory. Register> – All components use this when they start up to allow other components to locate them • <Directory. Update> – Components can use to reflect location changes • <Directory. Unregister> – Components use this on shutdown • <Directory. Lookup> – Components find other components with this

SSSlib • Implements wire protocols • Implementations in python and perl already exist, and one is C is forthcoming • Explicitly does not do parsing or processing of XML messages

SSSlib Procedures • Message handling – send_message(service, message, protocol) – receive_message(socket, protocol) • Communication with the Service Directory – sd_register(service, host, port, protocol) – sd_unregister(service, host, port, protocol)

Multilanguage Support • Function prototypes are as similar as possible (examples in python, perl, and C) – send_message(‘process-manager’, xml_text, ’basic’) – send_message(“process-manager”, $xml_text, ”basic”); – send_message(“process-manager”, xml_text, ”basic”);

Multiprotocol Support • Ssslib is designed to allow multiple wire protocols to be implemented • The Perl version supports both the basic wire protocol and a multi-message protocol intended for high-volume users of the information service • Both the Python and Perl versions will support the basic+ wire protocol soon

Node Manager • This component is the primary interface into the build and configuration components • It services all management functions outside components will need

Node Manager Command Set • • • Power up/down node Boot/Halt/Reboot Node Get. Image Node Set. Image Node Rebuild Node Config. Update Node

Node Manager Status • Command set is fairly well understood • Prototype is in development • Message definition is being driven by prototype development

Information Service • It is a scalable data repository • It is not an originator of data, rather a collecting point • It is intended as a clearing house for well formed data from all other components • Data management issues are not handled

Key Value Pairs or Database Subset? • This is a point of contention • Key value pairs have the advantage that they are simple to implement and use basically • DB subset is considerably more efficient for complex commands

Current Approach • A Usage model and messages for the database subset approach have been designed • A schema for data needs to be registered before a data can be stored • After data type registration is completed, data can be stored, retrieved, updated and deleted • Schemas will need to be specified so that data from one component can be used by another

Information Service Status • Messages are designed • Schemas need to be written • The prototype will be fully functional any day now, many functions currently work • Implemented in Perl, the prototype has been tested against components written in Python
- Slides: 14