create new tag
view all tags

Installation Notes: DRMS (up to 14 Sep 2007)

Note: these installation notes relate to the older "jsoc" tree instead of the current "JSOC" tree. See InstallDRMS for most recent installation notes. - ECA 23/10/07



  • JSOC wiki's DRMS Setup page
  • Requirements:
    1. reserved disk space for SUMS disk cache
    2. PostgreSQL (eSDO: running 8.1.4) (make sure postmaster is running)
    3. JSOC software tree from CVS (look at CVS Initialization)

CVS Initialization

  • JSCO wiki's CVS Initialization page
  • Create JSOC CVS structure:
    • select a directory to be your JSOC working directory, referred to as $JSOCDIR here
    • % mkdir $JSOCDIR/cvs, % mkdir $JSOCDIR/cvs/jsoc
    • either run .setJSOCenv or set JSOCROOT, JSOCMACHINE, CVS_RSH, and CVSROOT as described in the script
      • Getting JSOC_MACHINE variable by hand for eSDO server msslxx:
        • bash$ OS=`uname -s`
        • bash$ CPU=`uname -m
        • since OS equals 'Linux' and CPU equals 'i686', set JSOC_MACHINE to linux_ia32
      • final eSDO setup (added to .bash_profile):
        • $JSOCROOT: $JSOCDIR/cvs/jsoc
        • $JSOC_MACHINE: linux_ia32
        • $CVS_RSH: ssh
        • $CVSROOT: :ext:sunroom.stanford.edu:/home/cvsuser/cvsroot
    • Check DRMS software out of JSOC CVS (approximately 34 MB)
      1. Set up commandline CVS access to sunroom.solarport.edu (contact JSOC)
      2. Get software from JSOC CVS GUI
      3. ssh to JSOC machine and checkout jsoc directory from CVS: cd cvs, cvs checkout jsoc (can tar / gzip down to 8 M)
    • See CVS Initialization page for instructions on updates to CVS
    • Note: ensure that directories su_internal and su_interal are not included in distribution

    • make files in $JSOCDIR/cvs/jsoc
      • % ./configure
      • % make

Compilation Notes

  • Note: ifort compiler not installed; try g77 instead by replacing "ifort" with "g77" in make_basic.mk and src/datacapture/libhmicomp.d/make.mk
  • Note: g77 language W not recognized in g77 -xW -ftrapuv. "-xW" is an ifort option that optimizes code for IntelŪ PentiumŪ 4 processors and compatible Intel processors.
  • Install Intel C++ compiler, MKL math package (currently on temp. license to 1 Sept. 2007; upgrade to developer license)

Non-root installation of PSQL

Changes made to $JSOCDIR/cvs/jsoc/make_basic.mk for eSDO server at MSSL

Original Customized
PGIPATH = /usr/include/pgsql PGIPATH = /disk/d2/griduser/pgsql/include
-lpq -L/disk/d2/griduser/pgsql/lib -lpq

Changes made to $JSOCDIR/cvs/jsoc/src/base/sum/Rules.mk

Original Customized
-lpq -L/disk/d2/griduser/pgsql/lib -lpq

Changes made to $JSOCDIR/cvs/jsoc/src/datacapture/Rules.mk

Original Customized
dir := $(d)/datacapture #dir := $(d)/datacapture
-include $(SRCDIR)/$(dir)/Rules.mk #-include $(SRCDIR)/$(dir)/Rules.mk

Non-root, evaulation licence installation of Intel ICC compiler - TEMPORARY

Changes to make_basic.mk:

old make_basic.mk new make_basic.mk
  IFORT = /disk/d2/griduser/jsoc/ifort
  MKL = $(IFORT)/cmkl/9.1/lib/32
FMATHLIBS = -lmkl_lapack -lmkl -L$(JSOCROOT)/lib_third_party/linux-ia32/ -lfftw3f FMATHLIBS = -L$(MKL) -L$(FFT3W) -lmkl_lapack -lmkl -L$(JSOCROOT)/lib_third_party/linux-ia32/ -lfftw3f

Changes to build/ccd-icc:

old build/ccd-icc new build/ccd-icc
CC=icc CC="icc /disk/d2/griduser/jsoc/ifort/cmkl/9.1/include -I/disk/d1/griduser/Astrogrid/cea/execute/fftw_3.1.2/include"

Changes to build/ccd-gcc:

old build/ccd-gcc new build/ccd-gcc
CC=gcc CC="gcc /disk/d2/griduser/jsoc/ifort/cmkl/9.1/include -I/disk/d1/griduser/Astrogrid/cea/execute/fftw_3.1.2/include"


% ./configure % make -j 4

Resulting code in $JSOCDIR/cvs/jsoc/_linux_ia32

Root installation, permanent licence of Intel ICC Pro compiler with MKL bundled

Note: see InstallICC

Keep changes made for non-root installation of Postgres, undo changes made to make_basic.mk, ccd-icc, and ccd-gcc.


% ./configure % make -j 4

Resulting code in $JSOCDIR/cvs/jsoc/_linux_ia32

New DRMS code

Tarball of new DRMS code received from Rick Bogart 13/09/07. Code compiled with gcc (not icc).


% ./configure % make -j 4

DRMS tables

Follow instructions to create new database user at http://jsoc.stanford.edu/trac/wiki/NewDrmsUser. 3 steps: 1) add new user to postgres db, 2) run masterlists to create namespace, 3) set up defause session namespace.

Create admin schema

Do once:
  • % psql jsoc -U postgres
  • jsoc=# create schema admin;
  • jsoc=# grant usage on schema admin to public;
  • jsoc=# create table admin.ns (name text not null, nsgrp text not null, owner text not null);
  • jsoc=# grant select on admin.ns to public;
  • jsoc=# create table admin.sessionns (username text not null, sessionns text not null);
  • jsoc=# grant select on admin.sessionns to public;

Create new db user

Do 1 to n times:
  • jsoc=# create role mssl_eca;
  • jsoc=# alter user mssl_eca with password '*******';
  • jsoc=# grant jsoc to mssl_eca;

Run masterlists

Do 1 to n times: *% masterlists dbuser=mssl_eca JSOC_DBHOST=msslxx JSOC_DBNAME=jsoc namespace=mssl_eca nsgrp=user (Success!)

Set up default session namespace

Do 1 to n times:
  • % psql jsoc -U postgres
  • jsoc=# insert into admin.sessionns values ('mssl_eca', 'mssl_eca'); Success!

Set up SUMS

Create SUMS tables in postgres

Run scripts create_tables.sql, sum_file.sql, and sum_group.sql in $JSOCDIR/cvs/jsoc/src/base/sum/Postgres (creates tables listed in DRMSSetup):

  • % psql jsoc -f create_tables.sql
  • % psql jsoc -f sum_file.sql
  • % psql jsoc -f sum_group.sql

Set up SUMS disk cache

See http://jsoc.stanford.edu/trac/wiki/DRMSSetup. SUMS directory area must be owned by use "production" in group "SOI" with permissions mask 8354.

On msslxx: users production and griduser are in SOI with mask 2775. SUMS directory currently /full/path/to/3/production.

Integrate Local DRMS / SUMS with JSOC DRMS / SUMS

-- ElizabethAuden - 14 Sep 2007

-- ElizabethAuden - 23 Oct 2007

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | More topic actions
Topic revision: r2 - 2007-12-31 - ElizabethAuden
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback