ENCP release notes, from v2_15 to v2_17. (v2_16 withdrawn) Encp changes: ============= Significant changes were made to multiple interface selection. This is done by altering the routing table based on the enstore.conf file. If verbosity, at any level, is turned on the first few lines of output contain the user name (real and effective if different), start time, command line and version. Note: This information should be included in any error reporting to enstore developers. Incorrect error message "volumeis marked DELETED" now given as "file is marked as deleted". Files marked read-only would fail to transfer because the write permissions were not set. This no longer happens. Effective ids are now used for permission verification. Misc.: ====== "enstore pnfs --files " command has been removed. Use "enstore vol --list " instead. "enstore monitor --verbose " command has been added. Detailed cvs commit logs ========== ./bin/enstore-start ==================================================================================== add in cdfen ========== ./bin/enstore-stop ==================================================================================== add in cdfen ========== ./bin/fix_cgi_url.py ==================================================================================== fix url default ========== ./bin/fix_pnfs_layer.py ==================================================================================== more irregular path cases do except, not traceback ========== ./doc/WWW/index.html ==================================================================================== make it a new row add anne's doc change location of 2 links merge in disk cache information ========== ./doc/WWW/disk_cache_sys.gif ==================================================================================== moved disk cache info to main page moverd to etc ========== ./doc/WWW/disk_cache_sys.kil ==================================================================================== moved disk cache info to main page moverd to etc ========== ./etc/hosts ==================================================================================== add stkendm1a and stkendm2a d0enmvr4a and 7a out of stken wrong name for new nodes, no trailing a add in 3 new cdf dcache nodes correct srv7 address correct d0enmvr12a ip d0enmvr9,11,12 moved back to d0 ========== ./etc/ess.gif ==================================================================================== back to original change name ========== ./etc/ess.kil ==================================================================================== back to original change name ========== ./etc/rip.conf ==================================================================================== new media type format Added max wrappersizes and max_file_sizes for each library manager. ========== ./etc/saagHelp.html ==================================================================================== clarify storage library update ========== ./etc/sam.conf ==================================================================================== add max_dismount_delay = 1 minute for all tape drives to improve sam rate problems add 2 things to ratekeeper Update d0enmvr5a device information to match its new configuration on AML2 north Modified the drive entries for d0enmvr5a and d0enmvr6a removed DI52 and DI53 moved online priority for d0olc from lto to mezsilo LM set minimal file size for lto and mezsile LMs to 100MB Reduced max memory for movers by 50M on the nodes that run 2 movers back off on memory bumped enstore legal rev to v_2_13 get rid of words last week add another media label D0 movers 9,11,12 were misconfigured on our side Mover Cable label Real drive Was configured as drive 11 11 4 5 12 12 5 6 9 13 6 4 new media label format try again stk->STK in type for media changer back out multiple media changers back out previous change change stk_MediaLoader to STK_MediaLoader so it is recognized by the mover move drives to correct configuration allow more than 1 media tag sam.conf add in 3 new movers in mezzanine 9,11,12 change inventory_cache to inventory_cache_dir add inventory_cache add cambot and remove x physical cableing add cambot to log area Added max wrappersizes and max_file_sizes for each library manager. ========== ./etc/serverStatusHelp.html ==================================================================================== update date fix errors update ========== ./etc/stk.conf ==================================================================================== created e871 with initial quota 80 disciplined chmichanga added disk quota Increase cms (eagle) to 663 fixed configuration for disk movers add 2 things to ratekeeper Increase ktev quota by 50 to 164 d0enmvr4a and 7a out of stken added type to disk movers forget about disk movers on enstore system commands do not mnitor disk movers added disk movers and library manager. No media changer needed for disk movers. comment out an extra line disabled online priority for d0olc turned on state logging for eagle21 and 22 movers added patriot storage group - bja Reduced max memory for movers by 50M on the nodes that run 2 movers minos quota 30 -> 70 more mods in discipline corrected discipline 1. Reduced max memory for movers by 50M 2. disciplined cms from snickers and theory from fncrdm e791 quota increased to 30 (by 10) cdf out take out cdf items from stken adjust D0 quota to accommodate purchased tapes by d0 corrected quota for cms, sdss, btev, and ktev Increased the quota for cdf in the cdf_library. -tj move cdfenmvr3-6 into stk for cdf use Increase D0 quota to add PRMs Adjust cdf quota to 201 bumped enstore legal rev to v_2_13 get rid of words last week Modify quota for auger add new media types for web pages new media label format try again stk->STK in type for media changer stk.conf back out previous change change stk_MediaLoader to STK_MediaLoader so it is recognized by the mover allow more than 1 media tag allow more null volumes move the null mover from rip10 to stkensrv5 change inventory_cache to inventory_cache_dir add inventory_cache all aml items are decommissioned, d0enmvr9,11,12 out - back to d0en Incresed 9940 CMS quota to 442 /Seva add cambot and remove x physical cableing add cambot to log area Added max wrappersizes and max_file_sizes for each library manager. ========== ./etc/root.k5login ==================================================================================== added stkendmx the cdf dcache nodes do not have the trailing a, alas... root.k5login add cachen1a, remove cachen3a root.k5login add in d0ensrv7 ========== ./etc/d0en.enstore.k5login ==================================================================================== add in nbirch and baisley add in d0ensrv7 mvr 9,11,12 back into d0en ========== ./etc/stken.enstore.k5login ==================================================================================== added stkendmx d0enmvr4a and 7a out add in nbirch and baisley cdf back into cdf move cdfenmvr3-6 into stk for cdf use d0enmvr9,11,12 out of stken, back in d0en ========== ./etc/cdf.conf ==================================================================================== testing restrict_version_access testing restrict_version_access testing restrict_version_access take out test on 9 and 10 movers moved 99409 and 994010 to test lib add 2 things to ratekeeper 99406 and 99407 to cdf library from test moved 99407 into test library do not monitor test library added testLM and assigned 99406 mover to it paranoid check to 30 for cdf, just like d0 change log names slightly back off on memory used by mover. different robot rename c1 and c2 movers to be 1 and 2 the stk media changer needs to be watched new configuration move cdfenmvr3-6 into stk for cdf use let inq monitor the media changer fntt2 instead of fntt add cdf media changer get rid of words last week new media label format try again stk->STK in type for media changer back out multiple media changers back out previous change change stk_MediaLoader to STK_MediaLoader so it is recognized by the mover allow more than 1 media tag change name to 994010 from 99410 change scsi device move to stk media change on stken, move null mover to srv3 move database to raid on cdf change inventory_cache to inventory_cache_dir add inventory_cache add cambot and remove x physical cableing move databases to temp area until disks are ready ========== ./etc/auth_stk.conf ==================================================================================== created e871 testing changes from stkensrv2 copied from stkensrv2 - unchecked in updates Testing mod_config. Only added a space. Add some spaces on the 1st line - test new mod_config tried again Updated btev and d0lib-archive tape allocation. ========== ./etc/cdfen.enstore.k5login ==================================================================================== add in nbirch and baisley dca3 not dca3a, ditto for 4,5 add in cdf dca nodes ========== ./etc/inetd.conf ==================================================================================== allow more connections for kshd ========== ./etc/cdfen.hosts.allow ==================================================================================== tighter on hosts.allow for cdf. disallow minos ips - only needed for stken ========== ./etc/rip.enstore.k5login ==================================================================================== add in nbirch and baisley update rip info ========== ./modules/EXfer.c ==================================================================================== Lots of changes. Both versions of EXfer do_read_write() return a struct return_values. In the non-threaded version there is profiling capability (enable with -DPROFILE). Cleanup of the code before the code review. ========== ./modules/Makefile ==================================================================================== remove *.a when make clean ========== ./modules/Setup ==================================================================================== remove dbmmodule to thread or not to thread ... that is the question for -DTHREADED revert to versioni 1.39 Change to enable compiling EXfer.c using the new threaded way. ========== ./sbin/AML2Vols ==================================================================================== run on srv4 - copy to srv2 (web) ========== ./sbin/Chip2 ==================================================================================== do not do an ekill first use ekill not killall ========== ./sbin/EPS ==================================================================================== no more ngop, no more swapped out processes ========== ./sbin/STKVols ==================================================================================== forgot to add $ forgot to finish adding copy_node more changes for cdf silo allow fntt2 from cdfen ========== ./sbin/backup2Tape ==================================================================================== add cdf ========== ./sbin/chkcrons ==================================================================================== adjust labels add a then use ; use correct quotation marks add labels to error lines on cron plots ========== ./sbin/choose_ran_file ==================================================================================== delete V_D in exit case - just clean up ========== ./sbin/delfile ==================================================================================== change the style of getting vol update last access timei of the volume while deleting file(s) ========== ./sbin/ecron ==================================================================================== add call to save_cron_output on error moved to save_cron_output.py try again on getting command printed out in alarm list more info in the alarm add ability to generate alarm when job fails ========== ./sbin/getnodeinfo ==================================================================================== add path to Nodeinfo ========== ./sbin/log-stash ==================================================================================== change in adic log processing ========== ./sbin/mod_config ==================================================================================== add check for DISPLAY not being set Second attept to add authorized volumes capability to this script. Added support to check the authorized volume configuration file(s). ========== ./sbin/routes ==================================================================================== remove d0enmvr4a and 7a from stk add in cdfendca nodes put cdf back in cdfen remove killing of netperf add a -9 use ekill not killall move d0enmvr9,11,12 back to d0en from stken change mrtg link ========== ./sbin/tarit ==================================================================================== more checks for files before copying check if special files exist and then tar really not backup user files, except for enstore we do not make a files.list anymore ========== ./sbin/STKlog ==================================================================================== add cdf silo fntt2 ========== ./sbin/selbit ==================================================================================== use selclear in ipmi home move this to the cvs location and away from /usr/local/ ========== ./sbin/ipmi_restart ==================================================================================== allow restart of ipmi do not restart the ipmisrv process use ipmisrv in ipmi area ========== ./sbin/Sdr ==================================================================================== do not check these remove alarm generation do not do an ekill first use ekill not killall get rid of baseboard -5v because it seems to be nonstandard use sdrread in ipmi home area use sdrread in ipmi area not /usr/local/bin ========== ./sbin/Sel ==================================================================================== do not do an ekill first use ekill not killall run selread from ipmi home use selread and decoder from the ~enstore/ipmi area ========== ./sbin/readDcache ==================================================================================== print filename correctly take out try counter histogram ========== ./sbin/netscan ==================================================================================== allow dccp allow ftpcp most nodes just have biterror take care of Eileen running inquisitor out of her home area check for ekill - all kill jobs allow dasadmin - really last check in check gettkt monitor this file - needed for some jobs and needs to be in enstore home area for rc.local and rc.sysinit to be executable count, not justgrep more process on dca nodes, alas - I am not thinking. more process on dca nodes more process on dca nodes alarm on bad keytabs move keytab check to separate file add in check of keytabs add definition of cut apache web server only change croncheck into more general filecheck add check of boot_cleanup in /etc/rc.d/rc.local check options on ekill make sure file/volume clerk is running by looking for python get rid of deprecated - in ps command check on number of process - needs to be less than 200 check that ekill is in crontab check that db_checkpoint and db_deadlock are running on file and volume clerk rearrange crontab check take out the fi cdf back into cdfen add check for /etc/watchdog_reset - otherwise the ipmisrv wont restart make non production nodes report errors to somewhere that is watched add check of enstore-boot undo mangling undo mangling changes for rip changes for rip add in rip checks add check of sudoers move cdfenmvr3-6 into stk for cdf use better protection on killing other rsyncs jobs - kill only those wrt cron directories also kill the hanging rsync commands move farmlets to end because the access the net and can hang kill farmlets if job hung and then check to see if we can run again" netscan -p option on mkdir always succeeds, never an error move netscan to local cronjob different args on PS for checking for dog check for enstore .bashrc .bash_profile disable the dog if armed exclude grep on grep fix time, check for dog action add check that ipmisrv is really running and with NO_DOG option check for watchdog rest in crontab, check for ipmisrv same in /usr/local/bin as /home/enstore/ipmi allow petravic to run zope add check of farmlets add check of farmlets ========== ./sbin/ADICDrvBusy ==================================================================================== only plot last quarter ========== ./sbin/gang ==================================================================================== d0enmvr4a and 7a out of stken cdf back into cdf move cdfenmvr3-6 into stk for cdf use d0enmvr 9,11,12 back to d0en from stken ========== ./sbin/STKDrvBusy ==================================================================================== add a plot dimitri l wants it is columns 1 and 4 instead of 1 and 2 add fntt2 for cdf only plot last quarter add cdf support ========== ./src/Trace.py ==================================================================================== optimized trace function show the size of the truncated message fix up severity on web page ========== ./src/alarm.py ==================================================================================== check for junk in alarms file ========== ./src/alarm_client.py ==================================================================================== move getting udp_client to generic_client fix up severity on web page enable admin mode ========== ./src/alarm_server.py ==================================================================================== move getting udp_client to generic_client ========== ./src/atomic.py ==================================================================================== Uses a different format for the tmpname used during the link file lock switch. Also, ENOLINK isn't on OSF1. Uses EFTYPE for OSF1. ========== ./src/backup.py ==================================================================================== remove knowledge of interface.py ========== ./src/cleanUDP.py ==================================================================================== Added the function reply_to_caller_using_interface_ip() to udp_server. Added a __del__() function to cleanUDP. encp.py uses reply_to_caller_using_interface_ip() for the routing reply. ========== ./src/configuration_client.py ==================================================================================== move getting udp_client to generic_client enable admin mode ========== ./src/configuration_server.py ==================================================================================== remove inheritance of disp. worker from ConfigurationDict move inherit of dispatching worker from config dict to configuration server ========== ./src/db.py ==================================================================================== fix a minor bug in cacheCursor fix a minor bug in cacheCursor remove knowledge of interface.py optional cache for entire database ========== ./src/dbs.py ==================================================================================== move getting udp_client to generic_client enable admin mode ========== ./src/dispatching_worker.py ==================================================================================== decrease count to 20 added traces dispatching_wrorker is split to dispatching_wrorker and udp_server ========== ./src/e_errors.py ==================================================================================== support removing old servers from outage file ========== ./src/encp.py ==================================================================================== bumping version to v2_17 because of encpCut Encp was retrying to early. Up the wait time from 30 seconds to 15 minutes (standard timeout time). This only had to do with multiple interfaces. Handle dcache filesize setting correctly. Error handling bug fix for filesystem_check(). bumping version to v2_16 because of encpCut add more information in conflict alarm Added the user (effective and real) name to the log file output. Removed an eroneous error message. Added username to things printed at beginning of encp with verbosity turned on. Added KeyError to list of exceptions caught when an error occurs trying to determine ownership of files. Encp was incorrectly putting the remote filename in the fullname section of the wrapper subticket. It now uses the local filename. Put in signal handling code to make encp.py pass pychecker leaving only one warning left. Removed a debug print statement. Added inputfile_check() to create_write_requests(). bumping version to x2_16_1 because of encpCut Fixed little things, mostly those found by pychecker. "volume is maked DELETED" errors shoud be "file is marked as deleted". There was a problem if the /etc/enstore.conf file was not there. Fixed. Added the start time, command line and version to the stdout output if verbosity turned on. Also, made a change in regard to the reporting of the final error status. This version appears to handle antispoofing! Only needs testing. Added the function reply_to_caller_using_interface_ip() to udp_server. Added a __del__() function to cleanUDP. encp.py uses reply_to_caller_using_interface_ip() for the routing reply. Finally the first version that works with the new mover/encp handshake. If all goes well the versions of these files will fix the anti-spoofing problem. The routes were being deleted to early for the TCP encp-mover data transfer. Some packets were being sent incorrectly. The tickets would grow in size for each file in a multi-file transfer. This no longer happens. Also, read requests are sorted by the location cookie before being sent to the library manager. These files were change how routes are deleted. The first enstore/encp command given will setup the static routes to the server nodes. They will remain in place and will not be deleted. The encp transfers with the mover nodes will have their routes deleted. These changes allow for encp/enstore to correctly select which ethernet interface to send outgoing packets on. (This is the version done after looking at the packets with the analyzer.) Fixes a problem if the destination "file" is /dev/null. This version includes the fix for the D0 permission denied error when the local file does not have write permissions on writes. The actual failure occurs when trying to set metadata without write permissions on the real file. This fix moves the setting of the file permissions to after setting the filesize (which must be the last metadata set), but done so in such a way not to cause a major failure should an error occur. Bug fix inside of e_access(). And the first have of the bug fix for the "CMS marked as deleted bug." Bug fix for the last access and modififed times not being updated correctly. The last access and modificatin times are now updated for the input and output files, respectively. The storage group has been added to ENCPs EXFER log message. This data will be used by the inquisitor for web page information. Second attempt at the route selection problem. e_access(): encp now uses this instead of os.access(). os.access() uses the real uid/gid and not the effective uid/gid. Revert to previous version. There was a problem with Linux. These changes alter the way that routes are selected and configured. This should fix the ACLS problem (hopefully). ========== ./src/enstore.py ==================================================================================== enstore_saag.py remove unused code bug fix when no options help bug fixes fixed Estarting and stopping ========== ./src/enstore_admin.py ==================================================================================== check for intf errors ========== ./src/enstore_constants.py ==================================================================================== move bytes/day/mover to a subdir add bytes/day/mover plot add ratekeeper to servers The ratekeeper now sends heartbeat messages. add a debug level enstore_saag.py add severity write out override to statusonly file too add support for all production systems saag page add support for mover down % in config add storage group ========== ./src/enstore_files.py ==================================================================================== make a link from mover plots page to regular plots page add plots of bytes/day/drive type add mount labels and new bytes/day/mover plots beginning addition of new plots enstore_saag.py add support for overall production systems status bug fix write out override to statusonly file too add support for all production systems saag page check for junk in alarms file allow more than 1 media tag add storage group to encp page is known ========== ./src/enstore_functions.py ==================================================================================== move bytes/day/mover to a subdir add unformat_time fix forward reference add support for all production systems saag page remove 2nd import add type check to strip_node allow more than 1 media tag ========== ./src/enstore_html.py ==================================================================================== add default nav_link make a link from mover plots page to regular plots page add plots of bytes/day/drive type add mount label to mount latency plot too add mount labels and new bytes/day/mover plots add bytes/day/mover plot change position of known down change title on saag page change gif for server web page support disk mover location cookies fix problem with no pending requests fix bug when checking work queues for lm enstore_saag.py add red ball if node down add support for overall production systems status set some vars in init for pychecker change method to function allow more than 1 media tag ========== ./src/enstore_make_log_calendar.py ==================================================================================== enable user mode The user mode (ADMIN vs USER) is now passed correctly from enstore.py to the client python files. ========== ./src/enstore_make_plot_page.py ==================================================================================== enable admin mode Added import for sys. The user mode (ADMIN vs USER) is now passed correctly from enstore.py to the client python files. ========== ./src/enstore_plots.py ==================================================================================== move bytes/day/mover to a subdir add plots of bytes/day/drive type add mount label to mount latency plot too add mount labels and new bytes/day/mover plots beginning addition of new plots do not install read/write bpd files anymore remove bpd read and bpd written plots ========== ./src/enstore_status.py ==================================================================================== add plots of bytes/day/drive type add mount labels and new bytes/day/mover plots beginning addition of new plots add storage group to encp page is known ========== ./src/enstore_up_down.py ==================================================================================== clean out seen_down file add support for mover down % in config allow admin mode from command line ========== ./src/enstore_user.py ==================================================================================== check for intf errors ========== ./src/enstore_utils_cgi.py ==================================================================================== set PYTHONPATH set PATH ========== ./src/entv.py ==================================================================================== entv now gets the 'known_config_servers' field from its default ENSTORE_CONFIG_HOST value. It then uses this dictionary to chose which system it is supposed to monitor. ========== ./src/event_relay.py ==================================================================================== remove knowledge of interface.py ========== ./src/file_clerk.py ==================================================================================== minor fix add rebuild_pnfs_file() remove volume_clerk dependency in bfid_info() add estricted_access to del_bfid ========== ./src/file_clerk_client.py ==================================================================================== move getting udp_client to generic_client make help string of --deleted more meaningful bug fix add rebuild_pnfs_file() sorted by location cookies enable admin mode ========== ./src/ftt_driver.py ==================================================================================== id driver is open in RO state set mode to 0 ========== ./src/generic_client.py ==================================================================================== move getting udp_client to generic_client For --alive requests, if an error occurs contacting the configuration server return that error and not the bogus error returned by continuing. ========== ./src/generic_server.py ==================================================================================== move getting udp_client to generic_client ========== ./src/host_config.py ==================================================================================== If something goes wrong, it is possible that changing the routing table will lead to a recursive crash because of some Trace.log() functions. They have been removed. Also, always convert the address to dotted decimal format before comparision when determining if the ip is already in the routing table. Fix to skip route deletion/additon if the source and destination are on the same machine. If an interface is down it should be skipped. Fixed little things, mostly those found by pychecker. If all goes well the versions of these files will fix the anti-spoofing problem. Fixes to how the routing table is read in. Fix for route selection. Removed a print statement. This version uses netstat -rn intead of netstat -r. roll back one version The routing table is no longer looked up every time. It is read in the first time, then a cached version is used to speed up enstore/encp. When a change has been made to the routing table, the cached version is updated. These files were change how routes are deleted. The first enstore/encp command given will setup the static routes to the server nodes. They will remain in place and will not be deleted. The encp transfers with the mover nodes will have their routes deleted. These changes allow for encp/enstore to correctly select which ethernet interface to send outgoing packets on. (This is the version done after looking at the packets with the analyzer.) Hack so the file passes mylint. Bug fixes for previous commit for single interface machines. Second attempt at the route selection problem. Revert to previous version. There was a problem with Linux. These changes alter the way that routes are selected and configured. This should fix the ACLS problem (hopefully). ========== ./src/inquisitor.py ==================================================================================== add ratekeeper to servers support removing old servers from outage file check queue before accessing it fix bug when queue is {} from lm. change pnfs key to vc due to ticket change allow more than 1 media tag ========== ./src/inquisitor_client.py ==================================================================================== move getting udp_client to generic_client enable admin mode ========== ./src/inquisitor_plots.py ==================================================================================== make a link from mover plots page to regular plots page add mount labels and new bytes/day/mover plots ========== ./src/inventory.py ==================================================================================== close database when done bug fix get rid of buggy shelve. use cPickle directly for cache fix a typo fix no quotas ... alignment align format align format remove color for 'emergency' add line number and fix none:emergency remove duplicated printing of progress make it robost to cache problem add cache summary fix a bug add cache for volume summary revert last access skipping do not bother checking last_access = -1 skipping volumes that were not accessed in two days skipping deleted volumes This is a more efficient version of inventory ========== ./src/library_manager.py ==================================================================================== more accurate convert_version added trace modified send_regret to not send done_cleanup rq. changed log message in read_from_hsm better check for jobs at mover already added time in state delete work at movers entry then return if paused in have_bound modified send_regret according to the mover-encp exchange protocol modification bug fixed, changes in effect backed off did something wrong fix typo remove annoying log message check restrictions while processing pending queue no, now fixed typo no, now fixed typo fixed typo change the type of file_family_width to int in the incoming request ========== ./src/library_manager_client.py ==================================================================================== added time in state move getting udp_client to generic_client exit if LM does not exist enable admin mode enstore lib --get-queue '' The above command didn't work with the host name set to empty string. The options dictionary was configured improperly. Fixed. ========== ./src/log_client.py ==================================================================================== move getting udp_client to generic_client enable admin mode ========== ./src/log_server.py ==================================================================================== move getting udp_client to generic_client ========== ./src/media_changer_client.py ==================================================================================== move getting udp_client to generic_client enable admin mode ========== ./src/monitor_client.py ==================================================================================== move getting udp_client to generic_client Added a --verbose command. Explicit routing was incorrect. Now uses standard udp way of routing. The ISCONN which should be EISCONN problem is now in sync between these two files. If gethostbyaddr/name fails, it is skipped instead of throwing traceback. A collection of other things is fixed. These are things pychecker 0.8.6 found that 0.5 did not. enable admin mode ========== ./src/monitor_server.py ==================================================================================== Fix to work with new dispatching worker/udp server. Cleanup for pychecker. The ISCONN which should be EISCONN problem is now in sync between these two files. ========== ./src/monitored_server.py ==================================================================================== add ratekeeper ========== ./src/mover-nanny.py ==================================================================================== changed name of the mover lock file changed name of the mover lock file ========== ./src/mover.py ==================================================================================== fix for a callback problem added trace message added trace message put del_udp_client back. Do not remove added argumetnts to a log message in stream_write added time in state default dismount delay for disk mover is 0 fixed a bug fixed a bug found by pychecker fixed a bug fixed bug explicitely clean contents of memory buffers 1. correct processing of write protected tapes. 2. reinitialize memory buffer before starting transfer, not after 3. log mover state if log_state key presents in the config file reinitialize buffer instead of just deleting it to avoid failres in threads added missing compression key required by cern wrapper added missing compression key required by cern wrapper added missing compression key required by cern wrapper This change allows the mover to talk to encp with routing protocal included. delete udp client after sending udp control message to encp fix udp message address antispoofing changed name of the mover lock file anoter bug fixed fixed bug with non existent buffer attribute 1. Do not schedule mover down when going to the error state. 2. Create a Buffer object when starting transfer and delete it when transfer ends. The "barbarian" way to fix a memory leak. 3. Log the thread states when dismount failed. 4. Removed doubled methods from DiskMover class. ========== ./src/mover_client.py ==================================================================================== move getting udp_client to generic_client enable admin mode ========== ./src/multiple_interface.py ==================================================================================== If an interface is down it should be skipped. These changes alter the way that routes are selected and configured. This should fix the ACLS problem (hopefully). replace ifconfig with netstat for Irix 6.2 ========== ./src/net_driver.py ==================================================================================== added log message ========== ./src/plotter.py ==================================================================================== bug fix make a link from mover plots page to regular plots page add new bytes/day/mover plots and mount labels move getting udp_client to generic_client add more options enable admin mode The user mode (ADMIN vs USER) is now passed correctly from enstore.py to the client python files. ========== ./src/pnfs.py ==================================================================================== to make pychecker more happy better handle of local and remote pnfs paths better handle of local and remote pnfs paths add forced to File.update() test the existence of translated local pnfs path fix a typo add get_local_pnfs_path() Spelling correction for error message. Cleanup for pychecker. fix a typo handle inconsistence exception separately fix a typo handle physical path and meta path separately more for missing drive info fix a missing back slash optional drive field in File no more error message in initializing File object Removes the "enstore pnfs --files " command. take care of obsolete volmap make sure the size is set right Obtaing the first line from an empty layer would through a KeyError. It is now caught and re-raised as an IOError. enable admin mode Bug fix to prevent a traceback. Missing a 'break' statement. do not set size if file does not exist correct size setting adjust orignal path name while load File fro path ========== ./src/ratekeeper.py ==================================================================================== Invalid time paramater was passed to select(). Possible due to an ntp time update??? This change will keep it from crashing. The ratekeeper now sends heartbeat messages. ========== ./src/ratekeeper_client.py ==================================================================================== move getting udp_client to generic_client enable admin mode ========== ./src/udp_client.py ==================================================================================== fix for a callback problem send done_cleanup right after the reply from disp. worker is received If an interface is down it should be skipped. If all goes well the versions of these files will fix the anti-spoofing problem. This version uses netstat -rn intead of netstat -r. roll back one version These files were change how routes are deleted. The first enstore/encp command given will setup the static routes to the server nodes. They will remain in place and will not be deleted. The encp transfers with the mover nodes will have their routes deleted. These changes allow for encp/enstore to correctly select which ethernet interface to send outgoing packets on. (This is the version done after looking at the packets with the analyzer.) Second attempt at the route selection problem. Revert to previous version. There was a problem with Linux. These changes alter the way that routes are selected and configured. This should fix the ACLS problem (hopefully). ========== ./src/verify_db.py ==================================================================================== change cursor style ========== ./src/volume_clerk.py ==================================================================================== do not restrict a volume assignment for disk media remove cache add 'no_mc' state to get_media_changer_state() add restricted_access to addvol and rmvolent turn enstore ball red when no new volume can be drawn fix a minor bug add --touch caching entire volume db in memory ========== ./src/volume_clerk_client.py ==================================================================================== move getting udp_client to generic_client temporarily turn off key checking in import better error message of invalid volume label when --add fix a typo add check_label() and --bypass-label-check enable admin mode relax the error handling in import correct the valume name of --import remember to initialize touch add --touch ========== ./src/www_server.py ==================================================================================== allow more than 1 media tag ========== ./src/yank.py ==================================================================================== remove knowledge of interface.py ========== ./src/media_changer.py ==================================================================================== add readonly capability, as a test, for 9840 and 9940, in mediachanger a proper place for this is inside the stk media changer method. use acls host name instead of hard-coded fntt name of the media changer class must be consistent with one in the config file another common error ========== ./src/super_remove.py ==================================================================================== never user_mode The user mode (ADMIN vs USER) is now passed correctly from enstore.py to the client python files. ========== ./src/log_trans_fail.py ==================================================================================== forget about exceptions on transfer failed page. interested in drive/tape failures only ========== ./src/option.py ==================================================================================== add new bytes/day/mover plots and mount labels Cleanup for pychecker. Added --verbose for monitor client. Removes the "enstore pnfs --files " command. add --bypass-label-check add --touch ========== ./src/enstore_show_inventory_cgi.py ==================================================================================== add cdfen live version skipping deleted volumes this is a test version that generates file info on the fly ========== ./src/show_file_cgi.py ==================================================================================== just setup ========== ./src/enstore_saag.py ==================================================================================== remove network piece write out override to statusonly file too add support for all production systems saag page enable admin mode ========== ./src/show_volume_cgi.py ==================================================================================== sorting is done by file_clerk_client polished a little bit ========== ./tools/bless.py ==================================================================================== add prompt when other versions not blessed ========== ./ups/chooseConfig ==================================================================================== d0enmvr7a and d0enmvr4a back into d0en fold add lancaster group cdf nodes back to cdf move cdfenmvr3-6 into stk for cdf use d0enmvr 9,11,12 back to d0en from stken ========== ./ups/enstore.table ==================================================================================== add lancaster add setup optional of ipmi