Version/Environment (if relevant):
Domino 5.0.x - 5.3.x
Issue:
A Project's Workspace dashboard shows a 400 error with the message "Repo in run does not match repo in workspace":
This error appears after starting an existing Workspace, and the Workspace that was started may also appear inaccessible.
Root Cause:
There is a bug in the Domino code for these versions that can cause this error in projects with imported Git repos. The workflow that results in this error may be similar to the following:
1) User has an imported Git repo in their project, which they have used successfully with their Workspace
2) User imports new Git repos into their project.
3) User attempts to restart a previous Workspace.
Further confirmation of this issue can be observed via MongoDB by comparing the record for the run to the record for the workspace:
db.runs.find({"_id" : ObjectId("63937c396a002435f7149083")})
{ "_id" : ObjectId("63937c396a002435f7149083"), "projectId" : ObjectId("639367956a002435f7149025"), "startingUserId" : ObjectId("633c9ba126d46a3537b177d8"), "queued" : ISODate("2022-12-09T18:19:37.031Z"), "status" : "Running", ... "repositories" : [ { "id" : ObjectId("639368776a002435f714902d"), "name" : "Repo1", "uri" : "<url for Repo1>", "ref" : "(Default branch)", "serviceProvider" : "github", "startingRef" : "4b27d25218abe07490ef329c22f32472b6f9def2", "startingBranch" : "main" }, { "id" : ObjectId("63937c2a6a002435f7149080"), "name" : "Repo2", "uri" : "<url for Repo2>", "ref" : "(Default branch)", "serviceProvider" : "github" }, { "id" : ObjectId("63937c346a002435f7149081"), "name" : "Repo3", "uri" : "<url for Repo3>", "ref" : "(Default branch)", "serviceProvider" : "github" } ], ... "importedGitRepos" : [ { "id" : ObjectId("639368776a002435f714902d"), "name" : "Repo1", "ref" : "(Default branch)" } ], ... "started" : ISODate("2022-12-09T18:21:14.179Z") }
db.workspace.find({"_id": "<Workspace ID>"})
{ "_id" : ObjectId("63937c0c6a002435f7149078"), "projectId" : ObjectId("639367956a002435f7149025"), "ownerId" : ObjectId("633c9ba126d46a3537b177d8"), ... "createdAt" : ISODate("2022-12-09T18:18:52.564Z"), "importedProjects" : [ ], "importedGitRepos" : [ { "id" : ObjectId("639368776a002435f714902d"), "name" : "Repo1", "ref" : "(Default branch)" } ],
... }
As we can see, there are 3 repos listed n the run record under "repositories" but only one under "importedGitRepos", and only one repo in the workspace record. Hence the error "Repo in run does not match repo in workspace".
Resolution:
Once the problem Workspace is stopped, the Workspace dashboard will again be visible and the Workspace can simply be deleted. While the Workspace cannot be stopped from the dashboard, it is able to be stopped in the Admin UI under Executions (https://<your domino url>/admin/computegrid
):
If the Workspace has un-synced changes that need to be saved prior to stopping/deleting, file recovery while the workspace is running is a fairly straight-forward process via Kubernetes. Please contact Domino Support if you need assistance!
Notes/Information:
DOM-41271 will be addressed in Domino 5.4.0
Comments
0 comments
Please sign in to leave a comment.