NIH | National Cancer Institute | NCI Wiki  

Error rendering macro 'rw-search'

null

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Introduce

You need to update Introduce Java Heap settings when running Introduce since, we're developing such large services.

Update <CAGRID_HOME>/projects/introduce/antfiles/introduce-utils.xml
<macrodef name="runPortal">
                <sequential>
                        <echo message="Running portal"/>
                        <java classname="gov.nih.nci.cagrid.introduce.portal.Introduce" fork="true">
                                <jvmarg value="-Xms256m"/>
                                <jvmarg value="-Xmx1024m"/>
                                <jvmarg value="-Djava.endorsed.dirs=extensions/endorsed" />
                                <sysproperty key="GLOBUS_LOCATION" value="${ext.globus.dir}"/>
                                <classpath refid="Portal.run.classpath"/>

                        </java>
                </sequential>
        </macrodef>

Quick Start Guide

These instructions are written for pa-grid but apply to po-grid as well (change pa to po, etc, as needed).

  • to run a client, use "ant run<service name>Client" from the pa-grid directory ("ant -p" will display the full list of targets)
  • if you edit a client, use "ant jarTests-quick" to recompile the clients
  • if you need to regenerate everything (eg, after a clean), use the "compile" or "all" targets
  • If you just need to recompile or test your code, after all the stubs have been generated once, use any of these targets:
  • compile-quick
  • jars-quick
  • test-quick
  • to deploy, use deployJBoss (to build the stubs) or deploy:jboss:quick (if the stubs have already been built
  • to undeploy, use undeployJBoss
  • to regenerate just the PA-specific stubs (eg, after editing CoppaPA.xsd), run "ant init postStubs"
  • if you've upgraded one or more jars, you'll have to manually remove the old jars from <jboss>/server/pagrid/wsrf.war/WEB-INF/lib

Here are the relevant host names for local.properties if you want to run the service clients against any of the tiers (just uncomment the one you want):
#service.port=80
#service.hostname=ctms-services-pa-stage.nci.nih.gov
#service.hostname=ctms-services-pa-qa.nci.nih.gov
#service.hostname=ctms-services-pa-qa2.nci.nih.gov
#service.hostname=ctms-services-pa-dev.nci.nih.gov
#service.hostname=ctms-services-pa-integration.nci.nih.gov
#service.hostname=ctms-services-pa-demo.nci.nih.gov
#service.hostname=ctms-services-pa.nci.nih.gov

Developing Secure Services (PO / PA)

These instructions are written for developers of po-grid secure COPPA services on non-Windows (Linux / OSX) platforms.

Purpose

To inform our developers how to develop on secure grid services.

Prerequisites

  1. Install caGrid v1.3 locally, http://cagrid.org/display/downloads/caGrid+1.3+Installation+Quick+Start. You may install it anywhere. Personally, I put it in my User's Home folder under dev
    steve-matyass-macbook-pro-2:cagrid smatyas$ pwd
    /Users/smatyas/dev/cagrid
    steve-matyass-macbook-pro-2:cagrid smatyas$ ll
    total 0
    drwxr-xr-x   5 smatyas  staff  170 Oct  7 11:42 .
    drwxr-xr-x   5 smatyas  staff  170 Oct  7 11:41 ..
    drwxr-xr-x  17 smatyas  staff  578 Oct  7 11:41 apache-ant-1.7.0
    drwxr-xr-x  14 smatyas  staff  476 Oct 15 12:56 caGrid
    drwxr-xr-x  20 smatyas  staff  680 Oct  7 11:41 ws-core-4.0.3
    steve-matyass-macbook-pro-2:cagrid smatyas$ set HOSTNAME=steve-matyass-macbook-pro-2.local
    
  1. (Optional) Obtain a grid credential (or Dorian User Account) for the grid trust fabric needed, e.g. Training Grid. (developers working locally should use the Training Grid) See http://cagrid.org/display/cagrid13tutorials/Create+User+Account for instructions. If you don't perform this step, you can use the existing coppatestgrid account on the training grid.
  2. Request a Host Cert to be used locally, http://cagrid.org/display/knowledgebase/Request+a+Host+Certificate. You should specify your local machine's hostname. For example, locally I use the value of my HOSTNAME environment variable
    steve-matyass-macbook-pro-2:~ smatyas$ echo $HOSTNAME
    steve-matyass-macbook-pro-2.local
    steve-matyass-macbook-pro-2:~ smatyas$
    
  3. Record your grid credential (aka Grid Identity) for later use. For example, mine is
    /O=caBIG/OU=caGrid/OU=Training/OU=Dorian/CN=matyass
    

Steps to Code & Test Locally

Each day before you start using coding and testing locally, you'll want to Login to Dorian using the GAARDS UI to extend your local grid identity certificates. Roughly ever 24 hours they expire.

  1. Lauch GAARDS-UI and login using shared COPPA Grid Test account
    Launch GAARDS-UI (ant security)
    steve-matyass-macbook-pro-2:cagrid smatyas$ pwd
    /Users/smatyas/dev/cagrid/caGrid
    steve-matyass-macbook-pro-2:caGrid smatyas$ ant security
    ...
    
    1. Click Login button and specify the following:
      COPPA Grid Test Account on Training Grid
      Credential Provider: Training
      Organization: Training
      Username: coppagridtest
      Password: Coppa#12345
      
  2. Ensure your build-po/install.properties and build-po/upgrade.properties files contain the correct values, namely the following:
    pogrid.grid.secure.cert.location=${user.home}/.cagrid/certificates/${pogrid.grid.external.secure.host}-cert.pem
    pogrid.grid.secure.key.location=${user.home}/.cagrid/certificates/${pogrid.grid.external.secure.host}-key.pem
    pogrid.grid.external.secure.host=${env.HOSTNAME}
    
    Here is what my HOSTNAME environment variable is set to:
    steve-matyass-macbook-pro-2:~ smatyas$ echo $HOSTNAME
    steve-matyass-macbook-pro-2.local
    steve-matyass-macbook-pro-2:~ smatyas$
    
  3. Ensure that your GLOBUS_LOCATION environment variable is set
    steve-matyass-macbook-pro-2:~ smatyas$ echo $GLOBUS_LOCATION
    /Users/smatyas/dev/cagrid/ws-core-4.0.3
    
  4. Build your local dev instances
    steve-matyass-macbook-pro-2:build-po smatyas$ pwd
    /Users/smatyas/dev/projects/coppa/code/build-po
    steve-matyass-macbook-pro-2:build-po smatyas$ ant deploy:local:install
    ...
    
  5. After you receive a BUILD SUCCESSFUL, you'll need to wait for all JBoss server instances to start fully.
  6. Now that the servers have stared fully, you're ready to test the secure services
    steve-matyass-macbook-pro-2:build-po smatyas$ cd ../po-grid/
    steve-matyass-macbook-pro-2:po-grid smatyas$ pwd
    /Users/smatyas/dev/projects/coppa/code/po-grid
    steve-matyass-macbook-pro-2:po-grid smatyas$ ant runPersonClient
    ...
    
  7. Congratulations!

Adding your own Grid Identity to PO

  1. Add your Grid Identity to your local PO database. Example shows adding '/O=caBIG/OU=caGrid/OU=Training/OU=Dorian/CN=matyas' Grid Identity.

    This step is optional; you can use the coppatestgrid user without adding your grid identity to the DB.

    If anyone can improve the SQL to simply insertion, please do.

    --adding /O=caBIG/OU=caGrid/OU=Training/OU=Dorian/CN=<YOURUSERNAME> as a grid client test user account
    --NOTE: depending on the existing user keys you may need to adjust the user_id value
    INSERT INTO csm_user (user_id, login_name, first_name, last_name, organization, department, title, phone_number, password, email_id, start_date, end_date, update_date) values (8,'/O=caBIG/OU=caGrid/OU=Training/OU=Dorian/CN=matyass','Steve','Matyas','','','','','','',null,null,now());
    --user_group_id must be unique, user_id must correspond to value inserted above
    INSERT INTO csm_user_group (user_group_id, user_id, group_id) Values (8, 8, 5);
    

Adding your own Grid Identity to PO

Steps TBD.

  • No labels