Closed dankell closed 7 years ago
Are you sure there hasn't been any permissions change anywhere (the user which the app-pool running Bonobo runs as must be able to see the network share), or was the share perhaps not available when the Bonobo server started?
If you do an iisreset
on the Bonobo server do they come back?
Not aware of any changes on the Network Share having changed. If there have been any changes of that type they should have affected all folders equally (all 31 repositories are on the same Network Share)
iisreset doesn't seem to make any difference
In trying to track this down it seems that at some point Bonobo no longer accepts UNC paths or Network Shares as valid repo paths, but has continued working with the paths we set up 2+ years ago...
The following error is recorded if I try and access one of the "Missing" folders, which are navigable in Windows Explorer
2017-09-11 16:28:06.624 +01:00 [Error] Invalid repo path "\\servername\dev\Git\Delphi_Absences"
2017-09-11 16:28:06.626 +01:00 [Error] Exception caught in Global.asax1
System.ArgumentException: Repository is not valid.
Parameter name: repositoryPath
at Bonobo.Git.Server.RepositoryBrowser..ctor(String repositoryPath)
at Bonobo.Git.Server.Controllers.RepositoryController.Detail(Guid id)
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
The identity configured in the application pool must have access to the share that Bonobo is using:
Which version was the last one working?
@holiiveira That might be the issue - The "AppData" folder is set to have Read/Write permissions to "MACHINENAME\IIS_IUSRS" as per https://bonobogitserver.com/install/.
Obviously the repository folder on the network server cannot have this permission as the IIS_ISRS user is a local, not domain, user.
Under the Application Pools on IIS Manager the ASP .NET v4.0 Pool is set to ApplicationPoolIdentity
Am I correct in assuming that I need to 1) Setup a Domain BONOBOUSR user with R/W permissions to the network share,, 2) Assign this to the ASP .NET v4.0. Pool in place of ApplicationPoolIdentity, and 3) Change the R/W permissions on /APPDATA to the same user?
Or is there a different setting to apply that USER to just the BONOBO IIS application?
Have managed to persuade Network Admin to setup an appropriate user with access just to the network folder with the Git Repositories and everything is now working. Still confused that only a subset of the repos, all in the same folder, were affected
We have been using Bonobo for a couple of years now, with the Repository Directory set on a network share.
I've just gone to checkout a repository which I haven't used for a couple of months and on viewing the Repositories list there are a number of repositories that are marked as "(Missing)". Out of 31 repositories 12 are marked as "Missing".
If I click on a repository the error "An error occurred when processing your request. Please try again or contact the system administrator." is displayed.
Looking on the Network server the folder associated with the Missing Repositories are where I would expect them to be. But beyond that I'm not sure what to expect.
The repository that I want to use should have been updated at the end of July based on the edit dates of the last local file edits (we keep a separate copy of the "latest" files)
I've updated from 6.2.1 to 6.3.0 and that has made no improvement...