[ARVADOS] updated: 80658e010d069d18f39f7c58740dc6b0b16cbaff

git at public.curoverse.com git at public.curoverse.com
Sat Aug 9 13:32:41 EDT 2014


Summary of changes:
 doc/_config.yml                                    |  2 +
 doc/sdk/go/index.html.textile.liquid               |  8 ++--
 docker/build_tools/Makefile                        |  7 ++++
 docker/build_tools/config.rb                       |  2 +-
 docker/keep/Dockerfile                             |  9 +----
 docker/keep/run-keep.in                            |  2 +-
 sdk/python/tests/run_test_server.py                | 45 ++++------------------
 sdk/python/tests/test_arv_put.py                   |  6 +--
 services/crunch/crunchstat/go.sh                   | 15 --------
 .../src/arvados.org => }/crunchstat/crunchstat.go  |  0
 services/keep/go.sh                                | 17 --------
 services/keepproxy/keepproxy_test.go               | 13 +++----
 services/keepstore/keepstore_test.go               | 11 ++++--
 13 files changed, 41 insertions(+), 96 deletions(-)
 delete mode 100755 services/crunch/crunchstat/go.sh
 rename services/{crunch/crunchstat/src/arvados.org => }/crunchstat/crunchstat.go (100%)
 delete mode 100755 services/keep/go.sh

  discards  87070c3467a966d5e35a784c769b40d023de0759 (commit)
       via  80658e010d069d18f39f7c58740dc6b0b16cbaff (commit)
       via  d47c009c2afd20b86cca083787d238c136e70abd (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (87070c3467a966d5e35a784c769b40d023de0759)
            \
             N -- N -- N (80658e010d069d18f39f7c58740dc6b0b16cbaff)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 80658e010d069d18f39f7c58740dc6b0b16cbaff
Author: Tom Clegg <tom at curoverse.com>
Date:   Sat Aug 9 13:30:49 2014 -0400

    3551: Use keep{store,proxy} from the working dir to build keep containers
    instead of running "apt-get install keep".

diff --git a/docker/build_tools/Makefile b/docker/build_tools/Makefile
index eb611ea..27f9909 100644
--- a/docker/build_tools/Makefile
+++ b/docker/build_tools/Makefile
@@ -104,6 +104,13 @@ WORKBENCH_GENERATED    = workbench/generated/*
 SSO_GENERATED_IN       = sso/*.in
 SSO_GENERATED          = sso/generated/*
 
+KEEP_DEPS += keep/generated/bin/keepproxy
+KEEP_DEPS += keep/generated/bin/keepstore
+keep/generated/bin/%: $(wildcard build/services/%/*.go)
+	mkdir -p keep/generated/src/git.curoverse.com
+	ln -sfn ../../../../.. keep/generated/src/git.curoverse.com/arvados.git
+	GOPATH=$(shell pwd)/keep/generated go get $(@:keep/generated/bin/%=git.curoverse.com/arvados.git/services/%)
+
 $(BUILD):
 	mkdir -p build
 	rsync -rlp --exclude=docker/ --exclude='**/log/*' --exclude='**/tmp/*' \
diff --git a/docker/build_tools/config.rb b/docker/build_tools/config.rb
index 77c721c..7f21940 100755
--- a/docker/build_tools/config.rb
+++ b/docker/build_tools/config.rb
@@ -49,7 +49,7 @@ Dir.glob(globdir + '/*.in') do |template_file|
   generated_dir = File.join(File.dirname(template_file), 'generated')
   Dir.mkdir(generated_dir) unless Dir.exists? generated_dir
   output_path = File.join(generated_dir, File.basename(template_file, '.in'))
-  File.open(output_path, "w") do |output|
+  File.open(output_path, "w", File.stat(template_file).mode) do |output|
     File.open(template_file) do |input|
       input.each_line do |line|
 
diff --git a/docker/keep/Dockerfile b/docker/keep/Dockerfile
index 240cb39..97dfe8f 100644
--- a/docker/keep/Dockerfile
+++ b/docker/keep/Dockerfile
@@ -6,16 +6,11 @@ RUN echo 'deb http://apt.arvados.org/ wheezy main' > /etc/apt/sources.list.d/apt
 
 RUN /usr/bin/apt-key adv --keyserver pgp.mit.edu --recv 1078ECD7
 
-RUN /usr/bin/apt-get update
-
-RUN /usr/bin/apt-get install keep
-
+ADD generated/bin/keepstore /usr/local/bin/
+ADD generated/bin/keepproxy /usr/local/bin/
 ADD generated/run-keep /usr/local/bin/
-RUN chmod +x /usr/local/bin/run-keep
 
 ADD generated/keep_signing_secret /etc/
 
-RUN /bin/chmod a+x /usr/local/bin/run-keep
-
 # Start keep
 CMD ["/usr/local/bin/run-keep"]
diff --git a/docker/keep/run-keep.in b/docker/keep/run-keep.in
index 9525ed5..a0b4cb0 100755
--- a/docker/keep/run-keep.in
+++ b/docker/keep/run-keep.in
@@ -8,4 +8,4 @@ else
     permission_args=""
 fi
 
-exec keep $permission_args -listen=":25107" -volumes="/keep-data"
+exec keepstore $permission_args -listen=":25107" -volumes="/keep-data"

commit d47c009c2afd20b86cca083787d238c136e70abd
Author: Tom Clegg <tom at curoverse.com>
Date:   Sat Aug 9 12:30:25 2014 -0400

    3551: Fix source tree layout.
    
    * Move $GOPATH out of the source tree. ($GOPATH is a workspace. Go
      knows how to import source trees into $GOPATH/src/.) This avoids
      replicating the Go workspace structure inside our source tree, and
      allows Go programs to import our libraries the normal way.
    
    * Add Go SDK documentation page showing how to import.
    
    * Rename keep to keepstore.
    
    * In Python tests, we assume keepproxy and keepstore binaries are
      already installed in $GOPATH/bin/ rather than guessing how you want
      them to be built.
    
    * Delete go.sh wrappers. Dependencies are already installed
      automatically by Go. GOPATH is left alone.

diff --git a/.gitignore b/.gitignore
index 0cddee5..9ddcf07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,9 +11,6 @@ sdk/perl/Makefile
 sdk/perl/blib
 sdk/perl/pm_to_blib
 */vendor/bundle
-services/keep/bin
-services/keep/pkg
-services/keep/src/github.com
 sdk/java/target
 *.class
 apps/workbench/vendor/bundle
diff --git a/doc/_config.yml b/doc/_config.yml
index d8b0d88..7dc43fa 100644
--- a/doc/_config.yml
+++ b/doc/_config.yml
@@ -60,6 +60,8 @@ navbar:
       - sdk/ruby/index.html.textile.liquid
     - Java:
       - sdk/java/index.html.textile.liquid
+    - Go:
+      - sdk/go/index.html.textile.liquid
     - CLI:
       - sdk/cli/index.html.textile.liquid
   api:
diff --git a/doc/sdk/go/index.html.textile.liquid b/doc/sdk/go/index.html.textile.liquid
new file mode 100644
index 0000000..27c4448
--- /dev/null
+++ b/doc/sdk/go/index.html.textile.liquid
@@ -0,0 +1,65 @@
+---
+layout: default
+navsection: sdk
+navmenu: Go
+title: "Go SDK"
+
+...
+
+The Go ("Golang":http://golang.org) SDK provides a generic set of wrappers so you can make API calls easily.
+
+h3. Installation
+
+You don't need to install anything. Just import the client like this. The go tools will fetch the relevant code and dependencies for you.
+
+<notextile>
+<pre><code class="userinput">import (
+	keepclient    "git.curoverse.com/arvados.git/sdk/go/keepclient"
+	arvadosclient "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
+)
+</code></pre>
+</notextile>
+
+h3. Examples
+
+Import the module. (We import the log module here too, so we can use it in the subsequent examples.)
+
+<notextile>
+<pre><code class="userinput">import (
+	keepclient    "git.curoverse.com/arvados.git/sdk/go/keepclient"
+	arvadosclient "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
+	"log"
+)
+</code></pre>
+</notextile>
+
+Set up an API client user agent:
+
+<notextile>
+<pre><code class="userinput">	arv, err := arvadosclient.MakeArvadosClient()
+	if err != nil {
+		log.Fatalf("Error setting up arvados client %s", err.Error())
+	}
+</code></pre>
+</notextile>
+
+Get the User object for the current user:
+
+<notextile>
+<pre><code class="userinput">	type user struct {
+		Uuid	     string `json:"uuid"`
+		FullName     int    `json:"full_name"`
+	}
+
+	var u user
+	err := arv.Call("GET", "users", "", "current", nil, &u)
+
+	if err != nil {
+		return err
+	}
+
+	log.Printf("Logged in as %s (uuid %s)", user.Uuid, user.FullName)
+</code></pre>
+</notextile>
+
+A few more usage examples can be found in the services/keepproxy and sdk/go/keepclient directories in the arvados source tree.
diff --git a/doc/sdk/index.html.textile.liquid b/doc/sdk/index.html.textile.liquid
index 1b1e18a..db5d6f1 100644
--- a/doc/sdk/index.html.textile.liquid
+++ b/doc/sdk/index.html.textile.liquid
@@ -10,6 +10,7 @@ This section documents how to access the Arvados API and Keep using various prog
 * "Perl SDK":{{site.baseurl}}/sdk/perl/index.html
 * "Ruby SDK":{{site.baseurl}}/sdk/ruby/index.html
 * "Java SDK":{{site.baseurl}}/sdk/java/index.html
+* "Go SDK":{{site.baseurl}}/sdk/go/index.html
 * "Command line SDK":{{site.baseurl}}/sdk/cli/index.html ("arv")
 
 SDKs not yet implemented:
diff --git a/sdk/go/src/arvados.org/sdk/sdk.go b/sdk/go/arvadosclient/sdk.go
similarity index 100%
rename from sdk/go/src/arvados.org/sdk/sdk.go
rename to sdk/go/arvadosclient/sdk.go
diff --git a/sdk/go/src/arvados.org/sdk/sdk_test.go b/sdk/go/arvadosclient/sdk_test.go
similarity index 100%
rename from sdk/go/src/arvados.org/sdk/sdk_test.go
rename to sdk/go/arvadosclient/sdk_test.go
diff --git a/sdk/go/go.sh b/sdk/go/go.sh
deleted file mode 100755
index 5553567..0000000
--- a/sdk/go/go.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh
-
-# Wraps the 'go' executable with some environment setup.  Sets GOPATH, creates
-# 'pkg' and 'bin' directories, automatically installs dependencies, then runs
-# the underlying 'go' executable with any command line parameters provided to
-# the script.
-
-rootdir=$(readlink -f $(dirname $0))
-GOPATH=$rootdir:$GOPATH
-export GOPATH
-
-mkdir -p $rootdir/pkg
-mkdir -p $rootdir/bin
-
-go get gopkg.in/check.v1
-
-go $*
diff --git a/sdk/go/src/arvados.org/keepclient/hashcheck.go b/sdk/go/keepclient/hashcheck.go
similarity index 100%
rename from sdk/go/src/arvados.org/keepclient/hashcheck.go
rename to sdk/go/keepclient/hashcheck.go
diff --git a/sdk/go/src/arvados.org/keepclient/hashcheck_test.go b/sdk/go/keepclient/hashcheck_test.go
similarity index 100%
rename from sdk/go/src/arvados.org/keepclient/hashcheck_test.go
rename to sdk/go/keepclient/hashcheck_test.go
diff --git a/sdk/go/src/arvados.org/keepclient/keepclient.go b/sdk/go/keepclient/keepclient.go
similarity index 97%
rename from sdk/go/src/arvados.org/keepclient/keepclient.go
rename to sdk/go/keepclient/keepclient.go
index d43a215..aa7e78b 100644
--- a/sdk/go/src/arvados.org/keepclient/keepclient.go
+++ b/sdk/go/keepclient/keepclient.go
@@ -2,8 +2,8 @@
 package keepclient
 
 import (
-	"arvados.org/sdk"
-	"arvados.org/streamer"
+	streamer "git.curoverse.com/arvados.git/sdk/go/streamer"
+	arvadosclient "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
 	"crypto/md5"
 	"errors"
 	"fmt"
@@ -33,7 +33,7 @@ const X_Keep_Replicas_Stored = "X-Keep-Replicas-Stored"
 
 // Information about Arvados and Keep servers.
 type KeepClient struct {
-	Arvados       *sdk.ArvadosClient
+	Arvados       *arvadosclient.ArvadosClient
 	Want_replicas int
 	Using_proxy   bool
 	service_roots *[]string
@@ -43,7 +43,7 @@ type KeepClient struct {
 
 // Create a new KeepClient.  This will contact the API server to discover Keep
 // servers.
-func MakeKeepClient(arv *sdk.ArvadosClient) (kc KeepClient, err error) {
+func MakeKeepClient(arv *arvadosclient.ArvadosClient) (kc KeepClient, err error) {
 	kc = KeepClient{
 		Arvados:       arv,
 		Want_replicas: 2,
diff --git a/sdk/go/src/arvados.org/keepclient/keepclient_test.go b/sdk/go/keepclient/keepclient_test.go
similarity index 100%
rename from sdk/go/src/arvados.org/keepclient/keepclient_test.go
rename to sdk/go/keepclient/keepclient_test.go
diff --git a/sdk/go/src/arvados.org/keepclient/support.go b/sdk/go/keepclient/support.go
similarity index 99%
rename from sdk/go/src/arvados.org/keepclient/support.go
rename to sdk/go/keepclient/support.go
index f3e47f9..ce15ce9 100644
--- a/sdk/go/src/arvados.org/keepclient/support.go
+++ b/sdk/go/keepclient/support.go
@@ -2,7 +2,7 @@
 package keepclient
 
 import (
-	"arvados.org/streamer"
+	"git.curoverse.com/arvados.git/sdk/go/streamer"
 	"errors"
 	"fmt"
 	"io"
diff --git a/sdk/go/src/arvados.org/streamer/streamer.go b/sdk/go/streamer/streamer.go
similarity index 100%
rename from sdk/go/src/arvados.org/streamer/streamer.go
rename to sdk/go/streamer/streamer.go
diff --git a/sdk/go/src/arvados.org/streamer/streamer_test.go b/sdk/go/streamer/streamer_test.go
similarity index 100%
rename from sdk/go/src/arvados.org/streamer/streamer_test.go
rename to sdk/go/streamer/streamer_test.go
diff --git a/sdk/go/src/arvados.org/streamer/transfer.go b/sdk/go/streamer/transfer.go
similarity index 100%
rename from sdk/go/src/arvados.org/streamer/transfer.go
rename to sdk/go/streamer/transfer.go
diff --git a/sdk/python/tests/run_test_server.py b/sdk/python/tests/run_test_server.py
index dc95d8a..a82866a 100644
--- a/sdk/python/tests/run_test_server.py
+++ b/sdk/python/tests/run_test_server.py
@@ -20,10 +20,10 @@ if __name__ == '__main__' and os.path.exists(
 import arvados.api
 import arvados.config
 
-ARV_API_SERVER_DIR = '../../../services/api'
-KEEP_SERVER_DIR = '../../../services/keep'
+SERVICES_SRC_DIR = os.path.join(MY_DIRNAME, '../../../services')
 SERVER_PID_PATH = 'tmp/pids/webrick-test.pid'
 WEBSOCKETS_SERVER_PID_PATH = 'tmp/pids/passenger-test.pid'
+os.environ['PATH'] = os.environ['GOPATH'] + '/bin:' + os.environ['PATH']
 
 def find_server_pid(PID_PATH, wait=10):
     now = time.time()
@@ -64,7 +64,7 @@ def kill_server_pid(PID_PATH, wait=10):
 
 def run(websockets=False, reuse_server=False):
     cwd = os.getcwd()
-    os.chdir(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR))
+    os.chdir(os.path.join(SERVICES_SRC_DIR, 'api'))
 
     if websockets:
         pid_file = WEBSOCKETS_SERVER_PID_PATH
@@ -116,7 +116,7 @@ def run(websockets=False, reuse_server=False):
 
 def stop():
     cwd = os.getcwd()
-    os.chdir(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR))
+    os.chdir(os.path.join(SERVICES_SRC_DIR, 'api'))
 
     kill_server_pid(WEBSOCKETS_SERVER_PID_PATH, 0)
     kill_server_pid(SERVER_PID_PATH, 0)
@@ -135,7 +135,7 @@ def stop():
 
 def _start_keep(n, keep_args):
     keep0 = tempfile.mkdtemp()
-    keep_cmd = ["bin/keep",
+    keep_cmd = ["keepstore",
                 "-volumes={}".format(keep0),
                 "-listen=:{}".format(25107+n),
                 "-pid={}".format("tmp/keep{}.pid".format(n))]
@@ -153,15 +153,6 @@ def _start_keep(n, keep_args):
 def run_keep(blob_signing_key=None, enforce_permissions=False):
     stop_keep()
 
-    cwd = os.getcwd()
-    os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
-    if os.environ.get('GOPATH') == None:
-        os.environ["GOPATH"] = os.getcwd()
-    else:
-        os.environ["GOPATH"] = os.getcwd() + ":" + os.environ["GOPATH"]
-
-    subprocess.call(["./go.sh", "install", "keep"])
-
     if not os.path.exists("tmp"):
         os.mkdir("tmp")
 
@@ -191,8 +182,6 @@ def run_keep(blob_signing_key=None, enforce_permissions=False):
     api.keep_disks().create(body={"keep_disk": {"keep_service_uuid": s1["uuid"] } }).execute()
     api.keep_disks().create(body={"keep_disk": {"keep_service_uuid": s2["uuid"] } }).execute()
 
-    os.chdir(cwd)
-
 def _stop_keep(n):
     kill_server_pid("tmp/keep{}.pid".format(n), 0)
     if os.path.exists("tmp/keep{}.volume".format(n)):
@@ -203,26 +192,12 @@ def _stop_keep(n):
         os.remove("tmp/keep.blob_signing_key")
 
 def stop_keep():
-    cwd = os.getcwd()
-    os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
-
     _stop_keep(0)
     _stop_keep(1)
 
-    os.chdir(cwd)
-
 def run_keep_proxy(auth):
     stop_keep_proxy()
 
-    cwd = os.getcwd()
-    os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
-    if os.environ.get('GOPATH') == None:
-        os.environ["GOPATH"] = os.getcwd()
-    else:
-        os.environ["GOPATH"] = os.getcwd() + ":" + os.environ["GOPATH"]
-
-    subprocess.call(["./go.sh", "install", "arvados.org/keepproxy"])
-
     if not os.path.exists("tmp"):
         os.mkdir("tmp")
 
@@ -230,7 +205,8 @@ def run_keep_proxy(auth):
     os.environ["ARVADOS_API_HOST_INSECURE"] = "true"
     os.environ["ARVADOS_API_TOKEN"] = fixture("api_client_authorizations")[auth]["api_token"]
 
-    kp0 = subprocess.Popen(["bin/keepproxy", "-pid=tmp/keepproxy.pid", "-listen=:{}".format(25101)])
+    kp0 = subprocess.Popen(["keepproxy",
+                            "-pid=tmp/keepproxy.pid", "-listen=:{}".format(25101)])
 
     authorize_with("admin")
     api = arvados.api('v1', cache=False)
@@ -238,17 +214,12 @@ def run_keep_proxy(auth):
 
     arvados.config.settings()["ARVADOS_KEEP_PROXY"] = "http://localhost:25101"
 
-    os.chdir(cwd)
-
 def stop_keep_proxy():
-    cwd = os.getcwd()
-    os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
     kill_server_pid("tmp/keepproxy.pid", 0)
-    os.chdir(cwd)
 
 def fixture(fix):
     '''load a fixture yaml file'''
-    with open(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR, "test", "fixtures",
+    with open(os.path.join(SERVICES_SRC_DIR, 'api', "test", "fixtures",
                            fix + ".yml")) as f:
         return yaml.load(f.read())
 
diff --git a/sdk/python/tests/test_arv_put.py b/sdk/python/tests/test_arv_put.py
index 7a82768..9bc385d 100644
--- a/sdk/python/tests/test_arv_put.py
+++ b/sdk/python/tests/test_arv_put.py
@@ -466,10 +466,8 @@ class ArvPutIntegrationTest(unittest.TestCase):
         # to provision the Keep server.
         config_blob_signing_key = None
         for config_file in ['application.yml', 'application.default.yml']:
-            with open(os.path.join(os.path.dirname(__file__),
-                                   run_test_server.ARV_API_SERVER_DIR,
-                                   "config",
-                                   config_file)) as f:
+            with open(os.path.join(run_test_server.SERVICES_SRC_DIR,
+                                   "api", "config", config_file)) as f:
                 rails_config = yaml.load(f.read())
                 for config_section in ['test', 'common']:
                     try:
diff --git a/services/crunch/crunchstat/go.sh b/services/crunch/crunchstat/go.sh
deleted file mode 100755
index 640a0d2..0000000
--- a/services/crunch/crunchstat/go.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#! /bin/sh
-
-# Wraps the 'go' executable with some environment setup.  Sets GOPATH, creates
-# 'pkg' and 'bin' directories, automatically installs dependencies, then runs
-# the underlying 'go' executable with any command line parameters provided to
-# the script.
-
-rootdir=$(readlink -f $(dirname $0))
-GOPATH=$rootdir:$rootdir/../../sdk/go:$GOPATH
-export GOPATH
-
-mkdir -p $rootdir/pkg
-mkdir -p $rootdir/bin
-
-go $*
diff --git a/services/crunch/crunchstat/src/arvados.org/crunchstat/crunchstat.go b/services/crunchstat/crunchstat.go
similarity index 100%
rename from services/crunch/crunchstat/src/arvados.org/crunchstat/crunchstat.go
rename to services/crunchstat/crunchstat.go
diff --git a/services/keep/go.sh b/services/keep/go.sh
deleted file mode 100755
index 156fe90..0000000
--- a/services/keep/go.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh
-
-# Wraps the 'go' executable with some environment setup.  Sets GOPATH, creates
-# 'pkg' and 'bin' directories, automatically installs dependencies, then runs
-# the underlying 'go' executable with any command line parameters provided to
-# the script.
-
-rootdir=$(readlink -f $(dirname $0))
-GOPATH=$rootdir:$rootdir/../../sdk/go:$GOPATH
-export GOPATH
-
-mkdir -p $rootdir/pkg
-mkdir -p $rootdir/bin
-
-go get github.com/gorilla/mux
-
-go $*
diff --git a/services/keep/src/arvados.org/keepproxy/keepproxy.go b/services/keepproxy/keepproxy.go
similarity index 98%
rename from services/keep/src/arvados.org/keepproxy/keepproxy.go
rename to services/keepproxy/keepproxy.go
index 367854b..367a9c5 100644
--- a/services/keep/src/arvados.org/keepproxy/keepproxy.go
+++ b/services/keepproxy/keepproxy.go
@@ -1,8 +1,8 @@
 package main
 
 import (
-	"arvados.org/keepclient"
-	"arvados.org/sdk"
+	keepclient "git.curoverse.com/arvados.git/sdk/go/keepclient"
+	arvadosclient "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
 	"flag"
 	"fmt"
 	"github.com/gorilla/mux"
@@ -68,7 +68,7 @@ func main() {
 
 	flagset.Parse(os.Args[1:])
 
-	arv, err := sdk.MakeArvadosClient()
+	arv, err := arvadosclient.MakeArvadosClient()
 	if err != nil {
 		log.Fatalf("Error setting up arvados client %s", err.Error())
 	}
diff --git a/services/keep/src/arvados.org/keepproxy/keepproxy_test.go b/services/keepproxy/keepproxy_test.go
similarity index 95%
rename from services/keep/src/arvados.org/keepproxy/keepproxy_test.go
rename to services/keepproxy/keepproxy_test.go
index 4bf3478..22b1f30 100644
--- a/services/keep/src/arvados.org/keepproxy/keepproxy_test.go
+++ b/services/keepproxy/keepproxy_test.go
@@ -1,8 +1,8 @@
 package main
 
 import (
-	"arvados.org/keepclient"
-	"arvados.org/sdk"
+	keepclient "git.curoverse.com/arvados.git/sdk/go/keepclient"
+	arvadosclient "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
 	"crypto/md5"
 	"crypto/tls"
 	"fmt"
@@ -14,7 +14,6 @@ import (
 	"net/url"
 	"os"
 	"os/exec"
-	"strings"
 	"testing"
 	"time"
 )
@@ -31,8 +30,8 @@ var _ = Suite(&ServerRequiredSuite{})
 type ServerRequiredSuite struct{}
 
 func pythonDir() string {
-	gopath := os.Getenv("GOPATH")
-	return fmt.Sprintf("%s/../../sdk/python/tests", strings.Split(gopath, ":")[0])
+	cwd, _ := os.Getwd()
+	return fmt.Sprintf("%s/../../sdk/python/tests", cwd)
 }
 
 func (s *ServerRequiredSuite) SetUpSuite(c *C) {
@@ -109,7 +108,7 @@ func runProxy(c *C, args []string, token string, port int) keepclient.KeepClient
 
 	os.Setenv("ARVADOS_KEEP_PROXY", fmt.Sprintf("http://localhost:%v", port))
 	os.Setenv("ARVADOS_API_TOKEN", token)
-	arv, err := sdk.MakeArvadosClient()
+	arv, err := arvadosclient.MakeArvadosClient()
 	kc, err := keepclient.MakeKeepClient(&arv)
 	c.Check(kc.Using_proxy, Equals, true)
 	c.Check(len(kc.ServiceRoots()), Equals, 1)
@@ -131,7 +130,7 @@ func (s *ServerRequiredSuite) TestPutAskGet(c *C) {
 	setupProxyService()
 
 	os.Setenv("ARVADOS_EXTERNAL_CLIENT", "true")
-	arv, err := sdk.MakeArvadosClient()
+	arv, err := arvadosclient.MakeArvadosClient()
 	kc, err := keepclient.MakeKeepClient(&arv)
 	c.Check(kc.Arvados.External, Equals, true)
 	c.Check(kc.Using_proxy, Equals, true)
diff --git a/services/keep/src/keep/handler_test.go b/services/keepstore/handler_test.go
similarity index 100%
rename from services/keep/src/keep/handler_test.go
rename to services/keepstore/handler_test.go
diff --git a/services/keep/src/keep/handlers.go b/services/keepstore/handlers.go
similarity index 100%
rename from services/keep/src/keep/handlers.go
rename to services/keepstore/handlers.go
diff --git a/services/keep/src/keep/keep.go b/services/keepstore/keepstore.go
similarity index 100%
rename from services/keep/src/keep/keep.go
rename to services/keepstore/keepstore.go
diff --git a/services/keep/src/keep/keep_test.go b/services/keepstore/keepstore_test.go
similarity index 97%
rename from services/keep/src/keep/keep_test.go
rename to services/keepstore/keepstore_test.go
index de189b6..b153d6d 100644
--- a/services/keep/src/keep/keep_test.go
+++ b/services/keepstore/keepstore_test.go
@@ -7,6 +7,8 @@ import (
 	"os"
 	"path"
 	"regexp"
+	"sort"
+	"strings"
 	"testing"
 )
 
@@ -342,11 +344,14 @@ func TestIndex(t *testing.T) {
 	vols[1].Put(TEST_HASH_2+".meta", []byte("metadata"))
 
 	index := vols[0].Index("") + vols[1].Index("")
-	expected := `^` + TEST_HASH + `\+\d+ \d+\n` +
+	index_rows := strings.Split(index, "\n")
+	sort.Strings(index_rows)
+	sorted_index := strings.Join(index_rows, "\n")
+	expected := `^\n` + TEST_HASH + `\+\d+ \d+\n` +
 		TEST_HASH_3 + `\+\d+ \d+\n` +
-		TEST_HASH_2 + `\+\d+ \d+\n$`
+		TEST_HASH_2 + `\+\d+ \d+$`
 
-	match, err := regexp.MatchString(expected, index)
+	match, err := regexp.MatchString(expected, sorted_index)
 	if err == nil {
 		if !match {
 			t.Errorf("IndexLocators returned:\n%s", index)
diff --git a/services/keep/src/keep/perms.go b/services/keepstore/perms.go
similarity index 100%
rename from services/keep/src/keep/perms.go
rename to services/keepstore/perms.go
diff --git a/services/keep/src/keep/perms_test.go b/services/keepstore/perms_test.go
similarity index 100%
rename from services/keep/src/keep/perms_test.go
rename to services/keepstore/perms_test.go
diff --git a/services/keep/src/keep/volume.go b/services/keepstore/volume.go
similarity index 100%
rename from services/keep/src/keep/volume.go
rename to services/keepstore/volume.go
diff --git a/services/keep/src/keep/volume_unix.go b/services/keepstore/volume_unix.go
similarity index 100%
rename from services/keep/src/keep/volume_unix.go
rename to services/keepstore/volume_unix.go
diff --git a/services/keep/src/keep/volume_unix_test.go b/services/keepstore/volume_unix_test.go
similarity index 100%
rename from services/keep/src/keep/volume_unix_test.go
rename to services/keepstore/volume_unix_test.go

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list