Project

General

Profile

Configlocal » History » Version 1

Herve Ballans, 14/09/2015 15:21

1 1 Herve Ballans
h1. Configlocal
2 1 Herve Ballans
3 1 Herve Ballans
<pre>
4 1 Herve Ballans
__DEFS__
5 1 Herve Ballans
6 1 Herve Ballans
# NetDRMS local site configuration info.
7 1 Herve Ballans
#
8 1 Herve Ballans
# This file contains configurable parameters that allow NetDRMS sites to customize their DRMS installation. By editing this file, you can specify which resources to use, such as the PostgreSQL database host, you can specify arguments to certain programs, like arguments that control how often SUMS purges expired Storage Units, and you can enable/disable certain features, like remoteSUMS. Each line that is not a comment contains two columns of information. The first column contains the name of a parameter and the second contains its value. To customize your installation, you would edit the value in the second column.
9 1 Herve Ballans
#
10 1 Herve Ballans
# Once you have edited this file, you must run the configure script, which parses this file to create macros and constants and such that are used by the various DRMS components. These data are stored in files which are then either compiled into binaries or loaded by scripts. The configure script accomplishes much of this work by calling localize.py. The resulting files are stored in the localization directory.
11 1 Herve Ballans
12 1 Herve Ballans
# The name of the NetDRMS database (e.g., sdac_drms, nso_drms); this is also the prefix of the SUMS database,
13 1 Herve Ballans
#   which is constructed by appending "_sums" to the prefix.
14 1 Herve Ballans
DRMS_DATABASE   ias_sdo
15 1 Herve Ballans
16 1 Herve Ballans
# The database user account that cgi programs access when they need to read from or write to database relations.
17 1 Herve Ballans
WEB_DBUSER      apache
18 1 Herve Ballans
19 1 Herve Ballans
# The host machine of the database server you will be accessing; if
20 1 Herve Ballans
#   the DRMS server and client reside on different subnets, then the host
21 1 Herve Ballans
#   name should be a fully qualified domain name (FQDN).
22 1 Herve Ballans
# A value of 'localhost' can be used, but it is only appropriate if you
23 1 Herve Ballans
#   are running in a single-user environment, such as on a laptop. In
24 1 Herve Ballans
#   this case, the client and the server are the same machine, so
25 1 Herve Ballans
#   it is not necessary to specify a host name for the server.
26 1 Herve Ballans
DBSERVER_HOST   sdo3
27 1 Herve Ballans
28 1 Herve Ballans
# The port number for the DRMS database server - the default of 5432 is a
29 1 Herve Ballans
#   good choice, unless it is already in use.
30 1 Herve Ballans
DRMS_DBPORT     5432
31 1 Herve Ballans
32 1 Herve Ballans
# A 15-bit numerical site identifier. Values < 16384 (0x4000) are for
33 1 Herve Ballans
#   NetDRMS sites that create Storage Units for public export / distribution.
34 1 Herve Ballans
#   They must be unique across all DRMS sites. Values >= 16384 are for private
35 1 Herve Ballans
#   use and need not be unique across sites.
36 1 Herve Ballans
DRMS_SITE_CODE  0x0018
37 1 Herve Ballans
38 1 Herve Ballans
# The database user name of the postgres administrative account; this is normally "postgres"
39 1 Herve Ballans
#   if you have followed the PostgreSQL installation suggestions.
40 1 Herve Ballans
POSTGRES_ADMIN  postgres
41 1 Herve Ballans
42 1 Herve Ballans
# The following entries are specific to the SUMS configuration
43 1 Herve Ballans
44 1 Herve Ballans
# The user name of the SUMS administrator database account.
45 1 Herve Ballans
SUMS_MANAGER    production
46 1 Herve Ballans
47 1 Herve Ballans
# The linux group name for users permitted to add data to SUMS Storage Units; not
48 1 Herve Ballans
#   currently used in code, but should match the group ownership of
49 1 Herve Ballans
#   the SUMS root directories /SUM*
50 1 Herve Ballans
SUMS_GROUP      ias
51 1 Herve Ballans
52 1 Herve Ballans
# The host of the default SUMS server you will be using; this is the
53 1 Herve Ballans
#   the machine that the SUMS storage units are mounted on, not necessarily
54 1 Herve Ballans
#   the machine serving the PostgreSQL SUMS database.
55 1 Herve Ballans
SUMS_SERVER_HOST        sdo3
56 1 Herve Ballans
57 1 Herve Ballans
# The machine hosting the SUMS database.
58 1 Herve Ballans
SUMS_DB_HOST            sdo3
59 1 Herve Ballans
60 1 Herve Ballans
# The port number for the DRMS database server - the default of 5434 should be okay
61 1 Herve Ballans
#   unless it is in use already.
62 1 Herve Ballans
SUMS_DBPORT     5434
63 1 Herve Ballans
64 1 Herve Ballans
# The number of sum_svc processes, per sum service (e.g., SUM_get, SUM_alloc) to start,
65 1 Herve Ballans
# by default, when multi-SUMS starts up.
66 1 Herve Ballans
SUM_NUMSUM    1
67 1 Herve Ballans
68 1 Herve Ballans
# The maximum number of sum_svc processes, per sums service.
69 1 Herve Ballans
SUM_MAXNUMSUM 8
70 1 Herve Ballans
71 1 Herve Ballans
# The base directory for SUMS logs and configuration files; used by
72 1 Herve Ballans
# sum_svc and sum_rm.
73 1 Herve Ballans
SUMS_LOG_BASEDIR        /usr/local/netdrms_current/logs/SUM
74 1 Herve Ballans
75 1 Herve Ballans
# The directory in which sum_chmown, a root setuid program,
76 1 Herve Ballans
#   is installed; must be mounted locally on the machine on which the
77 1 Herve Ballans
#   SUMS partition are mounted; used by base/sums/apps/sum_svc_proc.c
78 1 Herve Ballans
SUMS_BIN_BASEDIR        /usr/local/bin
79 1 Herve Ballans
80 1 Herve Ballans
# If set to 1, then SUMS includes a tape-archive system.
81 1 Herve Ballans
SUMS_TAPE_AVAILABLE     0
82 1 Herve Ballans
83 1 Herve Ballans
# If set to 1, then SUMS has more than one partition set.
84 1 Herve Ballans
SUMS_MULTIPLE_PARTNSETS      0
85 1 Herve Ballans
86 1 Herve Ballans
# If AUTOSELCOMP is 1, then the configure script will automatically select
87 1 Herve Ballans
# the 'best' compiler for use with the make system (choosing icc over gcc).
88 1 Herve Ballans
# Set this to 0 to permit manual selection via the JSOC_COMPILER and JSOC_FCOMPILER
89 1 Herve Ballans
# environment variables, or via editing of make_basic.mk
90 1 Herve Ballans
AUTOSELCOMP (1)
91 1 Herve Ballans
92 1 Herve Ballans
###############################
93 1 Herve Ballans
# TABLE OF PRODUCTION USERS
94 1 Herve Ballans
#   These parameters are used by lib DRMS to identify a database table (not a data series)
95 1 Herve Ballans
#   that lists the database users that are 'production users'. These users have privileges
96 1 Herve Ballans
#   that ordinary users do not. For example, production users can reduce the retention of
97 1 Herve Ballans
#   data series that the production user does not own.
98 1 Herve Ballans
99 1 Herve Ballans
# The host:port of the machine serving as the db server that contains the production-user table.
100 1 Herve Ballans
#PRODUSER_DBHOST    hmidb:5432
101 1 Herve Ballans
102 1 Herve Ballans
# The name of database on the database host that contains the production-user table.
103 1 Herve Ballans
#PRODUSER_DBNAME    jsoc
104 1 Herve Ballans
105 1 Herve Ballans
# The name of the production-user table
106 1 Herve Ballans
#PRODUSER_PRODTAB   su_production.produsers
107 1 Herve Ballans
108 1 Herve Ballans
# The name of the column that contains the list of production users in the production-user table.
109 1 Herve Ballans
#PRODUSER_COLUSER   username
110 1 Herve Ballans
#
111 1 Herve Ballans
# END TABLE OF PRODUCTION USERS
112 1 Herve Ballans
###############################
113 1 Herve Ballans
114 1 Herve Ballans
###############################
115 1 Herve Ballans
# Parameters for sum_rm
116 1 Herve Ballans
117 1 Herve Ballans
# This is the percentage at which all disk partitions are to be kept free.
118 1 Herve Ballans
# If not specified, this defaults to 3. For example, setting PART_PERCENT_FREE = 5 will allow all partitions to
119 1 Herve Ballans
# fill to 95% full. Dividing the number of unused blocks by the total number of blocks, and rounding up,
120 1 Herve Ballans
# will result in the number specified by PART_PERCENT_FREE.
121 1 Herve Ballans
SUMRM_PART_PERCENT_FREE                3
122 1 Herve Ballans
123 1 Herve Ballans
# The value is the number of seconds to sleep between iterations of the main loop in sum_rm.
124 1 Herve Ballans
SUMRM_SLEEP                          300
125 1 Herve Ballans
126 1 Herve Ballans
# The value is the log file (opened only at sum_rm startup; the sum_rm pid is appended to this file name).
127 1 Herve Ballans
SUMRM_LOG                /tmp/sum_rm.log
128 1 Herve Ballans
129 1 Herve Ballans
# The value is the email address of the recipient to be notified in case of a problem.
130 1 Herve Ballans
# SUMRM_MAIL    president@whitehouse.gov
131 1 Herve Ballans
132 1 Herve Ballans
# If the value is set to anything other than 0, then sum_rm is rendered inactive. Otherwise, sum_rm is active.
133 1 Herve Ballans
SUMRM_NOOP                             0
134 1 Herve Ballans
135 1 Herve Ballans
# The value designates the linux user who is allowed to run sum_rm.
136 1 Herve Ballans
SUMRM_USER                    production
137 1 Herve Ballans
138 1 Herve Ballans
# This pair of parameters defines a window of time, during which sum_rm will become torpid - in this
139 1 Herve Ballans
# window, sum_rm will not scan for SUs to delete, not will it delete any SUs. Each value is an integer, 0-23, that
140 1 Herve Ballans
# represents an hour of the day. For example, if NORUN_START=8 and NORUN_STOP=10, then between 8am and 10am
141 1 Herve Ballans
# local time, sum_rm will be dormant. To disable this behavior, set both parameters to the same value.
142 1 Herve Ballans
SUMRM_NORUN_START                      0
143 1 Herve Ballans
SUMRM_NORUN_STOP                       0
144 1 Herve Ballans
145 1 Herve Ballans
JMD_IS_INSTALLED                       0
146 1 Herve Ballans
147 1 Herve Ballans
# If the JMD is installed, then this parameter is the root URL to the JMD cgi interface.
148 1 Herve Ballans
JMD_URL                       http://localhost:8080/JMD/JMD
149 1 Herve Ballans
###############################
150 1 Herve Ballans
151 1 Herve Ballans
###############################
152 1 Herve Ballans
# Parameters for remote sums - these parameters allow configuration of the remote-sums components
153 1 Herve Ballans
154 1 Herve Ballans
# The database table that lists the remote sites, their site codes, and their base urls that provide access to the rs.py CGI.
155 1 Herve Ballans
# Each site that provides SUs to other sites must have a rs.py CGI that provides the scp path to the site requesting the SUs.
156 1 Herve Ballans
RS_SITE_TABLE                         drms.rs_sites
157 1 Herve Ballans
158 1 Herve Ballans
# The database table used by rsumsd.py daemon running at the receiving site to track remote-site SU requests.
159 1 Herve Ballans
RS_REQUEST_TABLE                      drms.rs_requests
160 1 Herve Ballans
161 1 Herve Ballans
# The database table used by rsumsd.py daemon running at the receiving site to track SU downloads.
162 1 Herve Ballans
RS_SU_TABLE                           drms.rs_sus
163 1 Herve Ballans
164 1 Herve Ballans
# The name of the database that contains the three previous tables.
165 1 Herve Ballans
RS_DBNAME                             mydb
166 1 Herve Ballans
167 1 Herve Ballans
# The database host that contains the database identified by RS_DBNAME.
168 1 Herve Ballans
RS_DBHOST                             localhost
169 1 Herve Ballans
170 1 Herve Ballans
# The database user that manages remote sums programs.
171 1 Herve Ballans
172 1 Herve Ballans
RS_DBUSER                             user
173 1 Herve Ballans
174 1 Herve Ballans
# The port on the database host used by rsumsd.py to access the database identified by RS_DBNAME.
175 1 Herve Ballans
RS_DBPORT                             5432
176 1 Herve Ballans
177 1 Herve Ballans
# The (advisory) lockfile used by rsumsd.py to prevent multiple instances of rsumsd.py from running.
178 1 Herve Ballans
RS_LOCKFILE                           /usr/share/drms/locks/remotesums.lck
179 1 Herve Ballans
180 1 Herve Ballans
# The directory in which remote-sums log files are written.
181 1 Herve Ballans
RS_LOGDIR                             /usr/share/drms/logs/rsums
182 1 Herve Ballans
183 1 Herve Ballans
# The number of minutes after which a storage-unit download will time-out.
184 1 Herve Ballans
RS_DLTIMEOUT                          30
185 1 Herve Ballans
186 1 Herve Ballans
# The number of minutes after which a new remote-sums fetch will time-out if no download has yet started.
187 1 Herve Ballans
RS_REQTIMEOUT                          5
188 1 Herve Ballans
189 1 Herve Ballans
# The maximum number of simultaneously storage unit downloads to process at once.
190 1 Herve Ballans
RS_MAXTHREADS                         32
191 1 Herve Ballans
192 1 Herve Ballans
# The path to executables run by the remote-sums system.
193 1 Herve Ballans
RS_BINPATH                            /opt/drms/bin/linux_x86_64
194 1 Herve Ballans
195 1 Herve Ballans
# If set to 1, then this DRMS allows access by the public to series defined in the internal database (SERVER).
196 1 Herve Ballans
WL_HASWL                              0
197 1 Herve Ballans
198 1 Herve Ballans
# The file that contains a list of internal series that are accessible to external users.
199 1 Herve Ballans
WL_FILE                               /usr/share/drms/whitelist.txt
200 1 Herve Ballans
201 1 Herve Ballans
# The paths to various binaries.
202 1 Herve Ballans
BIN_EXPORT                            /opt/drms/bin
203 1 Herve Ballans
SCRIPTS_EXPORT                        /opt/drms/scripts
204 1 Herve Ballans
# The Python binary must be at least version 2.7. 3.x binaries will work.
205 1 Herve Ballans
BIN_PY                                /usr/bin/python
206 1 Herve Ballans
207 1 Herve Ballans
# The number of minutes after which a new email registration attempt will time-out if the registering user does
208 1 Herve Ballans
# not respond to the verification email sent to them.
209 1 Herve Ballans
REGEMAIL_TIMEOUT                      5
210 1 Herve Ballans
211 1 Herve Ballans
############## MT SUMS ##############
212 1 Herve Ballans
# These are parameters needed when using the multi-threaded SUMS daemon.
213 1 Herve Ballans
# Use the MT SUMS daemon (which serves SUM_infoArray() requests).
214 1 Herve Ballans
SUMS_USEMTSUMS                        0
215 1 Herve Ballans
# The maximum number of SUs to process in parallel.
216 1 Herve Ballans
SUMSD_MAX_THREADS                    32
217 1 Herve Ballans
# The port to be used by the MT SUMS daemon for incoming requests.
218 1 Herve Ballans
SUMSD_LISTENPORT                   6002
219 1 Herve Ballans
############ END MT SUMS ############
220 1 Herve Ballans
221 1 Herve Ballans
# The Slony server configure file. This is used only if you are generating Slony logs to distribute DRMS series data
222 1 Herve Ballans
# to subscribing mirror sites.
223 1 Herve Ballans
SLONY_CONFIG                       /home/jsoc/cvs/Development/JSOC/proj/replication/etc/repserver.cfg
224 1 Herve Ballans
225 1 Herve Ballans
226 1 Herve Ballans
###############################
227 1 Herve Ballans
228 1 Herve Ballans
__MAKE__
229 1 Herve Ballans
230 1 Herve Ballans
# Third-party libraries required in order to make NetDRMS binaries. Specify
231 1 Herve Ballans
# a default and also machine-specific locations (if desired). The default will
232 1 Herve Ballans
# be used if no machine-specific entry exists.
233 1 Herve Ballans
234 1 Herve Ballans
# *** PostgreSQL ***
235 1 Herve Ballans
236 1 Herve Ballans
#   defaults
237 1 Herve Ballans
#     PostgreSQL API headers (must contain libpq-fe.h)
238 1 Herve Ballans
POSTGRES_INCS:X86_64    /usr/include
239 1 Herve Ballans
POSTGRES_INCS:AVX       /usr/include
240 1 Herve Ballans
241 1 Herve Ballans
#     the location of the PostgreSQL libs; likely to be either
242 1 Herve Ballans
#     /usr/lib or /usr/lib64 or /usr/local/pgsql/lib
243 1 Herve Ballans
POSTGRES_LIBS:X86_64    /usr/lib64
244 1 Herve Ballans
POSTGRES_LIBS:AVX       /usr/lib64
245 1 Herve Ballans
246 1 Herve Ballans
#     actual library names
247 1 Herve Ballans
POSTGRES_LIB            pq
248 1 Herve Ballans
249 1 Herve Ballans
#   machine-specific
250 1 Herve Ballans
#     The following is an example:
251 1 Herve Ballans
#     POSTGRES_LIBS:N02     /usr/lib64
252 1 Herve Ballans
253 1 Herve Ballans
# *** end PostgreSQL ***
254 1 Herve Ballans
255 1 Herve Ballans
# *** CFITSIO ***
256 1 Herve Ballans
257 1 Herve Ballans
#   defaults
258 1 Herve Ballans
#     CFITSIO API headers (must contain fitsio.h)
259 1 Herve Ballans
CFITSIO_INCS:X86_64     /usr/local/include
260 1 Herve Ballans
CFITSIO_INCS:AVX        /usr/local/include
261 1 Herve Ballans
262 1 Herve Ballans
#     the location of the cfitsio libraries
263 1 Herve Ballans
CFITSIO_LIBS:X86_64     /usr/local/lib64
264 1 Herve Ballans
CFITSIO_LIBS:AVX        /usr/local/lib64
265 1 Herve Ballans
266 1 Herve Ballans
#     actual library names
267 1 Herve Ballans
CFITSIO_LIB             cfitsio
268 1 Herve Ballans
269 1 Herve Ballans
#   machine-specific
270 1 Herve Ballans
#     The following is an example:
271 1 Herve Ballans
#     CFITSIO_LIBS:N02  /usr/lib64
272 1 Herve Ballans
273 1 Herve Ballans
# *** end CFITSIO ***
274 1 Herve Ballans
275 1 Herve Ballans
276 1 Herve Ballans
#################### TAR ####################
277 1 Herve Ballans
# Tar library needed by JMD.
278 1 Herve Ballans
TAR_INCS:X86_64         /usr/include
279 1 Herve Ballans
TAR_INCS:AVX            /usr/include
280 1 Herve Ballans
TAR_LIBS:X86_64         /usr/lib64
281 1 Herve Ballans
TAR_LIBS:AVX            /usr/lib64
282 1 Herve Ballans
################## END TAR ##################
283 1 Herve Ballans
284 1 Herve Ballans
#################### PYTHON ####################
285 1 Herve Ballans
# Python library needed for multi-threaded SUMS (so far).
286 1 Herve Ballans
PY_LIB                  python3.4m
287 1 Herve Ballans
PY_INCS:X86_64          /home/jsoc/ActiveStatePy/linux_x86_64/ActivePython-3.4/include/python3.4m
288 1 Herve Ballans
PY_INCS:AVX             /home/jsoc/ActiveStatePy/linux_avx/ActivePython-3.4/include/python3.4m
289 1 Herve Ballans
PY_LIBS:X86_64          /home/jsoc/ActiveStatePy/linux_x86_64/ActivePython-3.4/lib
290 1 Herve Ballans
PY_LIBS:AVX             /home/jsoc/ActiveStatePy/linux_avx/ActivePython-3.4/lib
291 1 Herve Ballans
PY_HOME:X86_64          /home/jsoc/ActiveStatePy/linux_x86_64/ActivePython-3.4
292 1 Herve Ballans
PY_HOME:AVX             /home/jsoc/ActiveStatePy/linux_avx/ActivePython-3.4
293 1 Herve Ballans
################## END PYTHON ##################
294 1 Herve Ballans
295 1 Herve Ballans
296 1 Herve Ballans
# NetDRMS users can request subdirectories from the Stanford proj directories
297 1 Herve Ballans
# (e.g., JSOC/proj/util). These users will need to contact Stanford and obtain
298 1 Herve Ballans
# the source subdirectories desired. They will then place these subdirectories
299 1 Herve Ballans
# in the JSOC/proj directory of their NetDRMS release. To properly build
300 1 Herve Ballans
# targets in these subdirectories, using the JSOC make system, the user needs
301 1 Herve Ballans
# to add entries to this configuration file - one entry for each subdirectory
302 1 Herve Ballans
# that contains source code to be compiled. Each entry is a space-separated pair
303 1 Herve Ballans
# of strings: the string "PROJDIR" followed by a subdirectory (of the proj
304 1 Herve Ballans
# directory).  For example:
305 1 Herve Ballans
#
306 1 Herve Ballans
# PROJDIR     util/apps
307 1 Herve Ballans
# PROJDIR     util/libs
308 1 Herve Ballans
#
309 1 Herve Ballans
# NOTE: It is not sufficient to list only a parent directory, like util. Source code
310 1 Herve Ballans
# in child directories will not automatically be compiled.
311 1 Herve Ballans
                                                                                                                                                                                           306,2         Bot
312 1 Herve Ballans
</pre>