Git Product home page Git Product logo

miis-autosync's People

Contributors

kcrosby avatar ryannewington avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

miis-autosync's Issues

Timeout on stopping services

8/08/2017 8:28:04 AM: ZAVip: DS returned success
8/08/2017 8:28:08 AM: FIMService: Executing DS
8/08/2017 8:28:09 AM: FIMService: DS returned success
8/08/2017 8:28:13 AM: Current config has been set
8/08/2017 8:28:13 AM: MonashAD: Executing DS
8/08/2017 8:28:14 AM: MonashAD: DS returned success
8/08/2017 8:28:14 AM: Waiting for executors to stop
8/08/2017 8:28:14 AM: ACMA: Stopping MAExecutor
8/08/2017 8:28:14 AM: FIMService: Stopping MAExecutor
8/08/2017 8:28:14 AM: FIMService: Stopped execution triggers
8/08/2017 8:28:14 AM: FIMService: Waiting for cancellation to complete
8/08/2017 8:28:14 AM: ACMA: Stopped execution triggers
8/08/2017 8:28:14 AM: ACMA: Waiting for cancellation to complete
8/08/2017 8:28:14 AM: JMSSStudentDB: Stopping MAExecutor
8/08/2017 8:28:14 AM: JMSSStudentDB: Stopped execution triggers
8/08/2017 8:28:14 AM: MonashCallista: Stopping MAExecutor
8/08/2017 8:28:14 AM: MonashCallista: Stopped execution triggers
8/08/2017 8:28:14 AM: MonashLDS: Stopping MAExecutor
8/08/2017 8:28:14 AM: MonashLDS: Stopped execution triggers
8/08/2017 8:28:14 AM: MonashLDS: Waiting for cancellation to complete
8/08/2017 8:28:14 AM: FIMService: Cancellation completed
8/08/2017 8:28:14 AM: MonashSap: Stopping MAExecutor
8/08/2017 8:28:14 AM: MonashSap: Stopped execution triggers
8/08/2017 8:28:14 AM: MonashSap: Waiting for cancellation to complete
8/08/2017 8:28:14 AM: MonashAD: Stopping MAExecutor
8/08/2017 8:28:14 AM: ZAVip: Stopping MAExecutor
8/08/2017 8:28:14 AM: ZAVip: Stopped execution triggers
8/08/2017 8:28:14 AM: ZAVip: Waiting for cancellation to complete
8/08/2017 8:28:14 AM: MonashSap: Cancellation completed
8/08/2017 8:28:14 AM: MonashAD: Stopped execution triggers
8/08/2017 8:28:14 AM: MonashGoogleApps: Stopping MAExecutor
8/08/2017 8:28:14 AM: MonashGoogleApps: Stopped execution triggers
8/08/2017 8:28:14 AM: MonashGoogleApps: Waiting for cancellation to complete
8/08/2017 8:28:14 AM: MonashLDS: Cancellation completed
8/08/2017 8:28:14 AM: ZAVip: Cancellation completed
8/08/2017 8:28:14 AM: MonashGoogleApps: Cancellation completed
8/08/2017 8:29:44 AM: Timeout waiting for executors to stop
8/08/2017 8:29:44 AM: An error occurred during the service reload process


An exception has occurred in Reload
Type: System.TimeoutException
Message: The operation has timed out.
Source: Lithnet.Miiserver.AutoSync
TargetSite: Void StopMAExecutors()
StackTrace:
at Lithnet.Miiserver.AutoSync.Program.StopMAExecutors()
at Lithnet.Miiserver.AutoSync.Program.Reload()



An exception has occurred in Reload
Type: System.TimeoutException
Message: The operation has timed out.
Source: Lithnet.Miiserver.AutoSync
TargetSite: Void StopMAExecutors()
StackTrace:
at Lithnet.Miiserver.AutoSync.Program.StopMAExecutors()
at Lithnet.Miiserver.AutoSync.Program.Reload()
at Lithnet.Miiserver.AutoSync.ConfigService.Reload()


