[ARVADOS] updated: eb1b1a9e03b9a00d3180fb666e696067ba595041

git at public.curoverse.com git at public.curoverse.com
Mon Mar 9 14:43:10 EDT 2015


Summary of changes:
 .../app/assets/stylesheets/application.css.scss    |   6 ++
 .../app/controllers/actions_controller.rb          |  18 +++-
 .../app/controllers/application_controller.rb      |  11 +++
 .../app/controllers/projects_controller.rb         |   3 +
 .../application/_name_and_description.html.erb     |   1 -
 .../_show_description.html.erb}                    |   7 --
 apps/workbench/app/views/projects/show.html.erb    |  10 +-
 .../test/integration/anonymous_access_test.rb      |   5 +
 .../workbench/test/integration/collections_test.rb |   7 +-
 .../test/integration/pipeline_instances_test.rb    |  51 ++++++++++-
 apps/workbench/test/integration/projects_test.rb   |  15 ++-
 services/keepstore/pull_worker_integration_test.go | 102 ++++++++++++++++-----
 12 files changed, 188 insertions(+), 48 deletions(-)
 copy apps/workbench/app/views/{application/_name_and_description.html.erb => projects/_show_description.html.erb} (54%)

       via  eb1b1a9e03b9a00d3180fb666e696067ba595041 (commit)
       via  2ae40cbbb77f0843662628732b9ca7679a369749 (commit)
       via  633660dcd81d4ddea5c0a55a7731af35c4586052 (commit)
       via  8f4c794c573d64e4be53ace480248cdfabe26fc7 (commit)
       via  1df8b46242badf6ae0189cbbe33b75695a455d2c (commit)
       via  1fa86a46b6a7b6000528e67f899608d058c159ae (commit)
       via  8c19d0da4331ba9c2605543f70c0f55875f41497 (commit)
       via  9b3c1e9692fbb590c20b334f1e2ec1c799baba91 (commit)
       via  1c6d77f980ea3d560fec8c4f0dafe3fe0d2b23fc (commit)
       via  8680153856ed2319735b6a1f832601354bbdfa61 (commit)
       via  57991d19a58903863194043717b2875417a40fe7 (commit)
       via  d0583fc94ca74daf94327ad3446ff72bd5e5bea1 (commit)
       via  6ba419ef43b3e06b2bc48b0204146349ab64ab5b (commit)
      from  81baf3629fb922da0ba35e7a57d9fadfa8a1a8c1 (commit)

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 eb1b1a9e03b9a00d3180fb666e696067ba595041
Author: Radhika Chippada <radhika at curoverse.com>
Date:   Mon Mar 9 14:42:49 2015 -0400

    3761: get keep services

