== Setup == [[PageOutline]] === ipp user === Operations are generally performed as the ipp user on the [wiki:Production_Cluster Production Cluster]. You should add your ssh public key to ~ipp/.ssh/authorized_keys for ease of access. === Pantasks === Pantasks runs in the server/client mode, so that it can easily be accessed by multiple people. To distribute the load, we use the following for the server: * summit copy: ippc01 * registration: ippc02 * standard science: ippc16 * publishing: ippc08 * distribution: ippc15 * cleanup: ippc07 * replication: ippdb00 * update: ippc13 * pstamp: ippdb02 * detrend: ippc06 * addstar: ipp004 The client can be run on any machine, and by any user, so long as you're in the appropriate directory (which contain a ptolemy.rc file that selects the correct server to contact). === Server Scripts === The input scripts used by the different pantasks servers are maintained in svn under 'operations'. Like 'ippMonitor', the installation of this directory requires site specific information: {{{ % cd ~ipp/ipp-svn/operations % configure --opsdir ~ipp % make install }}} == Pantasks Servers == All the servers start exactly the same way. Their input files come pre-configured with a set of hosts, labels (and in the case of stdscience, survey tasks). Everything is ready to go. This is how to start one of the pantasks, for example, !SummitCopy: * Check which machine to use for the server, [wiki:PS1_Operations#Pantasks above]. * Start the server: {{{ % ssh ipp@ippc01 % cd summitcopy % pantasks_server & }}} * Start the client: {{{ % cd ~ipp/summitcopy % pantasks_client pantasks: server input input pantasks: setup pantasks: run }}} If all of the pantasks need to be started or stopped, it is more efficient to use check_system.sh. == IPP User backup and restore == Important files in the home directory of the IPP user on the MHPCC cluster are saved to a backup with the script ~ipp/make.backup. This uses rsync to save copies to a target backup location (currently /data/ipp004.0/ipp/operations). To restore from this directory, use rsync. == Clean Checkout and Compile of IPP software == Make sure the trunk compiles. When it compiles, make a tag, for example: {{{ svn copy https://svn.pan-starrs.ifa.hawaii.edu/repo/ipp/trunk https://svn.pan-starrs.ifa.hawaii.edu/repo/ipp/tags/ipp-20100601 }}} and checkout a copy of this tag into ~ipp/src/ipp-20100601 compile it, using: {{{ psbuild -ops -extbuild }}} This builds it with the required magic libraries (and errors out if magic cannot be built), and sets the '-dev' option as well (builds ippdb.src rather than using the checked in version). Note: There is some problem with the build for magic. It fails the first time through. To complete the build use: {{{ psbuild -ops -start magic }}} If database changes are required, update BOTH gpc1 and isp, to keep them in sync. Currently, the following files need to be updated, to point to the current build: * .tcshrc * .ptolemyrc * addstar/ptolemyrc and the following file will need to be copied to the new location: * psconfig/(OLD_BUILD).lin64/share/pantasks/modules/nebulous.site.pro Check ~ipp/README to see if there are other instructions. == Updating Magic Code == The magic and related software is stored in ~ipp/magic_tarballs with names like magic.20091023.tgz and ssa-core-cpp.20091023.tgz. The active release is linked to ~ipp/magic.tgz and ~ipp/ssa-core-cpp.tgz. If a magic update is provided, place the source code in magic_tarballs with an equivalent name and update the ~ipp link. The new code can be built manually (as opposed to using psbuild -ops), these are the steps. To build the new code, it is necessary to update the tree in the ipp build directory. Go to the top-level magic directory in the tree (eg, ~ipp/ipp-svn/magic) and do the following steps: {{{ psconfigure make update make all make install }}} The 'make update' step is the critical one here: it untars the code from ~ipp/magic.tgz and ~ipp/ssa-core-cpp.tgz. If the code is present, magic will be build by the standard IPP build system.