create new tag
view all tags

Installation Notes: DRMS



  • 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 (note capital letters - using new JSOC tree, not older jsoc tree).
    • % mkdir $JSOCDIR
    • 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):
        • $JSOC_MACHINE: linux_ia32
        • $CVS_RSH: ssh
        • $CVSROOT: :ext:sunroom.stanford.edu:/home/cvsuser/cvsroot
    • Check DRMS software out of JSOC CVS - use "JSOC" tree (approximately 10 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
    • See instructions for JSOC tree at JSOC File Struct page

Configuration / Compilation Notes

  • Note: icc C / C++ compiler installed, but compilation throws errors with "SIG_BLOCK". Specify compiler = gcc in make_basic.mk instead.
  • Note: ifort FORTRAN compiler not installed. Specify F77 = f77 in make_basic.mk instead.

Configuration: Non-root installation of PSQL

Changes made to JSOC files for eSDO server at MSSL

Original Customized *Affected file(s)
PGIPATH = /usr/include/pgsql PGIPATH = /disk/d2/griduser/pgsql/include make_basic.mk
-lpq -L/disk/d2/griduser/pgsql/lib -Wl,-E,-rpath=/disk/d2/griduser/pgsql/lib -lpq make_basic.mk, Rules.mk

Note: -lpq change occurs in the following locations:

  • $JSOCDIR/make_basic.mk - $(SERVEREXE):
  • $JSOCDIR/make_basic.mk - $(MODEXE):
  • $JSOCDIR/base/sums/apps/Rules.mk - LL_TGT_$(d)
  • $JSOCDIR/proj/datacapture/apps/Rules.mk - $(EXE_$(d))
  • $JSOCDIR/proj/lev0/apps/Rules.mk - $(SUMEXE_$(d))

Note: change -L/home/production/cvs/jsoc/lib/saved/$(JSOC_MACHINE) to -L$(JSOCROOT)/lib/$(JSOC_MACHINE) in the following locations:

  • proj/datacapture/apps/Rules.mk - $(EXE_$(d))
  • proj/lev0/apps/Rules.mk - $(SUMEXE_$(d))

Compilation with gcc:

  • % ./configure
  • % make -j 4

Result: FAIL with error /disk/d2/griduser/JSOC/build/ccd-gcc -g -o proj/dsdsmigr/apps/sum_pe_svc proj/dsdsmigr/apps/sum_pe_svc.o base/drms/libs/main/c/libjsoc_main.a base/drms/libs/api/server/libdrmsserver.a base/libs/db/server/libdbserver.a base/sums/libs/api/libsumsapi.a base/libs/threads/libthreadutil.a base/libs/ricecomp/libricecomp.a base/libs/cmdparams/libcmdparams.a base/libs/misc/libmisc.a base/libs/dstruct/libdstruct.a base/libs/timeio/libtimeio.a base/sums/libs/pg/libsumspg.a -L/disk/d2/griduser/pgsql/lib -Wl,-E,-rpath=/disk/d2/griduser/pgsql/lib -lpq -lz -lcrypto -lpthread -lm /usr/bin/ld: cannot find -lhmicomp_egse collect2: ld returned 1 exit status make[1]: * [proj/lev0/apps/ingest_lev0] Error 1 make[1]: * Waiting for unfinished jobs.... /usr/bin/ld: cannot find -lhmicomp_egse collect2: ld returned 1 exit status make[1]: * [proj/datacapture/apps/soc_pipe_scp] Error 1 /usr/bin/ld: cannot find -lhmicomp_egse collect2: ld returned 1 exit status make[1]: * [proj/datacapture/apps/ingest_tlm] Error 1 make: * [_linux_ia32] Error 2

Note: Root installation, permanent licence of Intel ICC Pro compiler with MKL bundled exists, but gcc was used for compilation. See InstallICC for icc installation notes.

Set up DRMS

DRMS tables in postgres

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 - 17 Jul 2007

Edit | Attach | Watch | Print version | History: r19 < r18 < r17 < r16 < r15 | Backlinks | Raw View | More topic actions
Topic revision: r19 - 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