[Swift-devel] Re: Swift configuration interface

Mihael Hategan hategan at mcs.anl.gov
Mon Jun 21 11:01:06 CDT 2010


Given that the end product is pretty much in XML format, wouldn't it
make more sense to store the information in XML and extract parts of
that?

Mihael

On Mon, 2010-06-21 at 10:49 -0400, David Kelly wrote:
> Hello,
> 
> Here are the plans for a database driven swiftconfig. Data will be
> stored in a SQLite database file stored in the swift/etc. It will
> contain a global information and local information. The global
> information will be a set of common tc entries and site
> configurations. It will include the profile/template information for
> multiple sites. It will be stored in the following tables:
> 
> sqlite> .schema sites_default
> CREATE TABLE sites_default(
>     name varchar(256) primary key, 
>     filesys_provider varchar(256), 
>     filesys_url varchar(256), 
>     execution_provider varchar(256), 
>     execution_url varchar(256), 
>     execution_jobmanager varchar(256), 
>     workdirectory varchar(256)
> );
> 
> sqlite> .schema sites_profiles_default
> CREATE TABLE sites_profiles_default(
>     name varchar(256) primary key, 
>     namespace varchar(256), 
>     key varchar(256), 
>     value varchar(256)
> );
> 
> sqlite> .schema tc_default
> CREATE TABLE tc_default(
>     sitename varchar(256), 
>     transformation varchar(256), 
>     path varchar(256), 
>     installed varchar(256), 
>     platform varchar(256)
> );
> 
> sqlite> .schema tc_profiles_default
> CREATE TABLE tc_profiles_default(
>     name varchar(256), 
>     profile varchar(256)
> );
> 
> This default data will not be modified by swiftconfig, but instead
> serve as a basis for customization. The custom/local information will
> be stored in similar tables, without the "default" suffix (sites,
> sites_profiles, tc, tc_profiles)
> 
> Swiftconfig will generate live configuration files tc.data and
> sites.xml. It will determine the location based on, in this order, a
> specific file location given to swift config, the location identified
> by $SWIFT_HOME, and based on the location of 'swift' in $PATH.
> 
> Here are some examples of how it could run:
> 
> $ swiftconfig add teraport
> This will take data from sites_default and sites_profiles_default,
> generate the XML and add to sites.xml.
> 
> $ swiftconfig set maxtime 5000
> Modify data from local tables, sites_default and sites_profiles,
> regenerate XML and modifiy sites.xml.
> 
> $ swiftconfig remove teraport
> Removes teraport config from sites and sites_profiles (keeping the
> original profile unmodified)
> 
> $ swiftconfig apps convert composite
> Transfers data from tc_default to tc, updates tc.data.
> 
> Writing the application in Python could help resolve some of the
> issues I was having with Perl. Python has all the database, XML (as
> well as web and GUI for later) modules I would need included by
> default, instead of having to include compiled modules like DBI and
> DBD::sqlite in swift/lib.
> 
> Does these changes simplify things enough? Perhaps we could talk more
> about it today on the call (or maybe a separate call, depending on how
> long it would take)
> 
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-devel





More information about the Swift-devel mailing list