Workflow and ServiceDesk Community

 View Only
  • 1.  INCIDENT-MGMT not displaying Rulesets after upgrade to 7.6

    Posted Sep 08, 2015 05:32 AM
      |   view attached

    Hi, Please assist

    Since upgrading our ServiceDesk environment from 7.5 to 7.6, not all the rulesets for INCIDENT-MGMT are being displayed. I've replaced the Symantec.ServiceDesk.Im.Automation.dll, with another dll from a working 7.6 installation and restarted IIS and the Symantec Workflow Server Service, but this only caused the INCIDENT-MGMT Rulesets to completely dissapear. I've done a complete reinstalled the SD server but the problem remains. The only rulesets available are for OnAnySLACompletedLate and OnAnySLAMissed, although I cannot edit these rules as none of the menues will open. 

    The error in the log are as follow:

    Application Name : ProcessManager
    Process ID : 3068
    Date :2015/09/07 11:49:04 PM
    Log Level :Error
    Log Category :ManageRulesetWebPart
    Machine Name : <servername>
    Message : 
    Error rendering rulesets.
    System.Reflection.TargetInvocationException: Property accessor 'ConditionText' on object 'Symantec.Workflow.RulesEngine.AutomationRule' threw the following exception:'Object reference not set to an instance of an object.' ---> System.NullReferenceException: Object reference not set to an instance of an object.
       at Symantec.Workflow.RulesEngine.ConditionContext.ToString()
       at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
       at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
       at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
       at Symantec.Workflow.RulesEngine.AutomationRule.get_ConditionText()
       --- End of inner exception stack trace ---
       at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component)
       at System.Web.UI.WebControls.BoundField.TryGetSimplePropertyValue(Object dataItem, Object& data)
       at System.Web.UI.WebControls.BoundField.GetValue(Control controlContainer)
       at System.Web.UI.WebControls.BoundField.OnDataBindField(Object sender, EventArgs e)
       at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
       at System.Web.UI.Control.DataBindChildren()
       at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
       at System.Web.UI.WebControls.GridView.CreateRow(Int32 rowIndex, Int32 dataSourceIndex, DataControlRowType rowType, DataControlRowState rowState, Boolean dataBind, Object dataItem, DataControlField[] fields, TableRowCollection rows, PagedDataSource pagedDataSource)
       at System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding)
       at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data)
       at System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable data)
       at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data)
       at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
       at LogicBase.Ensemble.Webparts.Default.ServiceBased.ManageRulesetWebPart.CreateRulesetMiddle(String rulesetId, Int32 i)
       at LogicBase.Ensemble.Webparts.Default.ServiceBased.ManageRulesetWebPart.DisplayRulesets(Int32 i, String rulesetId)
       at LogicBase.Ensemble.Webparts.Default.ServiceBased.ManageRulesetWebPart.CreateChildControls()

     

    Please can anyone assist me?



  • 2.  RE: INCIDENT-MGMT not displaying Rulesets after upgrade to 7.6
    Best Answer

    Posted Sep 10, 2015 08:10 AM

    I managed to resolve the problem.

     

    The solution was to run the following update query on the ProcessManager Database

     

    Update Ruleset

    Set RulesetDefinition = '' from Ruleset

    where ServiceId = 'INCIDENT-MGMT'

     

    This cleared the RulesetDefinition table for INCIDENT-MGMT and resolved whatever compatibility issues there was, and allowed for the rulesets to be displayed. I lost all the defined rules but I had it all documented which allowed me to recreate it without any problem.

     

    I confirmed that the rules are now working fine

     

    I still don’t know what caused the problem. I think it might be related to me renaming the SLAEscalation Warn to Warning before the upgrade and when I renamed it back to Warn to complete the upgrade without error, it caused another problem (Possibly because I updated the SLAEscalation directly in the DB it did not update all related items e.g. the escalation levels which is used in the rules), although the RulesetDefinition table nowhere refers to the word Warn or Warning, but only to the SLAEscalationID which was unchanged after the renaming. It does not completely make sense but it is the only possible cause that I can think of.

     

    It would really be helpful if Symantec can lock down the functionality to rename the existing SLAEscalations and only allow you to add new ones, as I think that this one renaming that I thought was harmless, gave me weeks’ worth of troubles.



  • 3.  RE: INCIDENT-MGMT not displaying Rulesets after upgrade to 7.6
    Best Answer

    Posted Sep 10, 2015 09:31 AM

    I wonder if there is any existing rule in the database that is tripping things up. I'd be inclined to backup all the rules and then delete them. If the issue goes away, start putting the rules back until you find one that breaks things. Obviously, SQL knowledge is required here as you can't do things in the web interface. Also, this will clearly break things for a bit, so maybe not do it during work hours.



  • 4.  RE: INCIDENT-MGMT not displaying Rulesets after upgrade to 7.6

    Posted Sep 11, 2015 04:10 AM

    It might be that there was only one one that was giving the problem, but I decided to remove all the info for the rules for incase it was more than one that caused the problem.

    Thanks for your info!



  • 5.  RE: INCIDENT-MGMT not displaying Rulesets after upgrade to 7.6

    Posted Sep 18, 2015 05:53 PM

    There have been many requests to change how SLA functions, including deleting SLA if a particular SLA is no now applicable in an environment.  At this point there are no changes to SLA like that in works.  What would be the advantages of protecting an SLA configuration as you describe?