== GIMI Enabling Site == [[TOC(dSite*, depth=3)]] This page contains instructions for WiMAX site administrators that describe how to GIMI-enable a WiMAX site. If you are looking for instructions on how to use GIMI functionality on a WiMAX site, please see the [wiki:WiMAX/GIMIUse user instructions]. === Overview === A GENI site is considered GIMI-enabled if a user can, without an unreasonable expenditure of effort, use the site to: * Execute an experiment with OMF * Instrument an experiment with OML * Archive experiment measurements to iRODS The steps required to set up OMF have already been described extensively on this wiki and at [https://www.mytestbed.net/projects/omf/wiki/Installation], so they will not be covered here. Similarly, the steps required to install an OML server are described [https://mytestbed.net/projects/2/wiki/Installing_OML_packages#Installing-and-configuring-the-OML-Server-package here]. The steps required to instrument an experiment with OML are already well documented as well. Use these links to find out how to * Instrument an application that is written in [http://mytestbed.net/projects/oml/wiki/Client_Programming C/C++], [http://rubydoc.info/gems/oml4r/ Ruby], or [http://pypi.python.org/pypi/oml4py/ Python] or * [http://mytestbed.net/projects/omf/wiki/OMLWrapperHowTo Write a wrapper] for an application written in another language, or one whose source code is not available * Create an [https://mytestbed.net/projects/omf/wiki/BasicTutorialStage3-5-3 application definition] for your application This document primarily describes how to provide tools for users to archive an experiment to iRODS. This consists of several steps: * Installing {{{icommands}}} * Installing the extra {{{iarchive}}} script * Setting up iRODS accounts for users * Extending the OMF experiment controller (optional) * Installing the iRODS web frontend (optional) === Required Steps === ==== Install {{{icommands}}} ==== The iRODS software may be downloaded [https://www.irods.org/download.html here]. Use the {{{irodssetup}}} script inside this package and choose to build only the {{{icommands}}}. Then make these commands available to all users as follows: {{{ cp iRODS/clients/icommands/bin/* /usr/local/bin/ }}} ==== Install {{{iarchive}}} ==== Download the {{{iarchive}}} script: {{{ wget http://witestlab.poly.edu/repos/misc/iarchive }}} If necessary, edit the script and replace the {{{ICMD_PATH}}}, {{{OML_DIR}}}, {{AM_RESULT}} and {{{EC_LOG_DIR}}} with the relevant values for your system: * {{{ICMD_PATH}}} is the location where the {{{icommands}}} are installed * {{{OML_DIR}}} is the location where the OML server stores sq3 files. Comment this out if you are not using a local OML server. * {{{AM_RESULT}}} is the URL of the OMF result service (required if {{{OML_DIR}}} is commented out) * {{{EC_LOG_DIR}}} is the location where the OMF experiment controller stores experiment log files Install the script in /usr/local/bin, and make it executable: {{{ mv iarchive /usr/local/bin chmod +x /usr/local/bin/iarchive }}} ==== Set up iRODS accounts for users ==== The administrator for the iRODS server you are using must create an account that is in the {{{rodsadmin}}} group. With this account, you can now create new users using the {{{iadmin}}} commands. The first time you use this account, you must initialize it using {{{iinit}}} and the values provided by the administrator of the iRODS site you are using. For example: {{{ $ iinit One or more fields in your iRODS environment file (.irodsEnv) are missing; please enter them. Enter the host name (DNS) of the server to connect to:emmy9.casa.umass.edu Enter the port number:1247 Enter your irods user name:ffund Enter your irods zone:geniRenci Those values will be added to your environment file (for use by other i-commands) if the login succeeds. Enter your current iRODS password: }}} Then add a line to your {{{~/.irods/.irodsEnv}}} file indicating your default resource on the iRODS server. For example: {{{ echo "irodsDefResource=iRODSUmass2" >> ~/.irods/.irodsEnv }}} Finally, use {{{ipasswd}}} to change your password from the default password given to you by the iRODS site adminstrator. Once your account is initialized, use these steps to create new user: * Temporarily set your irodsHost environment variable to the address of the iCAT server (not necessarily the iRODS server). For example: {{{ export irodsHost=geni-gimi.renci.org }}} * Use {{{iadmin}}} to create a new user, enroll that use in your site "group", and create an initial password for the user. In this example, we create a user {{{x0dros}}} in the {{{nyupoly}}} group and give him the initial password {{{}}}: {{{ iadmin mkuser x0dros#geniRenci rodsuser iadmin atg nyupoly x0dros#geniRenci iadmin moduser x0dros#geniRenci password iadmin quit }}} * Finally, unset the temporary irodsHost environment variable: {{{ unset irodsHost }}} === Optional Steps === ==== Extend OMF EC (Optional) ==== ==== Install iRODS web browser (Optional) ==== You may choose to install the (visualization-enhanced) iRODS web frontend. If you choose not to install this component, your users can use [http://witestlab.poly.edu/irods/web/ NYU-Poly hosted site]. You can check out the source code from our SVN repository: {{{ svn co http://witestlab.poly.edu/repos/irodsweb/irods svn co http://witestlab.poly.edu/repos/irodsweb/pchart }}} Refer to and follow the instructions in {{{irods/web/README.setup}}}. You will need to add the site configuration to a config file in {{{/etc/apache2/sites-enabled}}}. A sample config is shown here: {{{ Alias /irods/web/ "/var/www/irods/web/" AllowOverride all Options FollowSymLinks MultiViews # Uncomment the following if you're using HTTPS: # RewriteEngine On # RewriteCond %{HTTPS} off # RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} Order allow,deny allow from all }}} Your config MUST include {{{AllowOverride all}}} and {{{Options FollowSymLinks MultiViews}}} Enable mod_rewrite and restart Apache2: {{{ ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load service apache2 restart }}}