Project

General

Profile

Hacking Keep » History » Revision 4

Revision 3 (Tom Clegg, 07/16/2014 09:22 AM) → Revision 4/9 (Tom Clegg, 07/16/2014 09:24 AM)

h1. Hacking Keep 

 {{toc}} 

 h2. Source tree layout 

 The Keep server source code is in @/services/keep/src/keep@. 

 <pre> 
 cd 
 git clone https://github.com/curoverse/arvados.git 
 ls arvados/services/keep/src/keep 
 </pre> 

 h2. Install build-prerequisites 

 Install Go. See http://golang.org/doc/install or try this short cut: 

 <pre> 
 wget https://go.googlecode.com/files/go1.2.1.linux-amd64.tar.gz 
 sudo tar -C /usr/local -xzf go1.2.1.linux-amd64.tar.gz 
 cd /usr/local/bin 
 sudo ln -s ../go/bin/* . 
 </pre> 

 (Check https://code.google.com/p/go/downloads/list for other platforms and newer versions.) 

 Install mux. 

 <pre> 
 GOPATH=~/go go get github.com/gorilla/mux 
 </pre> 

 h2. Run test suite 

 <pre> 
 cd ~/arvados/services/keep/src/keep 
 GOPATH=~/go go test 
 </pre> 

 You should see something like this: 

 <pre> 
 2014/07/16 09:24:01 GET e4d909c290d0fb1ca068ffaddf22cbd0 2014/04/17 18:20:34 e4d909c290d0fb1ca068ffaddf22cbd0: not found on any volumes, giving up 
 2014/07/16 09:24:01 GET e4d909c290d0fb1ca068ffaddf22cbd0 
 2014/07/16 09:24:01 GET e4d909c290d0fb1ca068ffaddf22cbd0 
 2014/07/16 09:24:01 GET e4d909c290d0fb1ca068ffaddf22cbd0 
 2014/07/16 09:24:01 GET e4d909c290d0fb1ca068ffaddf22cbd0 
 2014/07/16 09:24:01 PUT e4d909c290d0fb1ca068ffaddf22cbd0 
 2014/07/16 09:24:01 PUT e4d909c290d0fb1ca068ffaddf22cbd0 
 2014/07/16 09:24:01 PUT e4d909c290d0fb1ca068ffaddf22cbd0 
 2014/07/16 09:24:01 [MockVolume]: 2014/04/17 18:20:34 /tmp/keeptest071039943/keep: checksum mismatch for request e4d909c290d0fb1ca068ffaddf22cbd0 mismatch: /tmp/keeptest071039943/keep/e4d/e4d909c290d0fb1ca068ffaddf22cbd0 (actual hash 55ae4d45d2db0793d53f03e805f656e5) 
 2014/07/16 09:24:01 2014/04/17 18:20:34 e4d909c290d0fb1ca068ffaddf22cbd0: checksum mismatch, no good copy not found on any volumes, giving up 
 2014/07/16 09:24:01 GetBlock: reading 2014/04/17 18:20:34 /tmp/keeptest791706190/keep: opening /tmp/keeptest791706190/keep/e4d/e4d909c290d0fb1ca068ffaddf22cbd0: open /tmp/keeptest791706190/keep/e4d/e4d909c290d0fb1ca068ffaddf22cbd0: permission denied 
 2014/04/17 18:20:34 e4d909c290d0fb1ca068ffaddf22cbd0: Bad volume not found on any volumes, giving up 
 2014/07/16 09:24:01 [MockVolume]: Write(e4d909c290d0fb1ca068ffaddf22cbd0): Bad volume 
 2014/07/16 09:24:01 GetBlock: reading 2014/04/17 18:20:34 e4d909c290d0fb1ca068ffaddf22cbd0: Bad volume could not create directory /tmp/keeptest791706190/keep/e4d: mkdir /tmp/keeptest791706190/keep/e4d: permission denied 
 2014/07/16 09:24:01 2014/04/17 18:20:34 /tmp/keeptest791706190/keep: opening /tmp/keeptest791706190/keep/e4d/e4d909c290d0fb1ca068ffaddf22cbd0: open /tmp/keeptest791706190/keep/e4d/e4d909c290d0fb1ca068ffaddf22cbd0: permission denied 
 2014/04/17 18:20:34 e4d909c290d0fb1ca068ffaddf22cbd0: MD5 checksum 55ae4d45d2db0793d53f03e805f656e5 did not match request 
 2014/07/16 09:24:01 [MockVolume]: 2014/04/17 18:20:34 e4d909c290d0fb1ca068ffaddf22cbd0: not found on any volumes, giving up 
 2014/04/17 18:20:34 /tmp/keeptest667295577/keep: checksum mismatch for request e4d909c290d0fb1ca068ffaddf22cbd0 mismatch: /tmp/keeptest667295577/keep/e4d/e4d909c290d0fb1ca068ffaddf22cbd0 (actual hash 55ae4d45d2db0793d53f03e805f656e5) 
 2014/07/16 09:24:01 e4d909c290d0fb1ca068ffaddf22cbd0: checksum mismatch, no good copy found 
 2014/07/16 09:24:01 e4d909c290d0fb1ca068ffaddf22cbd0: could not create directory /tmp/volume_test436651248/e4d: mkdir /tmp/volume_test436651248/e4d: permission denied 
 PASS 
 ok        _/home/you/src/arvados/services/keep/src/keep     0.030s _/home/you/arvados/services/keep      0.136s 
 </pre>