Merge branch '12876-arvados-client'
authorTom Clegg <tclegg@veritasgenetics.com>
Mon, 8 Jan 2018 20:51:08 +0000 (15:51 -0500)
committerTom Clegg <tclegg@veritasgenetics.com>
Mon, 8 Jan 2018 20:51:08 +0000 (15:51 -0500)
refs #12876

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

doc/install/crunch2-slurm/install-slurm.html.textile.liquid
services/arv-git-httpd/arvados-git-httpd.service
services/crunch-dispatch-slurm/crunch-dispatch-slurm.service
services/dockercleaner/arvados-docker-cleaner.service
services/health/arvados-health.service [new file with mode: 0644]
services/keep-balance/keep-balance.service
services/keep-web/keep-web.service
services/keepproxy/keepproxy.service
services/keepstore/keepstore.service
services/ws/arvados-ws.service
vendor/vendor.json

index 589da07fda1422d6e75047a88f3fd982df1eec52..c69d18b8e4bd2b0b8e3a19802982fdc284eb0e42 100644 (file)
@@ -85,6 +85,8 @@ Whenever you change this file, you will need to update the copy _on every comput
 
 *@ControlMachine@* should be a DNS name that resolves to the SLURM controller (dispatch/API server). This must resolve correctly on all SLURM worker nodes as well as the controller itself. In general SLURM is very sensitive about all of the nodes being able to communicate with the controller _and one another_, all using the same DNS names.
 
+*@SelectType=select/linear@* is needed on cloud-based installations that update node sizes dynamically, but it can only schedule one container at a time on each node. On a static or homogeneous cluster, use @SelectType=select/cons_res@ with @SelectTypeParameters=CR_CPU_Memory@ instead to enable node sharing.
+
 *@NodeName=compute[0-255]@* establishes that the hostnames of the worker nodes will be compute0, compute1, etc. through compute255.
 * There are several ways to compress sequences of names, like @compute[0-9,80,100-110]@. See the "hostlist" discussion in the @slurm.conf(5)@ and @scontrol(1)@ man pages for more information.
 * It is not necessary for all of the nodes listed here to be alive in order for SLURM to work, although you should make sure the DNS entries exist. It is easiest to define lots of hostnames up front, assigning them to real nodes and updating your DNS records as the nodes appear. This minimizes the frequency of @slurm.conf@ updates and use of @scontrol reconfigure@.
index 300b5c1d12287d9e0c771e89f01eb9b4e92c6f5f..6f8cca856b595498b7f6b8ee387e956e838666a2 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados git server
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/git-httpd/git-httpd.yml
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -18,5 +20,8 @@ ExecStart=/usr/bin/arvados-git-httpd
 Restart=always
 RestartSec=1
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
index ac842433d56ea8f379d6e44c4c04fb9d97e1fd7d..508a0dfc1387bafcca41b6b8d851f0960d3fc9b9 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados Crunch Dispatcher for SLURM
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/crunch-dispatch-slurm/crunch-dispatch-slurm.yml
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -18,5 +20,8 @@ ExecStart=/usr/bin/crunch-dispatch-slurm
 Restart=always
 RestartSec=1
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
index 6ab3fdfac91ae05e183643b010ca6d093a4b2f3c..b48b46bb9a4c48b52770996fba12821c60e5cb8e 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados Docker Image Cleaner
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/docker-cleaner/docker-cleaner.json
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -23,5 +25,8 @@ RestartPreventExitStatus=2
 # Collection, and if so, invokes it with the "scl" wrapper.
 ExecStart=/bin/sh -c 'if [ -e /opt/rh/python33/root/bin/arvados-docker-cleaner ]; then exec scl enable python33 arvados-docker-cleaner; else exec arvados-docker-cleaner; fi'
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
diff --git a/services/health/arvados-health.service b/services/health/arvados-health.service
new file mode 100644 (file)
index 0000000..dac7c3a
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
+[Unit]
+Description=Arvados healthcheck server
+Documentation=https://doc.arvados.org/
+After=network.target
+AssertPathExists=/etc/arvados/config.yml
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
+StartLimitInterval=0
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
+StartLimitIntervalSec=0
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/arvados-health
+Restart=always
+RestartSec=1
+
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
+[Install]
+WantedBy=multi-user.target
index df08b5be7f2e3f75414d8b2fa8f46bb08bb4c844..325affe5875108a819b3baa07aa964bcd5ef1224 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados Keep Balance
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/keep-balance/keep-balance.yml
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -18,5 +20,8 @@ ExecStart=/usr/bin/keep-balance -commit-pulls -commit-trash
 Restart=always
 RestartSec=10s
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
index a8f8f1ffa1336329d7ff0f0c6ad76daeb65ddb0d..1931256209eb4f211d031114c8297fb0ee53d01f 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados Keep web gateway
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/keep-web/keep-web.yml
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -18,5 +20,8 @@ ExecStart=/usr/bin/keep-web
 Restart=always
 RestartSec=1
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
index d7ee97e96325ba278ec75eba6e9f80dedf41f5a3..96dec25ecf77ecc8c3936628829d8dc59aecabc4 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados Keep Proxy
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/keepproxy/keepproxy.yml
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -18,5 +20,8 @@ ExecStart=/usr/bin/keepproxy
 Restart=always
 RestartSec=1
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
index 14572ae905a1d257b08e404f0dbcde7b3b88715d..8b448e72c3b41687f46dc2c6a6ad8a0c21202258 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados Keep Storage Daemon
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/keepstore/keepstore.yml
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -18,5 +20,8 @@ ExecStart=/usr/bin/keepstore
 Restart=always
 RestartSec=1
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
index 4385261181922e0edc260e680a9678d7071651dc..9e02d41ca8bb6212684a3fd33b228b7fbffe390f 100644 (file)
@@ -7,9 +7,11 @@ Description=Arvados websocket server
 Documentation=https://doc.arvados.org/
 After=network.target
 AssertPathExists=/etc/arvados/ws/ws.yml
