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

Compare with Current View Page History

« Previous Version 10 Next »

Prerequisites

To set up this application we will assume that you have the following tools installed on the target instance:

  1. git
  2. Maven 3+
  3. Tomcat7 (with the manager turned on)
  4. Mysql 5.5+

Download and build the source code

You can download the source from https://github.com/duracloud/snapshot.

git clone https://github.com/duracloud/snapshot.git

Setup Bridge Root Directory

The application needs a directory of sufficient size (depending on your expected load) for storing application state files as well as receiving space data both from the DPN node as well as from DuraCloud.  The tomcat user must have read/write access to the directory. 

Create log directory

The bridge application will attempt to write logs to /var/log/duracloud. To make this possible, create that directory, and set permissions to allow the bridge application to write to it.

sudo mkdir /var/log/duracloud
sudo chown tomcat7 /var/log/duracloud

Setup Tomcat

  1. Set up tomcat server credentials for automatic deployment on build
    1. in your settings.xml file (~/.m2/settings.xml)  add the following to the servers element:

          <server>
            <id>tomcat-server</id>
            <username>tomcat</username>
            <password>password</password>
          </server>
    2. Set up environment with the following settings:
      1. duracloud.bridge.root.username - the username used for initializing the instance (default root).
      2. duracloud.bridge.root.password - the password used for initializing the instance (default rpw).
      3. duracloud.bridge.root.email  - an email associated with the root account that will send email regarding bridge server events.
      4. duracloud.bridge.root.dir - a directory that will receive data as well as store non-database application state and settings.
      5. in the /etc/default/tomcat7 file add the following parameters to your JAVA_OPTS environmental variable

            JAVA_OPTS="$JAVA_OPTS -Dduracloud.bridge.root.password=<your password> -Dduracloud.bridge.root.email=<your email> -Dduracloud.bridge.root.dir=<your root dir>"
        
        

Build and deploy the source

cd snapshot

mvn clean install

 

Create the database

Using a mysql client create a database: 

CREATE DATABASE 'snapshot' DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;

 

Create a DuraCloud User

You will need to create a duracloud user with ROLE_ADMIN permissions in order for the bridge to read data from and write data to DuraCloud.  This can be done by your DuraCloud account administrator through https://manage.duracloud.org/

Initialize the application

First you'll need to create an init.json file using the values you setup in previous steps.

 {
     "originatorEmailAddress" : "<email address>",
     "duracloudEmailAddresses" : ["<email address>"],
     "dpnEmailAddresses" : ["<email address>"],
     "duracloudUsername" : "<duracloud username>",
     "duracloudPassword" : "<duracloud password",
     "awsAccessKey" : "<aws key>",
     "awsSecretKey" : "<aws secret key>",
     "databaseUser" : "<database user>",
     "databasePassword" : "<database password>",
     "databaseURL" : "jdbc:mysql://<database instance>:<database port>/<database name>",
     "clean" : "true",
     "finalizerPeriodMs" : 60000,
     "daysToExpireRestore" : 1 
}

Then execute the following curl command to pass the initialization params to the bridge.

 curl -v -X  POST -d @/path/to/init.json \ 
                 -H "Content-Type: application/json"  \
                 -H "Accept:application/json" \
                 "https://<your bridge host:port>/bridge/init" \
                 -u <duracloud.bridge.root.username>:<duracloud.bridge.root.password> 

NB: For subsequent initalizations, flip the "clean" parameter to false if you don't want to wipe your database on reinit.

 

Reinitializing 

If you wish to change any of your initialization parameters,  you must  first remove the persistent initialization params on the server by deleting the following file:  

<duracloud.bridge.root.dir>/duracloud-bridge-init.dat. This encrypted file contains the credentials you used to initialize the app. It will be read as soon as tomcat starts up in order to allow the service to start up without needing further intialization (as in the case of, for example, an unexpected server restart).

 

  • No labels