diff --git a/services/keepstore/pull_worker_integration_test.go b/services/keepstore/pull_worker_integration_test.go
index b25d0ab..05da98b 100644
--- a/services/keepstore/pull_worker_integration_test.go
+++ b/services/keepstore/pull_worker_integration_test.go
@@ -2,6 +2,7 @@ package main
 
 import (
 	"crypto/tls"
+	"fmt"
 	"git.curoverse.com/arvados.git/sdk/go/arvadosclient"
 	"git.curoverse.com/arvados.git/sdk/go/arvadostest"
 	"git.curoverse.com/arvados.git/sdk/go/keepclient"
@@ -9,6 +10,7 @@ import (
 	"os"
 	"strings"
 	"testing"
+	"encoding/json"
 )
 
 var keepClient keepclient.KeepClient
@@ -21,55 +23,110 @@ type PullWorkIntegrationTestData struct {
 }
 
 func SetupPullWorkerIntegrationTest(t *testing.T, testData PullWorkIntegrationTestData, wantData bool) PullRequest {
+	os.Setenv("ARVADOS_API_HOST_INSECURE", "true")
+
 	arvadostest.StartAPI()
 	arvadostest.StartKeep()
 
-	os.Setenv("ARVADOS_API_HOST_INSECURE", "true")
-
 	arv, err := arvadosclient.MakeArvadosClient()
 	if err != nil {
 		t.Error("Error creating arv")
 	}
 
-	client := &http.Client{Transport: &http.Transport{
-		TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}}
-
 	keepClient = keepclient.KeepClient{
 		Arvados:       &arv,
-		Want_replicas: 1,
+		Want_replicas: 0,
 		Using_proxy:   true,
-		Client:        client,
+		Client:        &http.Client{},
 	}
 
 	random_token := GenerateRandomApiToken()
 	keepClient.Arvados.ApiToken = random_token
-
 	if err != nil {
 		t.Error("Error creating keepclient")
 	}
 
-	servers := make([]string, 1)
-	servers[0] = "https://" + os.Getenv("ARVADOS_API_HOST")
+	servers := GetKeepServices(t)
+
 	pullRequest := PullRequest{
 		Locator: testData.Locator,
 		Servers: servers,
 	}
 
-	service_roots := make(map[string]string)
-	for _, addr := range pullRequest.Servers {
-		service_roots[addr] = addr
-	}
-	keepClient.SetServiceRoots(service_roots)
-
 	if wantData {
+		service_roots := make(map[string]string)
+		for _, addr := range pullRequest.Servers {
+			service_roots[addr] = addr
+		}
+		keepClient.SetServiceRoots(service_roots)
+
 		locator, _, err := keepClient.PutB([]byte(testData.Content))
 		if err != nil {
-			t.Errorf("Error putting test data in setup for %s %s", testData.Content, locator)
+			t.Errorf("Error putting test data in setup for %s %s %v", testData.Content, locator, err)
 		}
 	}
+
 	return pullRequest
 }
 
+func GetKeepServices(t *testing.T) []string {
+	client := &http.Client{Transport: &http.Transport{
+		TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}}
+
+	req, err := http.NewRequest("GET", fmt.Sprintf("https://%s/arvados/v1/keep_services", os.Getenv("ARVADOS_API_HOST")), nil)
+	if err != nil {
+		t.Errorf("Error getting keep services: ", err)
+	}
+	req.Header.Set("Authorization", fmt.Sprintf("OAuth2 %s", os.Getenv("ARVADOS_API_TOKEN")))
+
+	resp, err := client.Do(req)
+	if err != nil {
+		t.Errorf("Error getting keep services: ", err)
+	}
+	if resp.StatusCode != 200 {
+		t.Errorf("Error status code getting keep services", resp.StatusCode)
+	}
+
+	defer resp.Body.Close()
+	var servers []string
+
+	decoder := json.NewDecoder(resp.Body)
+
+	var respJSON map[string]interface{}
+	err = decoder.Decode(&respJSON)
+	if err != nil {
+		t.Errorf("Error decoding response for keep services: ", err)
+	}
+
+	var service_names []string
+	var service_ports []string
+	for _, v1 := range respJSON {
+		switch v1_type := v1.(type) {
+		case []interface{}:
+			for _, v2 := range v1_type {
+				switch v2_type := v2.(type) {
+				case map[string]interface{}:
+					for name, value := range v2_type {
+						if name == "service_host" {
+							service_names = append(service_names, fmt.Sprintf("%s", value))
+						} else if name == "service_port" {
+							service_ports = append(service_ports, strings.Split(fmt.Sprintf("%f", value), ".")[0])
+						}
+					}
+				default:
+				}
+			}
+		default:
+		}
+	}
+
+	for i, port := range service_ports {
+		servers = append(servers, "https://"+service_names[i]+":"+port)
+	}
+
+	return servers
+}
+
 func TestPullWorkerIntegration_GetNonExistingLocator(t *testing.T) {
 	testData := PullWorkIntegrationTestData{
 		Name:     "TestPullWorkerIntegration_GetLocator",
@@ -97,6 +154,11 @@ func TestPullWorkerIntegration_GetExistingLocator(t *testing.T) {
 }
 
 func performPullWorkerIntegrationTest(testData PullWorkIntegrationTestData, pullRequest PullRequest, t *testing.T) {
+	// Override PutContent to mock PutBlock functionality
+	PutContent = func(content []byte, locator string) (err error) {
+		return
+	}
+
 	err := PullItemAndProcess(pullRequest, keepClient.Arvados.ApiToken, keepClient)
 
 	if len(testData.GetError) > 0 {
@@ -106,10 +168,4 @@ func performPullWorkerIntegrationTest(testData PullWorkIntegrationTestData, pull
 	} else {
 		t.Fail()
 	}
-
-	// Override PutContent to mock PutBlock functionality
-	PutContent = func(content []byte, locator string) (err error) {
-		// do nothing
-		return
-	}
 }

commit 2ae40cbbb77f0843662628732b9ca7679a369749
Merge: 81baf36 633660d
Author: Radhika Chippada <radhika at curoverse.com>
Date:   Mon Mar 9 09:42:53 2015 -0400

    Merge branch 'master' into 3761-pull-list-worker


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


hooks/post-receive
-- 




More information about the arvados-commits mailing list