-# systemd<230
+
+# systemd==229 (ubuntu:xenial) obeys StartLimitInterval in the [Unit] section
 StartLimitInterval=0
-# systemd>=230
+
+# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
 
 [Service]
@@ -18,5 +20,8 @@ ExecStart=/usr/bin/arvados-ws
 Restart=always
 RestartSec=1
 
+# systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
+StartLimitInterval=0
+
 [Install]
 WantedBy=multi-user.target
index 8551a06fb414573e90d2a802c2806c99e8bf0bd5..ac04cf92e65fe76ee53bdf81c354f51ca8068ce4 100644 (file)
                        "revision": "4c1c3952b7d9d0a061a3fa7b36fd373ba0398ebc",
                        "revisionTime": "2017-04-27T04:12:50Z"
                },
+               {
+                       "checksumSHA1": "iCsyavJDnXC9OY//p52IWJWy7PY=",
+                       "path": "github.com/jbenet/go-context/io",
+                       "revision": "d14ea06fba99483203c19d92cfcd13ebe73135f4",
+                       "revisionTime": "2015-07-11T00:45:18Z"
+               },
                {
                        "checksumSHA1": "uTUsjF7bymOuKvXbW2BpkK/w4Vg=",
                        "path": "github.com/lib/pq",
                        "revision": "2704adc878c21e1329f46f6e56a1c387d788ff94",
                        "revisionTime": "2017-03-24T20:46:54Z"
                },