8/08/2017 8:29:47 AM: ACMA: Send mail failed


An exception has occurred in TrySendMail
Type: System.Net.Mail.SmtpException
Message: The operation has timed out.
Source: System
TargetSite: Void Send(System.Net.Mail.MailMessage)
StackTrace:
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at Lithnet.Miiserver.AutoSync.MessageSender.SendMessage(String subject, String body)
at Lithnet.Miiserver.AutoSync.MAExecutor.SendMail(RunDetails r)
at Lithnet.Miiserver.AutoSync.MAExecutor.TrySendMail(RunDetails r)


8/08/2017 8:29:47 AM: ACMA: Cancellation completed

Ungraceful handling of GUI when service is stopped

When the service is stopped from "services" and GUI is running - it crashes with multiple windows

An unexpected error occured and the editor was terminated

It should have a more graceful exit.

Also if you try to open GUI while service is stopped it should give an option to start it if possible

After Autosync Upgrade / Install option to start Autosync Manually

Currently what I see is that autosync starts immediately after an install / upgrade. I am not sure if that is the best way to do it as the config file might not be correct and user might want to check the config file before starting the syncs.

Maybe a flag in the main page which if true then the autosync service picks up the file and runs..

Just a suggestion.

Autosync service crashes ungracefully if the sync engine has not started

23/02/2017 5:37:03 PM: Starting service base
****************************************
An exception has occurred in Start
Type: System.FormatException
Message: Input string was not in a correct format.
Source: mscorlib
TargetSite: Void StringToNumber(System.String, System.Globalization.NumberStyles, NumberBuffer ByRef, System.Globalization.NumberFormatInfo, Boolean)
StackTrace:
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at Lithnet.Miiserver.Client.SyncServer.IsAdmin()
   at Lithnet.Miiserver.AutoSync.Program.IsInFimAdminsGroup()
   at Lithnet.Miiserver.AutoSync.Program.Start()
****************************************
23/02/2017 5:37:03 PM: Exiting service

More explanation for number under MA Name

There is a numeric field under the MA Name.. I am guessing it is pending changes or number of changes done to that MA config. Need a text field explaining it or to be removed.

Ability to set path for config.xml

Currently it saves it to default location "C:\Program Files\Lithnet\MiisAutoSync".

Would like ability to have a custom path to save it.

Use SSL tick box should change port to 465 automatically

