Unix.ENAMETOOLONG when using datakit-bridge-local-git
Thegaram opened this issue · 3 comments
tl;dr
I see the following error:
9p error: Unix.Unix_error(Unix.ENAMETOOLONG, "open", "/data/.git/lock/refs/heads/status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dstatus_5f5f2dme_5f5f2dmy_5f5f5f2dproject_5f5f2dref_5f5f2dheads_5f5f2dstatus_5f5f5f2dme_5f5f5f2dmy_5f5f5f5f2dproject_5f5f5f2dref_5f5f5f2dheads_5f5f5f2dgithub_5f5f5f5f2dmetadata")
Details
I run a DataKit server using Docker:
$ docker run -it --net datakit-net --name datakit -v [path_to_my_repo]:/data -p 5640:5640 datakit/db
Starting datakit %%VERSION%% ...
datakit: [INFO] accepted a new connection on tcp://0.0.0.0:5640
...
And use the datakit-bridge-local-git
module with a local git repository:
$ docker run --name git-bridge --net datakit-net -v [path_to_my_repo]:/data datakit/local-bridge me/my-project:/data --metadata-store tcp:datakit:5640
2018-03-02 15:59.18 INF [bridge-local-git] Connecting to DataKit server on tcp:localhost:5640
...
When I try to run the CI (using the example setup under ci/skeleon
) I get the following output:
$ docker run --name my-ci --net datakit-net -p 8443:8443 my-ci --metadata-store tcp:datakit:5640
2018-03-02 15:23.48 INF [datakit-ci] Generating new private key...
2018-03-02 15:23.49 APP [datakit-ci] >>> Configure the CI by visiting
https://127.0.0.1:8443/auth/intro/oRygfFk0IN8wujdTAfmsdOHpOLlfp3n0
2018-03-02 15:23.49 INF [datakit-ci] Connecting to DataKit server on tcp:datakit:5640
2018-03-02 15:23.49 INF [datakit-ci] Starting monitor loop
2018-03-02 15:23.50 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-github_2dmetadata: my-test -> Success!
2018-03-02 15:23.50 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-master: my-test -> Success!
2018-03-02 15:23.50 INF [datakit-ci] Flush: Set me/my-project/ref/heads/master:my-test to Success!
2018-03-02 15:23.50 INF [datakit-ci] Flush: Set me/my-project/ref/heads/github-metadata:my-test to Success!
2018-03-02 15:23.50 INF [datakit-ci] Flush: Set me/my-project/ref/heads/github-metadata:my-test to Success!
2018-03-02 15:23.51 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-commit_2dindex: my-test -> Success!
2018-03-02 15:23.51 INF [datakit-ci] Flush: Set me/my-project/ref/heads/commit-index:my-test to Success!
2018-03-02 15:23.51 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dgithub_5f2dmetadata: my-test -> Success!
2018-03-02 15:23.52 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dmaster: my-test -> Success!
2018-03-02 15:23.52 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-master:my-test to Success!
2018-03-02 15:23.52 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-github_2dmetadata:my-test to Success!
2018-03-02 15:23.52 INF [datakit-ci] Flush: Set me/my-project/ref/heads/github-metadata:my-test to Success!
2018-03-02 15:23.53 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dcommit_5f2dindex: my-test -> Success!
2018-03-02 15:23.54 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dgithub_5f5f2dmetadata: my-test -> Success!
2018-03-02 15:23.54 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dgithub_5f2dmetadata:my-test to Success!
2018-03-02 15:23.54 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-github_2dmetadata:my-test to Success!
2018-03-02 15:23.54 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-commit_2dindex:my-test to Success!
2018-03-02 15:23.54 INF [datakit-ci] Flush: Set me/my-project/ref/heads/github-metadata:my-test to Success!
2018-03-02 15:23.54 INF [datakit-ci] Flush: Set me/my-project/ref/heads/commit-index:my-test to Success!
2018-03-02 15:23.56 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dcommit_5f5f2dindex: my-test -> Success!
2018-03-02 15:23.56 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dmaster: my-test -> Success!
2018-03-02 15:23.57 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dstatus_5f5f2dme_5f5f2dmy_5f5f5f2dproject_5f5f2dref_5f5f2dheads_5f5f2dgithub_5f5f5f2dmetadata: my-test -> Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dgithub_5f5f2dmetadata:my-test to Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dmaster:my-test to Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dgithub_5f2dmetadata:my-test to Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dcommit_5f2dindex:my-test to Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-github_2dmetadata:my-test to Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/status-me-my_2dproject-ref-heads-commit_2dindex:my-test to Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/github-metadata:my-test to Success!
2018-03-02 15:23.57 INF [datakit-ci] Flush: Set me/my-project/ref/heads/commit-index:my-test to Success!
2018-03-02 15:24.00 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dstatus_5f5f2dme_5f5f2dmy_5f5f5f2dproject_5f5f2dref_5f5f2dheads_5f5f2dcommit_5f5f5f2dindex: my-test -> Success!
2018-03-02 15:24.00 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dstatus_5f5f2dme_5f5f2dmy_5f5f5f2dproject_5f5f2dref_5f5f2dheads_5f5f2dmaster: my-test -> Success!
2018-03-02 15:24.01 INF [datakit-ci] Record: status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dstatus_5f5f2dme_5f5f2dmy_5f5f5f2dproject_5f5f2dref_5f5f2dheads_5f5f2dstatus_5f5f5f2dme_5f5f5f2dmy_5f5f5f5f2dproject_5f5f5f2dref_5f5f5f2dheads_5f5f5f2dgithub_5f5f5f5f2dmetadata: my-test -> Success!
Failure:
9p error: Unix.Unix_error(Unix.ENAMETOOLONG, "open", "/data/.git/lock/refs/heads/status-me-my_2dproject-ref-heads-status_2dme_2dmy_5f2dproject_2dref_2dheads_2dstatus_5f2dme_5f2dmy_5f5f2dproject_5f2dref_5f2dheads_5f2dstatus_5f5f2dme_5f5f2dmy_5f5f5f2dproject_5f5f2dref_5f5f2dheads_5f5f2dstatus_5f5f5f2dme_5f5f5f2dmy_5f5f5f5f2dproject_5f5f5f2dref_5f5f5f2dheads_5f5f5f2dgithub_5f5f5f5f2dmetadata")
@talex5 After resolving these, I'll try to write up something in a PR about setting up a local CI workflow for other newbies like me :D
Are you by any chance trying to use your source code repository as the CI database repository? If so, every time the CI writes out its state, it will try to perform the CI tests on the new branch, which will not end well...
There should be two separate Git repositories:
- The code you want to run CI on.
- The one where the CI stores the results (logs, etc).
Oh that explains. So the first one is the one I specify for datakit/local-bridge
and the second one is the one I specify for datakit/db
, right?
Yes.