+               {
+                       "checksumSHA1": "V/quM7+em2ByJbWBLOsEwnY3j/Q=",
+                       "path": "github.com/mitchellh/go-homedir",
+                       "revision": "b8bc1bf767474819792c23f32d8286a45736f1c6",
+                       "revisionTime": "2016-12-03T19:45:07Z"
+               },
                {
                        "checksumSHA1": "OUupkCHnh8e3RHRNcMFqQJqhaQI=",
                        "origin": "github.com/docker/docker/vendor/github.com/opencontainers/go-digest",
                        "revisionTime": "2017-05-17T20:48:28Z"
                },
                {
-                       "checksumSHA1": "9jjO5GjLa0XF/nfWihF02RoH4qc=",
+                       "checksumSHA1": "UwtyqB7CaUWPlw0DVJQvw0IFQZs=",
+                       "path": "github.com/sergi/go-diff/diffmatchpatch",
+                       "revision": "1744e2970ca51c86172c8190fadad617561ed6e7",
+                       "revisionTime": "2017-11-10T11:01:46Z"
+               },
+               {
+                       "checksumSHA1": "8QeSG127zQqbA+YfkO1WkKx/iUI=",
+                       "path": "github.com/src-d/gcfg",
+                       "revision": "f187355171c936ac84a82793659ebb4936bc1c23",
+                       "revisionTime": "2016-10-26T10:01:55Z"
+               },
+               {
+                       "checksumSHA1": "yf5NBT8BofPfGYCXoLnj7BIA1wo=",
+                       "path": "github.com/src-d/gcfg/scanner",
+                       "revision": "f187355171c936ac84a82793659ebb4936bc1c23",
+                       "revisionTime": "2016-10-26T10:01:55Z"
+               },
+               {
+                       "checksumSHA1": "C5Z8YVyNTuvupM9AUr9KbPlps4Q=",
+                       "path": "github.com/src-d/gcfg/token",
+                       "revision": "f187355171c936ac84a82793659ebb4936bc1c23",
+                       "revisionTime": "2016-10-26T10:01:55Z"
+               },
+               {
+                       "checksumSHA1": "mDkN3UpR7auuFbwUuIwExz4DZgY=",
+                       "path": "github.com/src-d/gcfg/types",
+                       "revision": "f187355171c936ac84a82793659ebb4936bc1c23",
+                       "revisionTime": "2016-10-26T10:01:55Z"
+               },
+               {
+                       "checksumSHA1": "iHiMTBffQvWYlOLu3130JXuQpgQ=",
+                       "path": "github.com/xanzy/ssh-agent",
+                       "revision": "ba9c9e33906f58169366275e3450db66139a31a9",
+                       "revisionTime": "2015-12-15T15:34:51Z"
+               },
+               {
+                       "checksumSHA1": "IQkUIOnvlf0tYloFx9mLaXSvXWQ=",
+                       "path": "golang.org/x/crypto/curve25519",
+                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
+                       "revisionTime": "2017-11-28T01:43:40Z"
+               },
+               {
+                       "checksumSHA1": "1hwn8cgg4EVXhCpJIqmMbzqnUo0=",
+                       "path": "golang.org/x/crypto/ed25519",
+                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
+                       "revisionTime": "2017-11-28T01:43:40Z"
+               },
+               {
+                       "checksumSHA1": "LXFcVx8I587SnWmKycSDEq9yvK8=",
+                       "path": "golang.org/x/crypto/ed25519/internal/edwards25519",
+                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
+                       "revisionTime": "2017-11-28T01:43:40Z"
+               },
+               {
+                       "checksumSHA1": "R9/BEjpj6VT5IZN6EDPs4gjMJz0=",
+                       "path": "golang.org/x/crypto/ssh",
+                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
+                       "revisionTime": "2017-11-28T01:43:40Z"
+               },
+               {
+                       "checksumSHA1": "NMRX0onGReaL9IfLr0XQ3kl5Id0=",
+                       "path": "golang.org/x/crypto/ssh/agent",
+                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
+                       "revisionTime": "2017-11-28T01:43:40Z"
+               },
+               {
+                       "checksumSHA1": "zBHtHvMj+MXa1qa4aglBt46uUck=",
+                       "path": "golang.org/x/crypto/ssh/knownhosts",
+                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
+                       "revisionTime": "2017-11-28T01:43:40Z"
+               },
+               {
+                       "checksumSHA1": "Y+HGqEkYM15ir+J93MEaHdyFy0c=",
                        "origin": "github.com/docker/docker/vendor/golang.org/x/net/context",
                        "path": "golang.org/x/net/context",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "d94164867c2df977ceb8d9df3d90364d0a682d05",
+                       "revisionTime": "2017-12-04T17:54:02Z"
                },
                {
                        "checksumSHA1": "WHc3uByvGaMcnSoI21fhzYgbOgg=",
                        "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
                        "revisionTime": "2017-05-17T20:48:28Z"
                },
+               {
+                       "checksumSHA1": "ziMb9+ANGRJSSIuxYdRbA+cDRBQ=",
+                       "path": "golang.org/x/text/transform",
+                       "revision": "57961680700a5336d15015c8c50686ca5ba362a4",
+                       "revisionTime": "2017-11-28T12:17:19Z"
+               },
+               {
+                       "checksumSHA1": "BwRNKgzIMUxk56OScxyr43BV6IE=",
+                       "path": "golang.org/x/text/unicode/norm",
+                       "revision": "57961680700a5336d15015c8c50686ca5ba362a4",
+                       "revisionTime": "2017-11-28T12:17:19Z"
+               },
                {
                        "checksumSHA1": "CEFTYXtWmgSh+3Ik1NmDaJcz4E0=",
                        "path": "gopkg.in/check.v1",
                        "revision": "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec",
                        "revisionTime": "2016-12-08T18:13:25Z"
                },
