[ARVADOS] updated: 0dd85fcd31ef5f251dcf143fef4118d6ea56f700

git at public.curoverse.com git at public.curoverse.com
Tue Jun 16 14:49:50 EDT 2015


Summary of changes:
 .../app/controllers/collections_controller.rb      |   9 -
 .../app/controllers/projects_controller.rb         |  11 +-
 apps/workbench/app/models/arvados_api_client.rb    |  14 +-
 apps/workbench/app/models/arvados_base.rb          |  23 +-
 .../collections/_show_source_summary.html.erb      |  13 +-
 apps/workbench/app/views/layouts/body.html.erb     |   6 +
 apps/workbench/app/views/projects/public.html.erb  |  29 ++
 apps/workbench/config/application.default.yml      |   6 +-
 apps/workbench/config/routes.rb                    |   2 +
 .../controllers/collections_controller_test.rb     |   7 +
 .../test/controllers/projects_controller_test.rb   |  32 ++
 apps/workbench/test/helpers/manifest_examples.rb   |   1 +
 apps/workbench/test/helpers/time_block.rb          |   1 +
 .../test/integration/anonymous_access_test.rb      |   5 +
 .../test/integration/application_layout_test.rb    |   2 +
 .../collection_unit_test.rb                        |  71 +++++
 .../collections_controller_test.rb                 |  71 +++++
 .../collections_perf_test.rb                       | 116 +++++++
 apps/workbench/test/test_helper.rb                 |  34 ++-
 apps/workbench/test/unit/arvados_base_test.rb      |  87 ++++++
 doc/_config.yml                                    |   3 +-
 doc/_includes/_arv_run_redirection.liquid          |   2 +
 doc/_includes/_ssh_addkey.liquid                   |  15 +-
 .../_tutorial_bwa_sortsam_pipeline.liquid          |  15 +-
 doc/_includes/_tutorial_cluster_name.liquid        |   3 +
 .../_tutorial_expectations_workstation.liquid      |   3 +
 doc/_layouts/default.html.liquid                   |   1 +
 doc/css/button-override.css                        |   7 +
 doc/index.html.liquid                              |   7 +-
 .../create-standard-objects.html.textile.liquid    |   2 +-
 .../install-compute-node.html.textile.liquid       | 109 +++++++
 .../install-crunch-dispatch.html.textile.liquid    |  70 ++++-
 ...l-manual-prerequisites-ruby.html.textile.liquid |   3 +-
 .../getting_started/community.html.textile.liquid  |   4 +-
 .../getting_started/workbench.html.textile.liquid  |   2 +-
 doc/user/index.html.textile.liquid                 |   2 +-
 doc/user/reference/api-tokens.html.textile.liquid  |   4 +-
 doc/user/topics/arv-docker.html.textile.liquid     |   4 +-
 doc/user/topics/arv-run.html.textile.liquid        |   6 +
 doc/user/topics/arv-web.html.textile.liquid        |   3 +
 doc/user/topics/run-command.html.textile.liquid    |   2 +
 ...nning-pipeline-command-line.html.textile.liquid |  10 +-
 doc/user/topics/tutorial-job1.html.textile.liquid  |   8 +-
 .../topics/tutorial-parallel.html.textile.liquid   |   2 +-
 .../running-external-program.html.textile.liquid   |  17 +-
 .../tutorial-firstscript.html.textile.liquid       |  10 +-
 .../tutorial-keep-get.html.textile.liquid          |   2 +-
 .../tutorials/tutorial-keep.html.textile.liquid    |  11 +-
 ...tutorial-pipeline-workbench.html.textile.liquid |   8 +-
 .../tutorial-submit-job.html.textile.liquid        |   8 +-
 docker/api/Dockerfile                              |   4 +-
 docker/api/apache2_vhost.in                        |   2 -
 docker/api/application.yml.in                      |  11 +-
 docker/api/arvados-clients.yml.in                  |   2 +-
 .../{keep_server_1.json => keep_server_0.json.in}  |   3 +-
 .../{keep_server_0.json => keep_server_1.json.in}  |   2 +-
 docker/api/omniauth.rb.in                          |   2 +-
 docker/api/setup-gitolite.sh.in                    |   4 +-
 docker/arvdock                                     |  58 +++-
 docker/base/Dockerfile                             |   2 +-
 docker/build_tools/Makefile                        |  11 +-
 docker/build_tools/build.rb                        |  52 ++--
 docker/config.yml.example                          |  12 +-
 docker/doc/Dockerfile                              |   5 +-
 docker/doc/{apache2_vhost => apache2_vhost.in}     |   5 +-
 docker/sso/apache2_vhost.in                        |   2 -
 docker/workbench/Dockerfile                        |   4 +-
 docker/workbench/apache2_vhost.in                  |  13 +-
 docker/workbench/application.yml.in                |   6 +-
 sdk/cli/bin/crunch-job                             | 340 ++++++++++++++-------
 sdk/go/arvadosclient/arvadosclient.go              |  33 +-
 sdk/go/arvadosclient/arvadosclient_test.go         |  14 +
 sdk/java/pom.xml                                   |  12 +-
 .../java/org/arvados/sdk/{java => }/Arvados.java   |  24 +-
 .../org/arvados/sdk/{java => }/MethodDetails.java  |   4 +-
 sdk/python/arvados/api.py                          |  21 ++
 sdk/python/arvados/arvfile.py                      |  10 +-
 sdk/python/arvados/commands/arv_copy.py            |   5 +-
 sdk/python/arvados/commands/keepdocker.py          | 148 ++++++---
 sdk/python/setup.py                                |   3 +-
 sdk/python/tests/run_test_server.py                |   9 +
 sdk/python/tests/test_api.py                       |  18 ++
 sdk/python/tests/test_arvfile.py                   |  19 +-
 .../api/app/controllers/application_controller.rb  |  13 +-
 services/api/app/models/arvados_model.rb           |  21 +-
 services/api/app/models/blob.rb                    |  15 +-
 services/api/app/models/collection.rb              |  12 +-
 services/api/app/models/node.rb                    |  86 ++++--
 services/api/config/application.default.yml        |  53 ++--
 ...50526180251_leading_space_on_full_text_index.rb |  41 +++
 services/api/db/structure.sql                      |  18 +-
 .../arvados/v1/collections_controller_test.rb      |  38 ++-
 services/api/test/helpers/manifest_examples.rb     |  31 ++
 services/api/test/helpers/time_block.rb            |  11 +
 .../integration/collections_performance_test.rb    |  40 +++
 .../api/test/unit/collection_performance_test.rb   |  61 ++++
 services/api/test/unit/node_test.rb                |  49 +++
 services/datamanager/collection/collection.go      |  28 +-
 services/datamanager/summary/pull_list.go          |  11 +-
 services/datamanager/summary/pull_list_test.go     |  12 +
 services/keepstore/handlers.go                     |   5 -
 101 files changed, 1826 insertions(+), 462 deletions(-)
 create mode 100644 apps/workbench/app/views/projects/public.html.erb
 create mode 120000 apps/workbench/test/helpers/manifest_examples.rb
 create mode 120000 apps/workbench/test/helpers/time_block.rb
 create mode 100644 apps/workbench/test/integration_performance/collection_unit_test.rb
 create mode 100644 apps/workbench/test/integration_performance/collections_controller_test.rb
 create mode 100644 apps/workbench/test/integration_performance/collections_perf_test.rb
 create mode 100644 apps/workbench/test/unit/arvados_base_test.rb
 create mode 100644 doc/_includes/_tutorial_cluster_name.liquid
 create mode 100644 doc/_includes/_tutorial_expectations_workstation.liquid
 create mode 100644 doc/css/button-override.css
 create mode 100644 doc/install/install-compute-node.html.textile.liquid
 rename docker/api/{keep_server_1.json => keep_server_0.json.in} (59%)
 rename docker/api/{keep_server_0.json => keep_server_1.json.in} (59%)
 rename docker/doc/{apache2_vhost => apache2_vhost.in} (62%)
 rename sdk/java/src/main/java/org/arvados/sdk/{java => }/Arvados.java (96%)
 rename sdk/java/src/main/java/org/arvados/sdk/{java => }/MethodDetails.java (94%)
 create mode 100644 services/api/db/migrate/20150526180251_leading_space_on_full_text_index.rb
 create mode 100644 services/api/test/helpers/manifest_examples.rb
 create mode 100644 services/api/test/helpers/time_block.rb
 create mode 100644 services/api/test/integration/collections_performance_test.rb
 create mode 100644 services/api/test/unit/collection_performance_test.rb

       via  0dd85fcd31ef5f251dcf143fef4118d6ea56f700 (commit)
       via  61c3f86eb779ab8e723e43354eddafe219bc27d9 (commit)
       via  3812c3e89d4048a91db28b4b9276f0c45dba7201 (commit)
       via  f7cf309e7d7003b5bf9407af81e9a2b1374cde8e (commit)
       via  6a59d473c1574eec4db1f83b5d1a963b4f976e5a (commit)
       via  efc42e74d68cd131db98a2582077bd34d72ebc0b (commit)
       via  1c03f0c13bd55683a12c68d9bfc2a602b7815a16 (commit)
       via  e8ae9364dce380d305833f35dfb25578175664d7 (commit)
       via  1b7af451ac13a5813594ec10296bedc894d98a59 (commit)
       via  456967e1991ea8adc30038b60f5c34703b47b694 (commit)
       via  6a6cd4516f0753f8bbe15265f299e83860ff7174 (commit)
       via  a9c1ba7bffe05b9231102dcad33546b39a59e823 (commit)
       via  18e24e8b11b92909ddeafe81d3f64ad85f9cb097 (commit)
       via  e56061a95228f9c81085cdf30a68c60931cdaf66 (commit)
       via  833c4e9022ab3efd6a8f9277f7e0d281250bb636 (commit)
       via  511daa2d275143d89600f015ee0bb19dcbe5641c (commit)
       via  b33597e94eec5f21fbbcfa72611a3b36397755d5 (commit)
       via  869f3f0ad541c85bfb72060b1018905d3f882292 (commit)
       via  a12cf91db3ececed782d9718af30553f8866ad81 (commit)
       via  5881feb407af2d4e5785ad57232cc3bfd12b86ec (commit)
       via  a341306ea30917b0b5ac245259bd0380c497e4ca (commit)
       via  7cd190acfc0b6ce7f65b3effa1e2ce75ed692a3d (commit)
       via  0d540b1fde91b85db18fa027de65bb67c5389477 (commit)
       via  b193c49962deb916893e1ecb0ab04df8b00e3d7a (commit)
       via  ebdaedbc54c80730733c61cecb3998e26cf5ee7b (commit)
       via  375e0f68744fdd73f13921e8449de8c6fb232169 (commit)
       via  55f5486de7676b8906066b290ed0420b19f90eda (commit)
       via  24e15ff4b9d357d59827db9ec4f1bd165086eecb (commit)
       via  4e27d97b0161e56943a5828262a0fb873b826f22 (commit)
       via  602706ef5510b3f07fc5fa988019952d2133320c (commit)
       via  39a1340d56f7acbddb771f6bef36b68ee9076885 (commit)
       via  c9e40c6e552bc35f661eb3ed8eff04786cf40566 (commit)
       via  22c8b6367a9cd79b17240b7dca1ac8f7d8e7ee77 (commit)
       via  de8324b3fbbf3f67f0f61c162f5895e8dcd3142d (commit)
       via  69f592e029493afb8a0709811b5be1fefabafb4b (commit)
       via  4004979fcf1572336a86660b783fcdbebf658db7 (commit)
       via  c9f0347802b2d7b4844f283072c7931504e25ade (commit)
       via  95a1e7bbc1d6f931a0ea50cef9ceb1ea5074a76c (commit)
       via  c4c8977ef25cc6805f2cca1dedfc83faecc0bc23 (commit)
       via  de1e5fd5605aaf11b96ef411201e11ac767fe8ba (commit)
       via  d9ab8c81c11120c32864858d7caafe908c408ad5 (commit)
       via  1da9a2a61d66601ab9a02bff439d610ee19c5932 (commit)
       via  ac4a24f999b9c87ca5ecf6fa9c72204e11a89e66 (commit)
       via  214ad0d556ff3e0a7d6cef45cd8e84917994dab6 (commit)
       via  b5da9565dd4f27394a65ed321f15ee1c3f8ec2e3 (commit)
       via  78ddad37d72c6c3a728530dc6932fb91f7d81b87 (commit)
       via  7ca020894d276edf9098132f4757cdd46b6b1441 (commit)
       via  4b3b3064b87a07b2ba8035dd5c8f3660dd3b2a67 (commit)
       via  7a0a91fa4e59e1712611c5d52953898417b50038 (commit)
       via  a0ee198f06282e0e5fb6325bb4de852d08546eaf (commit)
       via  baac22ee9ae8f27a10df875e5f1e17b1b6cd51c8 (commit)
       via  c766dd2394de3480be2047f4c073e5802a001d07 (commit)
       via  f645742ae8131314f8d5cbd70f10504fc5fd1101 (commit)
       via  52e32bbee4cb43cc42aca47c927643f7662da266 (commit)
       via  469356d1a60754381e33736ac4f80e1a1e593a7f (commit)
       via  121625abcf70672531b35dc4092a4597d8eca4be (commit)
       via  76e42f169c6e278c1d8cefe9fb7c03cc70892bac (commit)
       via  c6fe632f972e4610ff7f35f83a5d7dcd2d6e7ecb (commit)
       via  178d3f36265e0e9e9cc0bb6ac8c7c47a9c701687 (commit)
       via  299c01cb4d4a96a94ece77db417ceb7af8e9ba69 (commit)
       via  9413eb733015601af699f2027d9a7a5bad3f3dea (commit)
       via  b25916b93d720f80b5bdf16f018d83c13c6c3001 (commit)
       via  1ec1d552c77e18e2912e400ae395ca00f4e51c3c (commit)
       via  1e0d770315a7b01c316b6a4c314bff58856bfe02 (commit)
       via  5e0dd2c6b8f080c81ff6077e629f5ec9f377802f (commit)
       via  7a53d874994a5a9af273cee1329d9635b7e03edb (commit)
       via  1b5c30eb957594e00a09df745df7630f661e3807 (commit)
       via  fa9fc5ab6440415542badc8bee0b144d698ec5cc (commit)
       via  32038d56fbfe5b635b1c53f247aea9abcca2285c (commit)
       via  c51a3888a01543d0835119574960a02fd7d35994 (commit)
       via  3101fea587bc08e0f4f00a583d1d9e2c953417c1 (commit)
       via  6fed84983e6e973eefff66a126f4bb7811c44d29 (commit)
       via  e73222a8d0c18b159ae3d8b53b54474650bdda16 (commit)
       via  d9214af111bb44deed1246ec97624b6bd8d970c5 (commit)
       via  59d68bda41fcc83c47795a19dbe1d0c180952a08 (commit)
       via  15009c109bee16bc09c9bbc11f7df0a677a0cf23 (commit)
       via  a2eb98fa68672d6966233d7864c328feb8df3939 (commit)
       via  b3e2782f72e0ca381f3f8c508227ebd7a2ef0c92 (commit)
       via  53b19718f974e7c9014644ce80fa36363ae0b693 (commit)
       via  2578f9c122d5c4d17cabf9d7f374f14773324360 (commit)
       via  7a47332fa99627c3ed0e22a02c54afcb6d128ef5 (commit)
       via  6bc89efda1447c479642c7459d14a7afa440019d (commit)
       via  9b67268ff45d2a552d21fa39f5086180f537ab4a (commit)
       via  d3fcdc7afcaf32886d2b492e136f1790e8e93ce4 (commit)
       via  872cc3d79d99f5fc4b26b970c3d269ca363ea27c (commit)
       via  79564b0ac7d03327cc351bbd6df544ab1f776380 (commit)
       via  8a2a84af560d9de68cf0d0c9e34e0d1f19b65e43 (commit)
       via  0f125dd51c7dc13047672dee5362866f31885e0a (commit)
       via  1a0ba80d44b4be962f898ee1458faea9d4a59137 (commit)
       via  71f1ccba7367ca9d000e53c0b86c0448600350f4 (commit)
       via  80d57cdcc9fcae93da2b507942815d9de6dd3351 (commit)
       via  fbcc5ab5e7a5ad65b81e3965f93b1679d1b1e06f (commit)
       via  b4c2a96ed66c98cb5a07bd06138f755ae5675fb7 (commit)
       via  a7d558d6c2db242a6555c7f397cb4d91618aa13c (commit)
       via  3bf22ae161deadd56d20c4165d2ec569de2dcdef (commit)
       via  8b658d96a7bb087406fee97ee4ba9feb830abfd4 (commit)
       via  1a2d8a738cf017c7b3f3234a1ea1aa90abb8162e (commit)
       via  5d26f7e8bf84d5ed055dc1e88996a25c4db80e85 (commit)
       via  ae3bb0033a24a38489c49ffc26e5a5e8fd93c160 (commit)
       via  9b44bba316583b68f326920d378fbbc77b4567a2 (commit)
       via  59129909453452693bd6e7be144cb9417479e98f (commit)
       via  bf0c6769acfd8728c1e7563f26eb6f5e1f589874 (commit)
       via  5151ef795b2ac294137842eea181ab054c76e4a9 (commit)
       via  c6dd02273d5288f6c6436224e636bb81aba581ca (commit)
       via  e5c66d135d453a4af4c978590b99a118f65ae12b (commit)
       via  35c8b0a58073ab45912d794c90a4c40c17a371be (commit)
       via  d144724e1b48fa10e28f1e0ddddf440c6ac90ee2 (commit)
       via  a5401e349b25eb0464b06fd291e9c1a18fb494aa (commit)
       via  45d885d56aa967e9699f5245fea30e71f1e2c47e (commit)
       via  6114400831cdcd851be517acc436d46555ced966 (commit)
       via  82f7fcd2f8f57c197dda487285897cbb92a2da21 (commit)
       via  974ab38a740e0dbde9d28ac8848a864981a177e5 (commit)
       via  0f6a00174a83252ff1d72ded61289abf5b34a417 (commit)
       via  f3c4565205413dfeeaa1d2f58634250497d4cf71 (commit)
       via  836999ec3a4d5fc6c9f087a03b131bab06121079 (commit)
       via  3c517a48e838cbd1c8b1fcc27623fb9ddd33c356 (commit)
       via  29009a1c1f8a9653042c5853832881aca4141cf2 (commit)
       via  100a504ea7f42cc29e71800150cf95c90efe6f67 (commit)
       via  6b0931644aa30ad9d271ea06c8fa413696c562c0 (commit)
      from  982f7db5b67194ddb3b3dd1fae594784f58b35b8 (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 0dd85fcd31ef5f251dcf143fef4118d6ea56f700
Author: mishaz <misha at curoverse.com>
Date:   Tue Jun 16 18:34:00 2015 +0000

    Added comments about zero-replica blocks in underReplicated.

diff --git a/services/datamanager/summary/pull_list.go b/services/datamanager/summary/pull_list.go
index 950d1d0..d2eef93 100644
--- a/services/datamanager/summary/pull_list.go
+++ b/services/datamanager/summary/pull_list.go
@@ -59,6 +59,10 @@ type PullServers struct {
 
 // Creates a map from block locator to PullServers with one entry for
 // each under-replicated block.
+//
+// This method ignores zero-replica blocks since there are no servers
+// to pull them from, so callers should feel free to omit them, but
+// this function will ignore them if they are provided.
 func ComputePullServers(kc *keepclient.KeepClient,
 	keepServerInfo *keep.ReadServers,
 	blockToDesiredReplication map[blockdigest.DigestWithSize]int,
@@ -81,10 +85,9 @@ func ComputePullServers(kc *keepclient.KeepClient,
 		if numCopiesMissing > 0 {
 			// We expect this to always be true, since the block was listed
 			// in underReplicated.
-			// TODO(misha): Consider asserting the above conditional.
 
 			if numCopies > 0 {
-				// I believe that we should expect this to always be true.
+				// Not much we can do with blocks with no copies.
 
 				// A server's host-port string appears as a key in this map
 				// iff it contains the block.

commit 61c3f86eb779ab8e723e43354eddafe219bc27d9
Author: mishaz <misha at curoverse.com>
Date:   Tue Jun 16 18:04:49 2015 +0000

    Now reading default replication level from api server.

diff --git a/services/datamanager/collection/collection.go b/services/datamanager/collection/collection.go
index 93fad0e..5519ad8 100644
--- a/services/datamanager/collection/collection.go
+++ b/services/datamanager/collection/collection.go
@@ -24,12 +24,6 @@ var (
 	maxManifestSize   uint64
 )
 
-const (
-	// TODO(misha): Read this value from the SDK once support is added
-	// as suggested in https://arvados.org/issues/3408#note-31
-	DefaultReplicationLevel = 2
-)
-
 type Collection struct {
 	Uuid              string
 	OwnerUuid         string
@@ -136,6 +130,23 @@ func GetCollections(params GetCollectionsParams) (results ReadCollections) {
 		sdkParams["limit"] = params.BatchSize
 	}
 
+	var defaultReplicationLevel int
+	{
+		value, err := params.Client.Discovery("defaultCollectionReplication")
+		if err != nil {
+			loggerutil.FatalWithMessage(params.Logger,
+				fmt.Sprintf("Error querying default collection replication: %v", err))
+		}
+
+		defaultReplicationLevel = int(value.(float64))
+		if defaultReplicationLevel <= 0 {
+			loggerutil.FatalWithMessage(params.Logger,
+				fmt.Sprintf("Default collection replication returned by arvados SDK "+
+					"should be a positive integer but instead it was %d.",
+					defaultReplicationLevel))
+		}
+	}
+
 	initialNumberOfCollectionsAvailable, err :=
 		util.NumberItemsAvailable(params.Client, "collections")
 	if err != nil {
@@ -153,6 +164,7 @@ func GetCollections(params GetCollectionsParams) (results ReadCollections) {
 			collectionInfo := logger.GetOrCreateMap(p, "collection_info")
 			collectionInfo["num_collections_at_start"] = initialNumberOfCollectionsAvailable
 			collectionInfo["batch_size"] = params.BatchSize
+			collectionInfo["default_replication_level"] = defaultReplicationLevel
 		})
 	}
 
@@ -178,6 +190,7 @@ func GetCollections(params GetCollectionsParams) (results ReadCollections) {
 		sdkParams["filters"].([][]string)[0][2] =
 			ProcessCollections(params.Logger,
 				collections.Items,
+				defaultReplicationLevel,
 				results.UuidToCollection).Format(time.RFC3339)
 
 		// update counts
@@ -218,6 +231,7 @@ func StrCopy(s string) string {
 
 func ProcessCollections(arvLogger *logger.Logger,
 	receivedCollections []SdkCollectionInfo,
+	defaultReplicationLevel int,
 	uuidToCollection map[string]Collection) (latestModificationDate time.Time) {
 	for _, sdkCollection := range receivedCollections {
 		collection := Collection{Uuid: StrCopy(sdkCollection.Uuid),
@@ -240,7 +254,7 @@ func ProcessCollections(arvLogger *logger.Logger,
 		}
 
 		if collection.ReplicationLevel == 0 {
-			collection.ReplicationLevel = DefaultReplicationLevel
+			collection.ReplicationLevel = defaultReplicationLevel
 		}
 
 		manifest := manifest.Manifest{sdkCollection.ManifestText}

commit 3812c3e89d4048a91db28b4b9276f0c45dba7201
Author: mishaz <misha at curoverse.com>
Date:   Tue Jun 9 18:31:55 2015 +0000

    Added unit test for protocols in From field.

diff --git a/services/datamanager/summary/pull_list.go b/services/datamanager/summary/pull_list.go
index 542a669..950d1d0 100644
--- a/services/datamanager/summary/pull_list.go
+++ b/services/datamanager/summary/pull_list.go
@@ -71,7 +71,7 @@ func ComputePullServers(kc *keepclient.KeepClient,
 	// Servers that are writeable
 	writableServers := map[string]struct{}{}
 	for _, url := range kc.WritableLocalRoots() {
-		writableServers[cs.Get(RemoveProtocolPrefix(url))] = struct{}{}
+		writableServers[cs.Get(url)] = struct{}{}
 	}
 
 	for block, _ := range underReplicated {
@@ -129,7 +129,7 @@ func CreatePullServers(cs CanonicalString,
 			// The from field should include the protocol.
 			ps.From = append(ps.From, cs.Get(host))
 		} else if len(ps.To) < maxToFields {
-			_, writable := writableServers[server]
+			_, writable := writableServers[host]
 			if writable {
 				ps.To = append(ps.To, server)
 			}
diff --git a/services/datamanager/summary/pull_list_test.go b/services/datamanager/summary/pull_list_test.go
index 9628a32..8f17d28 100644
--- a/services/datamanager/summary/pull_list_test.go
+++ b/services/datamanager/summary/pull_list_test.go
@@ -103,6 +103,18 @@ func (s *MySuite) TestCreatePullServers(c *C) {
 	c.Check(
 		CreatePullServers(cs,
 			stringSet("keep0:25107", "keep1:25108"),
+			stringSet("https://keep3:25110", "http://keep2:25109",
+				"https://keep1:25108", "http://keep0:25107"),
+			[]string{"https://keep3:25110", "http://keep2:25109",
+				"https://keep1:25108", "http://keep0:25107"},
+			1),
+		DeepEquals,
+		PullServers{To: []string{"keep3:25110"},
+			From: []string{"https://keep1:25108", "http://keep0:25107"}})
+
+	c.Check(
+		CreatePullServers(cs,
+			stringSet("keep0:25107", "keep1:25108"),
 			stringSet("keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"),
 			[]string{"keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"},
 			0),

commit f7cf309e7d7003b5bf9407af81e9a2b1374cde8e
Author: mishaz <misha at curoverse.com>
Date:   Tue Jun 9 18:07:21 2015 +0000

    Fixed outdated comments in arvadosclient.Discovery().

diff --git a/sdk/go/arvadosclient/arvadosclient.go b/sdk/go/arvadosclient/arvadosclient.go
index bb06126..99b0818 100644
--- a/sdk/go/arvadosclient/arvadosclient.go
+++ b/sdk/go/arvadosclient/arvadosclient.go
@@ -285,7 +285,7 @@ func (this ArvadosClient) List(resource string, parameters Dict, output interfac
 //
 //   parameter - name of parameter to be discovered
 // return
-//   valueMap - Dict key value pair of the discovered parameter
+//   value - value of the discovered parameter
 //   err - error accessing the resource, or nil if no error
 var API_DISCOVERY_RESOURCE string = "discovery/v1/apis/arvados/v1/rest"
 

commit 6a59d473c1574eec4db1f83b5d1a963b4f976e5a
Merge: 982f7db efc42e7
Author: mishaz <misha at curoverse.com>
Date:   Tue Jun 9 18:00:30 2015 +0000

    Merge branch 'master' into 3408-production-datamanager


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


hooks/post-receive
-- 




More information about the arvados-commits mailing list