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 "volume  is 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