+               {
+                       "checksumSHA1": "OMS7bwaAYpmocTLflRC8ctukGo8=",
+                       "path": "gopkg.in/src-d/go-billy.v3",
+                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
+                       "revisionTime": "2017-06-27T10:15:46Z"
+               },
+               {
+                       "checksumSHA1": "BfxlZXUAo+4gqICRNkn1fbJu/Jw=",
+                       "path": "gopkg.in/src-d/go-billy.v3/helper/chroot",
+                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
+                       "revisionTime": "2017-06-27T10:15:46Z"
+               },
+               {
+                       "checksumSHA1": "PwXEhy280k1rj6obYt+/ZfZ5SzI=",
+                       "path": "gopkg.in/src-d/go-billy.v3/helper/polyfill",
+                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
+                       "revisionTime": "2017-06-27T10:15:46Z"
+               },
+               {
+                       "checksumSHA1": "5QGZZIfRAeRt5guZzx6UA52uwEk=",
+                       "path": "gopkg.in/src-d/go-billy.v3/osfs",
+                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
+                       "revisionTime": "2017-06-27T10:15:46Z"
+               },
+               {
+                       "checksumSHA1": "gHdA6TMpLCZhKio7ltM7H4eDX2k=",
+                       "path": "gopkg.in/src-d/go-billy.v3/util",
+                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
+                       "revisionTime": "2017-06-27T10:15:46Z"
+               },
+               {
+                       "checksumSHA1": "E0ZxsMpf8GRZTfMzens8FK/Odvs=",
+                       "path": "gopkg.in/src-d/go-git.v4",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "1d4PgjU+LhyJ2ROnz/WwrEKVh28=",
+                       "path": "gopkg.in/src-d/go-git.v4/config",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "A3WduoxOIVoBnsDAEZtI798CZtU=",
+                       "path": "gopkg.in/src-d/go-git.v4/internal/revision",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "Re676e7BhdKLVVNfvNhnbiec2JM=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "neTbLTzQ9+vo97D5i+3K9iprn5c=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/cache",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "pHPMiAzXG/TJqTLEKj2SHjxX4zs=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/filemode",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "RzTdA6jLPwD/m6mq+rgS2CB04d4=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/config",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "vOD599V5I9EsWuGT9BIU8ZAyiNY=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/diff",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "mI7Ks4Bumh+OYkxuSBrIeBTAKoA=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/gitignore",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "G0TX3efLdk7noo/n1Dt9Tzempig=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/idxfile",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "naVExGq1c3bXZ4+Em3slvB7I8so=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/index",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "RYeQffgqVS4Kbbk2YVcaPadXCiI=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/objfile",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "q22wOnNvgQNTuWAkcYKa1xVk7og=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/packfile",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "rA6jJ2fxdcALXL7EaP8Ja37xXjw=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/format/pktline",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "6LZ2gIv993WaeqA2QMMvf04BRzk=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/object",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "sBjAjpwQtYwh1xgCC/Np6k1QCxA=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "+iFHG0LBT3gYImczKZy9Gkjogpk=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp/capability",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "wVfbzV5BNhjW/HFFJuTCjkPSJ5M=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp/sideband",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "xnSL7xqAg9rUrqzrFy2OtOkfBHY=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/revlist",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "QL14x3W+ObgTwz2wRXyMhxGM9jM=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/storer",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "kKJbFD1KBIE37kZACAzrDdwwzlw=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "aReXFIha6HkU5jPfLWWAEMPhEp4=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/client",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "KLaUkXK0IPfAwIyC9WuzgpKl4Ts=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/file",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "4B79ZyIoeNpT4OWl/CvEQn9RP+g=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/git",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "0H7p/EuPC+LQdRWLoNO775/JIPw=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/http",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "1P0AgwgfasGL7aL5+FuuDan835c=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/internal/common",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "WqaZfy8UDC25vPX8DJEUZH9urhw=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/server",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "NY+2qZNBynx/7d7vm20G7nU4LGk=",
+                       "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/ssh",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "FlVLBdu4cjlXj9zjRRNDurRLABU=",
+                       "path": "gopkg.in/src-d/go-git.v4/storage",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "FIbvDZtO3BdDAU+6Ogi1iCqj0cA=",
+                       "path": "gopkg.in/src-d/go-git.v4/storage/filesystem",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "pPcJtH7jHTjiwhlyGDEr6dMOHiM=",
+                       "path": "gopkg.in/src-d/go-git.v4/storage/filesystem/internal/dotgit",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "OfzMDAIu253dJ9591gd3w/APq0I=",
+                       "path": "gopkg.in/src-d/go-git.v4/storage/memory",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "AzdUpuGqSNnNK6DgdNjWrn99i3o=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/binary",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "vniUxB6bbDYazl21cOfmhdZZiY8=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/diff",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "UM8j6MDPfIvBJOYrXWYFpN6nwk8=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/ioutil",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "6gGibezR20asX5JgNsGR9AWiF1s=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "EkYWmjvMAaEG9JPYtwE6x7hwxjY=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/filesystem",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "M+6y9mdBFksksEGBceBh9Se3W7Y=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/index",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "7eEw/xsSrFLfSppRf/JIt9u7lbU=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/internal/frame",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "0H0x2urvYdo68NY6fGFJG59lqoI=",
+                       "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder",
+                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
+                       "revisionTime": "2017-09-04T17:43:36Z"
+               },
+               {
+                       "checksumSHA1": "I4c3qsEX8KAUTeB9+2pwVX/2ojU=",
+                       "path": "gopkg.in/warnings.v0",
+                       "revision": "ec4a0fea49c7b46c2aeb0b51aac55779c607e52b",
+                       "revisionTime": "2017-11-15T19:30:34Z"
+               },
                {
                        "checksumSHA1": "fALlQNY1fM99NesfLJ50KguWsio=",
                        "path": "gopkg.in/yaml.v2",