Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discover Community Packs not working - System.AggregateException unable to resolve the index location from http://www.mpcatalog.net/CatalogRepo #4

Open
P2P-Nathan opened this issue Oct 25, 2017 · 13 comments

Comments

@P2P-Nathan
Copy link
Member

From @Juanito99 on October 25, 2017 1:2

Hi,

our SCOM is sitting behind a proxy server. It is maintained in the server configuration:

image

After clicking on 'Discover Community Packs' an exception window is thrown and the SCOM console crashes.

image

image

The text goes as follows:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AggregateException: One or more errors occurred. ---> System.Exception: Unable to resolve the index location from http://www.mpcatalog.net/CatalogRepo
at Community.ManagementPackCatalog.UI.Models.GitHubRepository.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Community.ManagementPackCatalog.UI.Models.GitHubRepository.d__9.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Community.ManagementPackCatalog.UI.DiscoverCatalogPacks.PopulateCommunityManagementPackListFromGitHub(GitHubPackDetail[] packsToDisplay)
at Community.ManagementPackCatalog.UI.DiscoverCatalogPacks..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Microsoft.EnterpriseManagement.ConsoleFramework.Wpf.GenericWpfViewConstructor.CreateView(Object parent, Type viewType, IViewParameters viewParameters)
at Microsoft.EnterpriseManagement.ConsoleFramework.ViewConstructor.BeginShow(ShowViewContext showViewContext, AsyncCallback callback, Object state)
at Microsoft.EnterpriseManagement.ConsoleFramework.Wpf.GenericWpfViewConstructor.CreateNonRecyclableView(ShowViewContext showViewContext)
at Microsoft.EnterpriseManagement.ConsoleFramework.Wpf.GenericWpfViewConstructor.CreateAndShowViewCore(ShowViewContext showViewContext)
at Microsoft.EnterpriseManagement.ConsoleFramework.Wpf.GenericWpfViewConstructor.ShowViewOperation.Begin(ShowViewContext showViewContext)
at Microsoft.EnterpriseManagement.ConsoleFramework.Wpf.GenericWpfViewConstructor.BeginShow(ShowViewContext showViewContext, AsyncCallback callback, Object state)
at Microsoft.EnterpriseManagement.ConsoleFramework.Wpf.ConsoleViewDisplayService.OpenViewJob(Object sender, ConsoleJobEventArgs args)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Console.ConsoleJobExceptionHandler.ExecuteJob(IComponent component, EventHandler1 job, Object sender, ConsoleJobEventArgs args) at Microsoft.EnterpriseManagement.ConsoleFramework.ConsoleJobsService.RunJob(ConsoleJobDescription jobDescription) at Microsoft.EnterpriseManagement.ConsoleFramework.WindowJobsService.RunJob(ConsoleJobDescription jobDescription) at Microsoft.EnterpriseManagement.ConsoleFramework.WindowJobsService.RunJob(IComponent jobOwner, EventHandler1 jobMethod, EventHandler1 errorHandler, Object[] arguments) at Microsoft.EnterpriseManagement.ConsoleFramework.WindowJobsService.RunJob(IComponent jobOwner, EventHandler1 jobMethod, Object[] arguments)
at Microsoft.EnterpriseManagement.ConsoleFramework.WindowJobsService.RunJob(EventHandler`1 jobMethod, Object[] arguments)
at Microsoft.EnterpriseManagement.ConsoleFramework.Wpf.ConsoleViewDisplayService.OpenView(String assemblyName, String typeName, String target, String item, String criteria, Object[] arguments)
at Microsoft.EnterpriseManagement.Monitoring.Console.Common.ConsoleDisplayWrapper.OpenView(String assemblyName, String typeName, String target, String item, String criteria, Object[] arguments)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Console.MomViewsDisplay.OpenMomView(IComponent component, ManagementPackView view, String target, String item)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Administration.AdminTreeView.LaunchView(AdminTreeDataNode viewNode)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Administration.AdminTreeView.HandleNodeSelected(Object sender, TreeViewEventArgs e)
at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
at System.Windows.Forms.TreeView.WmNotify(Message& m)
at System.Windows.Forms.TreeView.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Thanks in advance

Ruben

Copied from original issue: MPCatalog/scom-community-catalog#13

@P2P-Nathan
Copy link
Member Author

From @Juanito99 on October 25, 2017 6:31

Update: If I configure the proxy server using Internet Explorer it works. - So feature request:
Please consider the proxy configuration instead of the local Internet Explorer

Thanks ;-)

@P2P-Nathan
Copy link
Member Author

Thanks for the the update, I'll add that as a work around to the documentation for others trying to access the packs through a proxy.

I've also noted the feature request, and will try to make the error a little more friendly :-) Taking the console down seems a little excessive.

@P2P-Nathan
Copy link
Member Author

#2 Covers the exception here, once #2 is closed I'll create a new feature request for the proxy functionality.

@P2P-Nathan
Copy link
Member Author

A new test build has been created that allows for the setting of a proxy via 3 registry keys. Additionally it allows for a direct URL to be used for connection to GitHub, without the use of the MPCatalog.net redirect.

The keys can be seen in my branch at: https://github.com/MPCatalog/scom-community-catalog-ui/blob/work/1.0.2.x-bug-fixes/Community.ManagementPackCatalog.UI/Models/GitHubRepository.cs#L114

Proxy configuration has a key for each of the following:

  • proxyAddress
  • proxyUserName
  • proxyPassword

Repo URL configuration has a single key of:

  • GitHubRepoBase

The updated version of the pack can be found here:
Community.ManagementPackCatalog.zip

Both registry configuration examples are available here:
Registry Key Configurations.zip

@P2P-Nathan
Copy link
Member Author

The beta release for this build is at the below url, the testing I have performed has passed, but I do not have an actual proxy environment and am unable to do a full functionality test.

1.0.2.0 beta release

@Juanito99
Copy link

Hi,

good news; the console is not crashing any more when no connection is possible :)

Could you change the condition to also accept proxy servers without authentication requirement?
if (proxyAddress != null && proxyUserName == null && proxyPassword == null)
I don't need UserName and Password.

In the final version, could you move the keys to HKLM? Current it's HCU, that makes it hard because more than one guy is checking with SCOM.

Thank you :-)

@P2P-Nathan
Copy link
Member Author

P2P-Nathan commented Nov 24, 2017 via email

@P2P-Nathan
Copy link
Member Author

@Juanito99, the registry check now looks for configuration in HKLM. HKCU can still be used if user-level settings are needed (proxy password and username come to mind.) If a property is set at both HKLM and HKCU the HKCU property will be used.

Excluding a proxyUserName and proxyPassword still allows for the proxy to be used without authentication.

A 1.0.2.1 build is below with this code updated.
Community.ManagementPackCatalog.zip

Thanks for the quick feedback,

@Juanito99
Copy link

Juanito99 commented Dec 4, 2017

@P2P-Nathan : Sorry, did it wrong. - Proxy setting is not working in our environment.
I can only access it when adding the proxy information to the Internet Explorer configuration.
Tried to set the proxy using 'netsh', but doing so is also not considered.

Let me know if I can help to trouble-shoot this issue.

@P2P-Nathan
Copy link
Member Author

P2P-Nathan commented Dec 4, 2017 via email

@beigewell
Copy link

I see this a lot and is primarily due to the redirect to github from the initial url. We are doing ssl inspection etc so things like this get picked up! Is there anyway it could just point to github without the mpcatalog url?

@P2P-Nathan
Copy link
Member Author

@beigewell , Sorry for the delay.

You can set a direct URL by creating a key named "GitHubRepoBase" at HKEY_LOCAL_MACHINE\Software\MPCatalog. Set the value to "https://raw.githubusercontent.com/MPCatalog/scom-community-catalog/master/"

Could you please see if this works for you?

Thanks,
Nathan Foreman

@beigewell
Copy link

Worked a treat thank you much better under HKLM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants