= TIED Evaluation = The Trial Integration Environment in DETER ([http://fedd.isi.deterlab.net/trac TIED]) software allows users to create experiments across multiple independent resource pools with different access control interfaces. The TIED project completed the software delivery milestone TIED S2.C captured in [http://groups.geni.net/geni/ticket/512 ticket 512]. The milestone is met by the [http://fedd.isi.deterlab.net/trac/wiki/FeddReleaseNodes#Fedd3.01released27Aug2010 Fedd 3.01 ]release. Fedd 3.01 delivers [http://www.protogeni.net/trac/protogeni/wiki/ComponentManagerAPIV2 ProtoGENI CM v2] and [http://groups.geni.net/geni/wiki/GeniApi GENIAPI AM v0.9] features and some bug fixes. Fedd 3.01 release does not change the interface delivered by Fedd 3.0 (released 30 Jun 2010). See [http://fedd.isi.deterlab.net/trac/wiki/FeddReleaseNodes Release Notes] for full feature list. An overview of the [http://fedd.isi.deterlab.net/trac/wiki/FeddAbout DETER Federation Architecture (DFA)] is available that give The Fedd 3.01 release can be found [http://fedd.isi.deterlab.net/trac/wiki/FeddDownload#DownloadingandInstallingthetarfile here] along with instructions to installing the software. After some initial attempts, a new [http://fedd.isi.deterlab.net/trac/wiki/FeddSkelPlugin Plug-in Skeleton] approach was suggested and used for this evaluation. The document provides a step-by-step skeleton fedd, which act as a component manager for some non existent resources, like a GENI API skeleton AM and clearinghouse. Time Frame: This evaluation took place August 30-31, 2010. = TIED Findings = Initial evaluation was run on Ubuntu Karmic, found that in the Ubuntu Karmic repositories one package is too old (m2crypto) and one is too new (ZSI). Karmic uses m2crypto 0.19 there fore the pyasn1 library must be installed. Also during installation found undocumented prere-quisites for swig, libmysqlclient15-dev and setuptools-0.6c9-py2.6.egg that were needed to complete. = TIED How-to = == TIED Ubuntu How-to == Using the [http://groups.geni.net/geni/wiki/TIEDFedd30GIR12 GIR 2.1 Information for Fedd 3.00] notes to validate package. The instruction recommend using [http://www.freebsd.org/ FreeBSD], but since I do not have such a VM submitted a requested and proceeded to start evaluation on Ubuntu Karmic. Software has the following dependencies: * [http://sourceforge.net/projects/swig/files/swig/swig-2.0.0/swig-2.0.0.tar.gz/download swig-2.0.0] * [http://python.org/ python] version 2.4 or later with the following packages: * ZSI version 2.0 or greater * m2crypto version 0.18 or greater (2.0 or greater preferred) * pyasn1 version 0.0.9 or greater (if m2crypto is 0.18) * MySQL-python-1.2.3 * libmysqlclient15-dev package to allows myql python build. 1. Downloaded: * [http://sourceforge.net/projects/pywebsvcs/files/ZSI/ZSI-2.0/ ZSI-2.0.tar.gz] * [http://pypi.python.org/pypi/M2Crypto M2Crypto-0.20.2.tar.gz]. * Ubuntu Karmic repositories only, m2crypto package is too old and ZSI is too new (ZSI). Karmic uses m2crypto 0.19 therefore [http://sourceforge.net/projects/pyasn1/files/pyasn1-devel/0.0.11a/pyasn1-0.0.11a.tar.gz/download pyasn1] must be installed. * [http://sourceforge.net/projects/mysql-python/ MySQLdb] 2. Unpacked and installed the Python packages: ZSI, M2Crypto, pyasn1, and MySQLdb : Note: found that python mysql would not install without a mysql_conf, which is available by installing sudo apt-get install "libmysqlclient15-dev" {{{ $ tar xvzf ZSI-2.0.tar.gz $ tar xvzf M2Crypto-0.20.2.tar.gz $ tar xvzf pyasn1-0.0.11a.tar.gz $ tar xvzf MySQL-python-1.2.3.tar.gz $ cd ZSI-2.0 $ sudo python ./setup.py install $ cd ../M2Crypto-0.20.2/ $ sudo python ./setup.py install $ cd ../pyasn1-0.0.11a $ sudo python ./setup.py install $ cd ../MySQL-python-1.2.3 $ sudo apt-get install "libmysqlclient15-dev" $ vi site.cfg # un-commented and modified line 11 "mysql_config = /usr/bin/mysql_config" $ python setup.py build $ sudo python setup.py install }}} 3. Downloaded the [http://fedd.isi.deterlab.net/trac/attachment/wiki/FeddDownload/fedd-3.01.tar.gz fedd-3.01.tar.gz] file and unpack: {{{ $ tar xvzf fedd-3.01.tar.gz $ cd fedd-3.01 $ sudo python ./setup.py install }}} 4. Create a '''userconf''' directory in a user define path. Create a file userconf/skel.conf {{{ [DEFAULT] # Customize this line base: /usr/local/fedd [access] project_priority: false log_level: debug access_state: %(base)s/skel_access.state accessdb: %(base)s/skel_access certdir: %(base)s/certs userconfdir: %(base)s/userconf maxint: 3 [globals] cert_file: %(base)s/fedd.pem services: 13230 access_type: skel }}} 5a. Create a file userconf/skel_access: {{{ (fedid:b55205ac843c40ce9c9feb3b358bff782ed337fd, testing, guest) -> access, (Local_attr) }}} 5b. Create a certificate representing a fedid {{{ $ /usr/bin/openssl req -text -newkey rsa:1024 -keyout key.pem -nodes -subj /CN=users.gpolab.bbn.com -x509 -days 3650 -out cert.pem $ cat key.pem cert.pem > fedd.pem }}} '''Running the Skeleton Plugin''' Start the Plug-in: {{{ $ python ./fedd.py --config=/home/lnevers/TIED/userconf/skel.conf --debug 01 Sep 10 10:57:38 fedd.access [read_state]: No saved state: Can't open /home/lnevers/TIED/userconf/skel_access.state: [Errno 2] No such file or directory: '/home/lnevers/TIED/userconf/skel_access.state' }}} Using a simple skeleton experiment description: {{{ set ns [new Simulator] source tb_compat.tcl set a [$ns node] tb-set-node-testbed $a "skeleton" $ns rtproto Static $ns run }}} Create an experiment: {{{ $ fedd_create.py --cert=/home/lnevers/TIED/userconf/guest.pem --url=http://users.gpolab.bbn.com:23335 --experiment_name=ln_test --file=/home/lnevers/TIED/userconf/skel-only.tcl --map=skeleton:https://users.gpolab.bbn.com:13230 Warning:Neither master/project nor services requested }}} You can check on the experiment status as follows: {{{ $ fedd_multistatus.py --cert=/home/lnevers/TIED/userconf/fedd.pem --url=http://users.gpolab.bbn.com:23335 }}} == TIED FreeBSD How-to == 1. Using a newly built FreeBSD 8.1 VM, installed Python 2.6.6, py-m2crypto, xsi and apache 2.2 server using ports 2. with all packages install, moved to fedd-3.01 installation: {{{ $ tar xvzf fedd-3.01.tar.gz $ cd fedd-3.01 $ sudo python ./setup.py install }}} 3. Create a '''userconf''' directory in a user define path. Create a file userconf/skel.conf and modified the base parameter to point to local install {{{ [DEFAULT] # Customize this line base: /home/lnevers/TIED/userconf [access] project_priority: false log_level: debug access_state: %(base)s/skel_access.state accessdb: %(base)s/skel_access certdir: %(base)s/certs userconfdir: %(base)s/userconf maxint: 3 [globals] cert_file: %(base)s/fedd.pem services: 13230 access_type: skel }}} 4. Create a file userconf/skel_access: {{{ (fedid:b55205ac843c40ce9c9feb3b358bff782ed337fd, testing, guest) -> access, (Local_attr) }}} 5. Create a certificate representing a fedid {{{ $ /usr/bin/openssl req -text -newkey rsa:1024 -keyout key.pem -nodes -subj /CN=users.gpolab.bbn.com -x509 -days 3650 -out cert.pem $ cat key.pem cert.pem > fedd.pem }}} '''Running the Skeleton Plugin''' Start the Plug-in: {{{ $ fedd.py --config=/home/lnevers/TIED/userconf/skel.conf --debug 09 Sep 10 14:18:45 fedd.access [read_state]: No saved state: Can't open /home/lnevers/TIED/userconf/skel_access.state: [Errno 2] No such file or directory: '/home/lnevers/TIED/userconf/skel_access.state' }}} Using a simple skeleton experiment description: {{{ set ns [new Simulator] source tb_compat.tcl set a [$ns node] tb-set-node-testbed $a "skeleton" $ns rtproto Static $ns run }}} Create an experiment: {{{ $ sudo fedd_create.py --cert=./fedd.pem --url=https://sindle.gpolab.bbn.com:23235 --experiment_name=ln_test --file=./skel-only.tcl --map=skeleton:https://sindle.gpolab.bbn.com:13230 --debug Warning:Neither master/project nor services requested Error: Connection Error (8) Description: Cannot connect to https://sindle.gpolab.bbn.com:23235: Connection refused }}} '''Note:''' The above failed, have outstanding request for information from developer. You should be able to check on the experiment status as follows: {{{ $ fedd_multistatus.py --cert=/home/lnevers/TIED/userconf/fedd.pem --url=http://users.gpolab.bbn.com:23335 }}}