Internship at CERN
From VCGR Wiki
Contents |
AT CERN
PROJECT GOAL: Translate LFC mappings used by EGEE to resource namespace service (RNS) resources associated with WS-Addressing standard
WEEK 0 (6.16-6.20)
Goal: Get set up and plan out project
Mon 6.16 - Arrival and registration start
Tue 6.17 - Paperwork: registration complete, badge acquired, safety course completed, bike form submitted; Initial project info: code base acquired
Wed 6.17 - Initial discussion; Paperwork: account/email setup, laptop network connection acquired
Thur 6.18 - Genesis II installed; background reading; project planning
Fri 6.19 - Examine RNS specs; examine genii rns; answer ques; email questions/arrange discussion;
WEEK 1 (6.23-6.28)
Goal: Clearly define and start first steps; get familiar with programming environment; generate skelaton/fill in logic for add service to test WS-Addressing with Axis2
Mon 6.23 - explore Axis2/C; learn how to create skelaton for RNS web service that uses WS-addressing with Axis2/C; phone call with Mark
Tue 6.24 - continued figuring out how to generate skelaton of RNS service; Human Computation Speaker; downloaded Genii source
Wed 6.25 - debugged WSDL2C generation for skelaton of RNS service
Thur 6.26 - generated skelaton of RNS service; started figuring out how to compile generated skelaton; debugged compiling errors
Fri 6.27 - finished debugging compiling errors; deployed RNS service; started creating client to consume service; turned on WS-Addressing module
WEEK 2 (6.30-7.04)
Goal Finish test client for RNS service; start getting familiar with how to connect to LFC via C code
Mon 6.30 - investigated how to create payload for client using AXIOM framework
Tue 7.01 - worked on test client for RNS service
Wed 7.02 - Creation Steps SUMUP so far; added logic to skelaton using auto-generated structures to populate test response; debugged server/client errors
Thur 7.03 - found root cause of server/client errors
Fri 7.04 - submitted bug report; proofread RNS specs
WEEK 3 (7.07-7.11)
Goal Connect to LFC via C code using skelaton framework
Mon 7.07 - started examining LFC code locations
Tue 7.08 - started examining LFC code
Wed 7.09 - create flow of LFC code interactions
Thur 7.10 - interacted with LFC on my computer via commandline
Fri 7.11 - wrote some code to interact with LFC
WEEK 4 (7.14-7.19)
Goal Add LFC code to Axis C code framework
Mon 7.14 - successfully run code that interacted with LFC
Tue 7.15 - code program that gets list of directory entries
Wed 7.16 - make list call from Axis2/C skelaton code; backup to AFS
Thus 7.17 - wraped list call in SOAP msg; added logic for making add call; started logic for remove call
Fri 7.18 - finished logic for making remove call
WEEK 5 (7.21-7.25)
Goal Update RNS implementation; try to interoperate with Genii; create ByteIO skelaton; start ByteIO logic impl; start presentation
Mon 7.21 - proofread new RNS documents
Tue 7.22 - finished proofreading new RNS docs; discussed next steps
Wed 7.23 - modify RNS ops to treat LFNs as directories and replicas as individual files in the RNS space
Thur 7.24 - finish RNS op modifications for dealing with LFNs and replicas
Fri 7.25 - debugged modifications
WEEK 6 (7.28-8.01)
Goal interoperate with Genii; start presentation
Mon 7.28 - finished RNS op modifications; installed Java; setup Genii development in Eclipse
Tue 7.29 - created Genii client to send rns requests to EGEE for interop; debugged attempted interop attempts
Wed 7.30 - successfully interoped for add, list, and remove between Genii client and LHC with no security
Thur 7.31 - add logic for remaining rns ops; outlined presentation; named service
Fri 8.1 - draft presentation; consider ByteIO WSDL
WEEK 7 (8.04-8.08)
Goal give final presentation; write final report; wrap up departure paperwork; save code
Mon 8.04 - prepared presentation
Tue 8.05 - presented presentation; started wrap-up procedure
Wed 8.06 - field trip to EPFL in Lausanne
Thur 8.07 - transferred documents to CVS; worked on final report
Fri 8.08 - cleaned up virtual and office workspace; finished final report; checked out
POST CERN - Fall 2008
September
9.12 (Fri) - get SNARL running (2 hours)
9.18 (Thu) - start ByteIO framework creation (1 hour)
9.24 (Wed) - finish ByteIO framework creation; start test client creation (3 hours)
9.25 (Thur) - finish test client creation (2 hours)
October
10.02 (Thur) - start filling in skeleton service (4 hours)
10.03 (Fri) - debugged skeleton service and attempted move to VM (5 hours)
10.07 (Tue) - continue debugging skeleton service; installed newer Axis2/C version (1.5.1); attempted WSDL validation (with Altova) and found one error (4 hours)
10.09 (Thur) - continued debugging skeleton service/WSDL validation (2 hours)
10.10 (Fri) - continued debugging and finally emailed axis2/c developers list about the 1.5.0 bug (5 hours)
10.23 (Thur) - no response from Axis2/c community; emailed ByteIO group; restarting debugging process (2.5 hours)
10.24 (Fri) - debugging broken service skeleton code for transfer information type; rewrote client for rbyteio testing since CERN machine is down (3 hours)
10.25 (Sat) - hand fixed broken service skeleton code for transfer information type! (4 hours)
10.29 (Wed) - reviewed LFC API and their matching to ByteIO; met with Mark (1.5 hours)
10.31 (Fri) - developed end-to-end test scenario for read op; met with Mark regarding implementation issues; read about accessing WSA elements in Axis2/c service (3 hours)
November
11.03 (Mon) - researched how to acquire WSA reference parameters from message header (3 hours)
11.04 (Tue) - figured out how to add WSA reference parameters to message header but not sure if properly; figured out how to use commandline tcpmon; figured out how to get message header in server but did not figure out how to get the ref params (5 hours)
11.05 (Wed) - asked axis2/c user group and devs for help extracting ref params; used address to pass location of lfc and get data.
11.17 (Mon) - got everything up and running again; extracted PATH of entry successfully from WS-Addressing header :D !!! (1 hour)
11.18 (Tue) - started LFC back up on pcitgd; moved service/client code over to pcitgd; got axis2/c v1.5 working on pcitgd along with services; used extracted path to get SURL of file (5 hours)
11.19 (Wed) - investigated details of SURL and TURL usage; started coding for SURL to get TURL (1.5 hours)
11.20 (Thur) - finished coding SURL to get TURL; extracted read parameters from read req; errors on testing (2 hours)
11.21 (Fri) - debugged errors; coded GFAL file reading implementation using TURL; did not test with LCG as still no access to SEs; implemented passing of test read data back to client; tested and debugged; (6 hours)
December
12.02 (Tue) - setting up Cygwin to use X windows; trying to install genesis CERN side to run Fuse (3 hours)
12.03 (Wed) - solved Fuse problems; solved BDII problems; ran successful READ using SABLE (4 hours)
12.04 (Thur) - got instructions for interop; interop try 1; submitting abstract
POST CERN - Spring 2009
January
1.18 (Sun) - data backup and code refamiliarization
February
02.04 (Wed) - start SABLE report
02.16 (Mon) - identifying porttype implementations in EPR metadata; recreating SNARL and SABLE interop; linked SNARL EPR into Genii RNS
02.17 (Tue) - got ls and cd operations working on linked in SNARL/SABLE EPRs into Genii RNS
02.18 (Wed) - try FUSE; try timing (port forwarding?); get cp/cat working; ; practice talk; paper writing
02.20 (Fri) - fixing SABLE gfal_open errors
02.25 (Wed) - running tests on VMs
PCITGD CleanUp - final file overview, commit, and system cleanup
