18216: Move keepstore into arvados-server binary.
authorTom Clegg <tom@curii.com>
Thu, 30 Sep 2021 12:54:31 +0000 (08:54 -0400)
committerTom Clegg <tom@curii.com>
Thu, 30 Sep 2021 12:54:31 +0000 (08:54 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

45 files changed:
build/run-build-packages.sh
build/run-tests.sh
cmd/arvados-server/cmd.go
cmd/arvados-server/keepstore.service [moved from services/keepstore/keepstore.service with 95% similarity]
lib/boot/supervisor.go
sdk/python/tests/run_test_server.py
services/keepstore/azure_blob_volume.go
services/keepstore/azure_blob_volume_test.go
services/keepstore/bufferpool.go
services/keepstore/bufferpool_test.go
services/keepstore/collision.go
services/keepstore/collision_test.go
services/keepstore/command.go
services/keepstore/command_test.go
services/keepstore/count.go
services/keepstore/gocheck_test.go
services/keepstore/handler_test.go
services/keepstore/handlers.go
services/keepstore/keepstore.go
services/keepstore/metrics.go
services/keepstore/mock_mutex_for_test.go
services/keepstore/mounts_test.go
services/keepstore/perms.go
services/keepstore/perms_test.go
services/keepstore/pipe_adapters.go
services/keepstore/proxy_remote.go
services/keepstore/proxy_remote_test.go
services/keepstore/pull_worker.go
services/keepstore/pull_worker_integration_test.go
services/keepstore/pull_worker_test.go
services/keepstore/s3_volume.go
services/keepstore/s3_volume_test.go
services/keepstore/s3aws_volume.go
services/keepstore/s3aws_volume_test.go
services/keepstore/stats_ticker.go
services/keepstore/status_test.go
services/keepstore/trash_worker.go
services/keepstore/trash_worker_test.go
services/keepstore/unix_volume.go
services/keepstore/unix_volume_test.go
services/keepstore/volume.go
services/keepstore/volume_generic_test.go
services/keepstore/volume_test.go
services/keepstore/work_queue.go
services/keepstore/work_queue_test.go

index 7829c8c6cd61792535960a153bb20baf1b7e1622..26ed168aa6c60365109e63c8bfef83d8831dfe68 100755 (executable)
@@ -295,7 +295,7 @@ package_go_binary services/keep-balance keep-balance \
     "Rebalance and garbage-collect data blocks stored in Arvados Keep"
 package_go_binary services/keepproxy keepproxy \
     "Make a Keep cluster accessible to clients that are not on the LAN"
-package_go_binary services/keepstore keepstore \
+package_go_binary cmd/arvados-server keepstore \
     "Keep storage daemon, accessible to clients on the LAN"
 package_go_binary services/keep-web keep-web \
     "Static web hosting service for user data stored in Arvados Keep"
index 71da30ce43be5bc0b9e53fc2598fdc9face4e8c7..d318bc60de5fd233ef225074442f5e50e570ea18 100755 (executable)
@@ -1082,9 +1082,7 @@ install_deps() {
     do_install services/api
     do_install services/arv-git-httpd go
     do_install services/keepproxy go
-    do_install services/keepstore go
     do_install services/keep-web go
-    do_install services/ws go
 }
 
 install_all() {
index 4b94a7813869915c38c14ec7927a8a2662e30475..c8b945bea49c30d10270822ef18c58b22a92a103 100644 (file)
@@ -17,6 +17,7 @@ import (
        "git.arvados.org/arvados.git/lib/install"
        "git.arvados.org/arvados.git/lib/lsf"
        "git.arvados.org/arvados.git/lib/recovercollection"
+       "git.arvados.org/arvados.git/services/keepstore"
        "git.arvados.org/arvados.git/services/ws"
 )
 
@@ -37,6 +38,7 @@ var (
                "dispatch-lsf":       lsf.DispatchCommand,
                "install":            install.Command,
                "init":               install.InitCommand,
+               "keepstore":          keepstore.Command,
                "recover-collection": recovercollection.Command,
                "ws":                 ws.Command,
        })
similarity index 95%
rename from services/keepstore/keepstore.service
rename to cmd/arvados-server/keepstore.service
index 1f14c3f464c4b3a701a1f800e99534865a058908..bcfde3a7881f0c9d7a3217236d773e7845b2458c 100644 (file)
@@ -6,6 +6,7 @@
 Description=Arvados Keep Storage Daemon
 Documentation=https://doc.arvados.org/
 After=network.target
+AssertPathExists=/etc/arvados/config.yml
 
 # systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
 StartLimitIntervalSec=0
index 2026b8c843fc16d12cc4eef6a0a547f3a1b9b164..2c89ccdb0018d1026b7ff9b7f2b14714f7fe8668 100644 (file)
@@ -245,7 +245,7 @@ func (super *Supervisor) run(cfg *arvados.Config) error {
                runGoProgram{src: "services/arv-git-httpd", svc: super.cluster.Services.GitHTTP},
                runGoProgram{src: "services/health", svc: super.cluster.Services.Health},
                runGoProgram{src: "services/keepproxy", svc: super.cluster.Services.Keepproxy, depends: []supervisedTask{runPassenger{src: "services/api"}}},
-               runGoProgram{src: "services/keepstore", svc: super.cluster.Services.Keepstore},
+               runServiceCommand{name: "keepstore", svc: super.cluster.Services.Keepstore},
                runGoProgram{src: "services/keep-web", svc: super.cluster.Services.WebDAV},
                runServiceCommand{name: "ws", svc: super.cluster.Services.Websocket, depends: []supervisedTask{seedDatabase{}}},
                installPassenger{src: "services/api"},
index c022e6c874d23f099406b626374e7cfe5d0951c0..6d2643a967ef70374f2ff222c19bb67917ba5a0e 100644 (file)
@@ -473,7 +473,7 @@ def _start_keep(n, blob_signing=False):
     confdata['Clusters']['zzzzz']['Collections']['BlobSigning'] = blob_signing
     with open(conf, 'w') as f:
         yaml.safe_dump(confdata, f)
-    keep_cmd = ["keepstore", "-config", conf]
+    keep_cmd = ["arvados-server", "keepstore", "-config", conf]
 
     with open(_logfilename('keep{}'.format(n)), WRITE_MODE) as logf:
         with open('/dev/null') as _stdin:
index 6e8def82222eb1e169af6fa2632c21b20bc1bdf8..cf655c2a5a96d9ca92194321ad813fd5712ab523 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 3f395e40caba6be7f336470c76b2e492e1a42386..48d58ee9bfc454e5b2972e6d36867a578c29e6bb 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 623693cd12e507002d8ee29272af8185fe6965fb..b4cc5d38e1670034212816bd96b95cdc838a2cfb 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "sync"
index 72b719ba28a2b4e69f429308df4513270cbd36d8..13e1cb4f332ba180857aef747b3086e9251466ee 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "context"
index 4d6583b26b7bb4e91a27d4dcb7e398f849c1c521..16f2d0923244b138a64eb970fef1a70dc477532e 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 0d6fd62833b296d2650e8b8d6829ca95179b995b..aa8f0cbaa1b6e43c64adb67513d6725e2cf24489 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index bf3bf1722c0cee546488ac45c0793554be905706..2a426936ed064ae3e1d3b1367157300797e793dc 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "context"
@@ -30,10 +30,6 @@ var (
        Command = service.Command(arvados.ServiceNameKeepstore, newHandlerOrErrorHandler)
 )
 
-func main() {
-       os.Exit(runCommand(os.Args[0], os.Args[1:], os.Stdin, os.Stdout, os.Stderr))
-}
-
 func runCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.Writer) int {
        args, ok := convertKeepstoreFlagsToServiceFlags(args, ctxlog.FromContext(context.Background()))
        if !ok {
index ad2aa0957143540a01070e134abbc566b3f767e1..bbfae52f69e1feb2a4b109e7eedd1a16da984023 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index ccba4f1355c2963ed0218d2c0577432bc21ff6c6..272b5017cb0d8785a0446a5426aaec3d2c8c3230 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "io"
index 89d680fc12ca2b496fe484f9f14d24356cdbfc43..90076db5b2fd344734839d112fa4c8d31d392ae8 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "gopkg.in/check.v1"
index 16dcd2aaf6ee5d57e9bb60176a643a9116df8f9e..cbb7f38bb14100468710b74f68d28e6513b6f4d7 100644 (file)
@@ -11,7 +11,7 @@
 // The HTTP handlers are responsible for enforcing permission policy,
 // so these tests must exercise all possible permission permutations.
 
-package main
+package keepstore
 
 import (
        "bytes"
index 910033ebb1d8408c90a4bde441d7edc8d99b109a..29e7b2ca9c499e0b5eae3461084775ef7af40506 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "container/list"
index 3c9d5d15e8134cd91779bf3e9304f9511cdf8d05..b9dbe2777e5d3ccca440b1c7632e6a344b83fa35 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "time"
index b2f0aa663872df877c6d64a17fe3ebd3c75f335a..d04601fbec84128ff47cf65ea15588aa6212b9c5 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "fmt"
index 484b177230b3cdb2c581e654993bfd8dfd1027b2..daf0ef05f7cd7041250ee994f85b51cbc08ca462 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 type MockMutex struct {
        AllowLock   chan struct{}
index b60bf9658bbc5a4ca00de5250be57582905014df..e8c248219f77785458110107922983b0917fa51d 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 7b962641e6c8561bf784608589f5ba46b4c7fef7..7205a4594deee1964d6d4d2dda95e7fa68c8b7a4 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "time"
index 5460f8eda66f2b040fd82b050c18b7b8086adaaa..13223747063cd79850454088d5cb5ae08823f00b 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "strconv"
index 69ed6d2ff5f1f8d80bd6c6e6ebe7d75f7e4ff259..6b555054b65ea0ed8f537401d97c7f7765186722 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 8c88a406f4f39fb998be7edcab8cf16d598caa3f..526bc25299373ba56d5a7d27f445551c940edcb7 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "context"
index 00161bf236eadfdd8f6881d4fe1a2194e91cf145..534371cc0ece83ef3a0cead670d1612ec8f57172 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "context"
index 57b9469244d8e101193185bd190d6db9ce37f853..abe3dc3857d5a1652562f29bc361b4f2c95e49ca 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "context"
index eb7fe5fd6730421937b8c1efb49e4f201f6c1ca2..3855b4ecd3cfd01c1a0589c4b01f3ceb5e17d929 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 2013c8c04da76ffbf8e22f85d501ecf4710cbfdc..2626e66d8898745b9f29c42d9beda9ee580626a4 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 4c43b3f469532c25af6cea40c3dbf94ed548b31e..ee89b156f796b49395fc6ec151de6ab12127e176 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bufio"
index 5cb8a668a3123abc6175e0ce4c8bd7604967ae11..a82098356859cb3cc481d20df453efb97e1726d0 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index fb2e97efb71d25f3d5a1726337a80ae63fc534c4..cb0b73cb8b5b495549ca87948f510e95f4751838 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index fa9e270e0b330b72749d8284da340f0bf8276b64..c7e2d485dfc6f793f107947a3340606c993f63ac 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 342b9e32058e23a1f09fc305d8fdc37caf104198..520d4530c2ac2404ca47f561b3dd08c015f1e832 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "sync"
index cafe9f72ff0e0eaf3ec7b1da842c5ac083ca4028..80f98adb225bbd829dca5fcc9753e02e333d7225 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "encoding/json"
index 4063765726013da7e45ba66fbb2d727e403b6b00..3909d90d9204d55a80252449abb88e953ace1b24 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "errors"
index 2b1ee2be13bb1466d6af5be09bd53067fd40d221..4e20c3feb451f1f3043008ae69813ee38a9bcf14 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "container/list"
index 1706473cc892c43cbd5ad27751c49f43cbebc075..a74616604814488ed9c54fa3e5026f2d4f37c907 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "context"
index 166085809848b862a734096a4f1ff9c28223fdde..75d9b22de55604cc01a2d1f6f4ffaad7b9b585a7 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index cf0b7a390255b64d7e108b9e18b93fab4d3e0a73..c3b8cd6283e0311c93fcc914ebd3b370045cfa0f 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "context"
index a31b861236a9ebe564e91d7b64e804b9a5c3686e..0dd34e3af1be878e2602a9bf2e43fcfed29c4eb6 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index cc2d21e5a94fc30669dc808e6e6bade48613672a..950b3989aa0f6a72e20553f8505f6575a91b39c4 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "bytes"
index 56c6376ad37134d0ed7f9f12cc049255b83fcb65..4c46ec8e65f6cf546324d8f0f6e25056d65de9a9 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 /* A WorkQueue is an asynchronous thread-safe queue manager.  It
    provides a channel from which items can be read off the queue, and
index 8a26c090c9dd5cedc690f34a9f879f5eb842a40e..254f96cb2d853293f8e42f24f0177f55e37652fa 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "container/list"