canonical / cos-configuration-k8s-operator

This charmed operator for Kubernetes enables you to provide configurations to various components of the Canonical Observability Stack (COS) bundle.
https://charmhub.io/cos-configuration-k8s
Apache License 2.0
4 stars 5 forks source link

`context deadline exceeded` with a large git repository #75

Open nobuto-m opened 9 months ago

nobuto-m commented 9 months ago

Bug Description

When I tried to use https://github.com/ceph/ceph.git, the git repository wouldn't be available in the filesystem somehow.

Once looking at the detail, it hit into:

too many failures, aborting" "error"="Run(git submodule update --init --recursive --depth 1): context deadline exceeded:

Two suggestions here:

  1. support specifying git submodule behavior in the charm configuration to minimize the data to download
/git-sync --help
...
-submodules string
   git submodule behavior: one of 'recursive', 'shallow', or 'off' (default "recursive")
  1. support customizing the deadline

To Reproduce

juju deploy -m cos cos-configuration-k8s cos-configuration \
    --config git_repo=https://github.com/ceph/ceph.git \
    --config git_branch=main \
    --config grafana_dashboards_path=monitoring/ceph-mixin/dashboards_out/

Environment

# /git-sync --version
v3.5.0

# git version
git version 2.30.2

cos-configuration 3.5.0 cos-configuration-k8s  latest/edge   39

Relevant log output

# /git-sync --repo https://github.com/ceph/ceph.git --branch main --rev HEAD --depth 1 --root /git --dest repo --one-time -v 1
I1030 10:11:21.707807    2104 main.go:473] "level"=0 "msg"="starting up" "pid"=2104 "args"=["/git-sync","--repo","https://github.com/ceph/ceph.git","--branch","main","--rev","HEAD","--depth","1","-
-root","/git","--dest","repo","--one-time","-v","1"]
I1030 10:11:21.708051    2104 main.go:923] "level"=0 "msg"="cloning repo" "origin"="https://github.com/ceph/ceph.git" "path"="/git"
I1030 10:11:25.723881    2104 main.go:737] "level"=0 "msg"="syncing git" "rev"="HEAD" "hash"="bf82a7bd34d6e65f817265743e0375d89ee403ea"
I1030 10:12:07.458563    2104 main.go:726] "level"=1 "msg"="removing worktree" "path"="/git/bf82a7bd34d6e65f817265743e0375d89ee403ea"
I1030 10:12:07.469542    2104 main.go:772] "level"=0 "msg"="adding worktree" "path"="/git/bf82a7bd34d6e65f817265743e0375d89ee403ea" "branch"="origin/main"
I1030 10:12:08.620354    2104 main.go:833] "level"=0 "msg"="reset worktree to hash" "path"="/git/bf82a7bd34d6e65f817265743e0375d89ee403ea" "hash"="bf82a7bd34d6e65f817265743e0375d89ee403ea"
I1030 10:12:08.620378    2104 main.go:838] "level"=0 "msg"="updating submodules"
E1030 10:14:47.073790    2104 main.go:525] "msg"="too many failures, aborting" "error"="Run(git submodule update --init --recursive --depth 1): context deadline exceeded: { stdout: "Submodule path
'ceph-erasure-code-corpus': checked out '2d7d78b9cc52e8a9529d8cc2d2954c7d375d5dd7'\nSubmodule path 'ceph-object-corpus': checked out '038c72b5acec667e1aca4c79a8cfcae705d766fe'\nSubmodule path 'src/
arrow': checked out '347a88ff9d20e2a4061eec0b455b8ea1aa8335dc'\nSubmodule path 'src/arrow/cpp/submodules/parquet-testing': checked out '600d437de0e8b0e9927c87e76f844a1b385b02e8'\nSubmodule path 'sr
c/arrow/testing': checked out 'a60b715263d9bbf7e744527fb0c084b693f58043'\nSubmodule path 'src/blkin': checked out 'f24ceec055ea236a093988237a9821d145f5f7c8'\nSubmodule path 'src/c-ares': checked ou
t 'fd6124c74da0801f23f9d324559d8b66fb83f533'\nSubmodule path 'src/cpp_redis': checked out 'c659475ea43bc77850018aa1433d55cad902ea85'\nSubmodule path 'src/crypto/isa-l/isa-l_crypto': checked out 'a6
dc869666fca3eef9a0305b290e4e0fc8bac645'\nSubmodule path 'src/dmclock': checked out 'e4ccdcfa828c84b8ea775a928118f2b8012d0f42'\nSubmodule path 'src/erasure-code/jerasure/gf-complete': checked out '7
e61b44404f0ed410c83cfd3947a52e88ae044e1'\nSubmodule path 'src/erasure-code/jerasure/jerasure': checked out '96c76b89d661c163f65a014b8042c9354ccf7f31'\nSubmodule path 'src/fmt': checked out
...

Additional context

No response