As a rule of thumb when "Use SSL" is ticked under mail option the default mail host port should change to 465 (unless already set to soemthing else apart from 25 (i.e. user intervention has already taken place)

Saying that, maybe the tick box should be before the mail host and port option so that when user reaches the port section its already changed

Ability to get notification if the Profile has run longer than expected

In quite a few occasions we have seen that few run profiles in some MA are hung and that the profile is still running. This leads to a queue build up and virtually stalling operations in the environment.

Although not a autosync issue, it would be nice to enable a feature whereby which we can mention the expected runtime of a run profile for an MA and if it has taken longer then that, we are sent an email notification of the same so that we can check it and potentially stop a backlog in production environment.

Option to revert changes in Config File

There should be an easy option to revert changes (apart from Import Config again). This should also then not prompt for restart of service as autosync should detect no changes have occured #23 / or changes have reverted.

Should not allow to save config when required parameter is missing

Shouldn't allow to save if PowerShell (or any other trigger) which requires a file or command and if it's not given.

On load (if saved) should error or list errors found in GUI as well ?

7/08/2017 3:35:43 PM: The PowerShell execution trigger encountered an error and has been terminated


An exception has occurred in Run
Type: System.ArgumentNullException
Message: Value cannot be null.
Parameter name: path
Source: mscorlib
TargetSite: System.String ReadAllText(System.String)
StackTrace:
at System.IO.File.ReadAllText(String path)
at Lithnet.Miiserver.AutoSync.PowerShellExecutionTrigger.Run()


Unable to save pending changes in v1.0.6437

Made changes to MonashGoogleApps

Clicked Save and it errored on prompt of restart.. No run profile was running during that time

[12584] The configuration has been updated. The following management agents must be restarted for the configuration to take effect
[12584] MonashGoogleApps
[12584] Restarting executor 'MonashGoogleApps' with new configuration
[12584] MonashGoogleApps: SYNCOBJECT: WAIT: serviceControlLock
[12584] MonashGoogleApps: SYNCOBJECT: LOCKED: serviceControlLock
[12584] MonashGoogleApps: LOCK: WAIT: serviceControlLock
[12584] MonashGoogleApps: LOCK: CLEARED: serviceControlLock
[12584] MonashGoogleApps: LOCK: TAKE: serviceControlLock
[12584] MonashGoogleApps: SYNCOBJECT: UNLOCKED: serviceControlLock
[12584] An error occurred stopping the executor
[12584] ****************************************
[12584] An exception has occurred in Stop
[12584] Type: System.ServiceModel.CommunicationObjectAbortedException
[12584]
[12584] Message: The operation 'MAStatusChanged' could not be completed because the sessionful channel timed out waiting to receive a message. To increase the timeout, either set the receiveTimeout property on the binding in your configuration file, or set the ReceiveTimeout property on the Binding directly.
[12584] Source: mscorlib
[12584] TargetSite: Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)
[12584] StackTrace:
[12584]
[12584] Server stack trace:
[12584] at System.ServiceModel.Channels.ServiceChannel.ThrowIfIdleAborted(ProxyOperationRuntime operation)
[12584] at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
[12584] at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
[12584] at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
[12584]
[12584] Exception rethrown at [0]:
[12584] at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[12584] at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[12584] at Lithnet.Miiserver.AutoSync.IEventCallBack.MAStatusChanged(MAStatus status)
[12584] at Lithnet.Miiserver.AutoSync.EventService.NotifySubscribers(MAStatus status)
[12584] at Lithnet.Miiserver.AutoSync.ExecutionEngine.X_StateChanged(Object sender, MAStatusChangedEventArgs e)
[12584] at Lithnet.Miiserver.AutoSync.MAExecutor.RaiseStateChange()
[12584] at Lithnet.Miiserver.AutoSync.MAExecutor.set_ControlState(ControlState value)
[12584] at Lithnet.Miiserver.AutoSync.MAExecutor.Stop()
[12584] ****************************************
[12584]
[13052] System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The operation 'MAStatusChanged' could not be completed because the sessionful channel timed out waiting to receive a message. To increase the timeout, either set the receiveTimeout property on the binding in your configuration file, or set the ReceiveTimeout property on the Binding directly. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
[13052] System.ServiceModel.CommunicationObjectAbortedException: The operation 'MAStatusChanged' could not be completed because the sessionful channel timed out waiting to receive a message. To increase the timeout, either set the receiveTimeout property on the binding in your configuration file, or set the ReceiveTimeout property on the Binding directly.
[13052]
[13052] Server stack trace:
[13052] at System.ServiceModel.Channels.ServiceChannel.ThrowIfIdleAborted(ProxyOperationRuntime operation)
[13052] at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
[13052] at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
[13052] at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
[13052]
[13052] Exception rethrown at [0]:
[13052] at System.Runtime.Remoting.Proxies.R...).
[12584] Searching for changes since 2017-08-16T15:00:27.647
[12584] Found 0 changes

After sometime

