[Swift-devel] Re: Swift configuration interface
David Kelly
dk0966 at cs.ship.edu
Mon Jun 21 09:49:41 CDT 2010
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)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/swift-devel/attachments/20100621/2fc7f8e6/attachment.html>
More information about the Swift-devel
mailing list