Table of Contents
This guide contains advanced configuration information for system administrators working with pyGridWare, the python WS-Core. It provides references to information on procedures typically performed by system administrators, including installation, configuring, deploying, and testing the installation.
![]() | Important |
---|---|
This information is in addition to the basic Globus Toolkit prerequisite, overview, installation, security configuration instructions in the GT 4.0 System Administrator's Guide. Read through this guide before continuing! |
Required (Use newest version if possible):
Optional: WS-Security: XML Digital Signatures, Secure Conversation, etc.
- pyGlobus Python Wrapper for GT2, needs security and utility modules.
- Globus 2 Security and utility packages.
Untar the tarball or grab the CVS source, run pyGridWare distutils setup script, optionally regenerate all bindings.
- Do one of the following:
Untar tarball:
%tar zxf pyGridWare-1.04b.tar.gz
Grab the CVS source:
%cvs -d :pserver:[email protected]:/home/portnoy/u5/repository co login %cvs -d :pserver:[email protected]:/home/portnoy/u5/repository co pyGridWare
Change directory
%cd pyGridWare
Run distutils
%python setup.py --regenerate install
If you want Message Level Security, build the GT2 libraries with a threaded flavor. You can install any GT3 All Source installer bundles. Directions for installing GT 3.2 can be found here.
To build pyGlobus:
- Set the environment variables GLOBUS_LOCATION and GPT_LOCATION to the location of the globus installation.
Run the pyGlobus distutils setup script:
%python setup.py install
There are two configuration files:
Read by the distutils setup script when "regenerate" is specified. This is where all service WSDLs are specified. When setup is run, bindings will be created automatically.
[WSDL] CounterService = share/schema/core/samples/counter/counter_service.wsdl
Run the container script
Change to bin directory
%cd bin
Edit the file
server-config.tac
by adding or removing resources:def GetResource(contextFactory=None): root = Resource() root.putChild('wsrf', Resource()) resource = Resource() root.getStaticEntity('wsrf').putChild('services', resource) resource.putChild('CounterService', Counter(post='/wsrf/services/CounterService'))
Run the start container script:
%./start-container.sh
Individual services can be configured with or without message security, but transport security is a characteristic of the entire container (either using ssl or plain tcp). Authentication and authorization of clients is performed using a callback mechanism.
Simply edit the file config.txt
where the executable is being
run and turn on ssl.
By default, pyGridWare will look in the user's home directory
for the .globus/usercert.pem
and .globus/userkey.pem
files.
To use the grid proxy generated by grid-proxy-init
, just specify
the /tmp/x509***
as
the certfile and keyfile.
Example pyGridWare/bin/config.txt
[security] ssl = 1 certfile = keyfile =
- Make sure all dependencies are met.
- Building and installing problems:
- python-2.3 problems
We have recently discovered a problem running the distutils
--regenerate
that is caused by a bug in "urllib.basejoin". This is fixed in python2.4. ZSI needs to be patched to fix this problem in python-2.3.