[13052] System.TimeoutException: This request operation sent to net.pipe://localhost/lithnet/autosync/config did not receive a reply within the configured timeout (00:01:40). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.
[13052]
[13052] Server stack trace:
[13052] at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
[13052] at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
[13052] at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
[13052] at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
[13052]
[13052] Exception rethrown at [0]:
[13052] at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13052] at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13052] at Lithnet.Miiserver.AutoSync.IConfigService.RestartChangedExecutors()
[13052] at Lithnet.Miiserver.AutoSync.ConfigClient.RestartChangedExecutors()
[13052] at Lithnet.Miiserver.AutoSync.UI.ViewModels.MainWindowViewModel.AskToRestartService()
[13052] at Lithnet.Miiserver.AutoSync.UI.ViewModels.MainWindowViewModel.Save()
[12584] Searching for changes since 2017-08-16T15:00:27.647
[12584] Found 0 changes

Unable to start autosync service in v1.0.6437

After install, service is unable to start. Nothing in the autosync log

Only comment in System Log

The Lithnet MIIS AutoSync service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.

A timeout was reached (30000 milliseconds) while waiting for the Lithnet MIIS AutoSync service to connect.

Rollback to older version works

Notification in log to restart service to reload config file

By mistake, a user might change the config file and the GUI indicates that it needs to restart service to reload the file. I think same notifications should be in the logs so that if there is an issue and someone looks at the logs there is clear indication (maybe spam every 10 sec or 30 sec) that the latest config is not loaded.

Loading config file always prompts for restart of service

I think this is counter productive.

Everytime we load a config file and even if there is no change (no * on the top), there is still a message to restart the service. This can affect timed execution triggers as user willl think to restart service everytime and thus the timer will reset to 0.

The PowerShell execution trigger 'x' encountered an error and has been terminated

An error can occur when adding a new run profile to the execution queue which incorrectly terminates the PowerShell extension

System.InvalidOperationException: Collection was modified; enumeration operation may not execute. 
at System.Collections.Generic.List`1.Enumerator.MoveNextRare() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) 
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) 
at Lithnet.Miiserver.AutoSync.MAExecutor.GetQueueItemNames() 
at Lithnet.Miiserver.AutoSync.MAExecutor.AddPendingActionIfNotQueued(ExecutionParameters p, String source, Boolean runNext) 
at Lithnet.Miiserver.AutoSync.MAExecutor.notifier_TriggerExecution(Object sender, ExecutionTriggerEventArgs e) 
at Lithnet.Miiserver.AutoSync.PowerShellExecutionTrigger.Fire(ExecutionParameters p) 
at Lithnet.Miiserver.AutoSync.PowerShellExecutionTrigger.b__13_0() 

Additional UI components to add to installer

  • Check box to start service after installation
  • Do not re-prompt for service account credentials during upgrade
  • Assign or prompt to add permissions for FIM Service request history access

Enhancement: Debug Mode

Recommend a debug mode if it doesn't exist

Would like to see everything its doing (say trigger check and reporting nothing to do) and stuff.. In a quite environment with minimal data changes it is difficult to assertain if configuration is running smoothly.

Autosync Install has affected ACMA

Unable to Import / Export via ACMA after Autosync Install

Running ACMA v1.1.6411


An exception has occurred in OpenImportConnection
Type: System.TypeLoadException
Message: Could not load type 'System.Threading.AsyncLocal1' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Source: System.ServiceModel TargetSite: System.ServiceModel.OperationContext get_Current() StackTrace: at System.ServiceModel.OperationContext.get_Current() at System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via) at System.ServiceModel.ChannelFactory1.CreateChannel(EndpointAddress address, Uri via)
at System.ServiceModel.ClientBase1.CreateChannel() at System.ServiceModel.ClientBase1.CreateChannelInternal()
at System.ServiceModel.ClientBase1.get_Channel() at System.ServiceModel.ClientBase1.System.ServiceModel.ICommunicationObject.Open(TimeSpan timeout)
at Lithnet.Acma.Ecma2.ManagementAgent.OpenImportConnection(KeyedCollection`2 configParameters, Schema types, OpenImportConnectionRunStep importRunStep) in D:\github\lithnet\acma\src\Lithnet.Acma.Ecma2\ManagementAgent.cs:line 249


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.