search cancel

Software Management Plug-in install policy is not getting down to targeted machines properly

book

Article ID: 163909

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

The Software Management Plug-in install policy is not running on his own (meaning, the target seems to be static and client machines (windows and Linux) are not getting the policy to install).
When they added a new schedule, it worked but after few days stops targeting to the desired machines.
If you disable and then enable again the install policy, it starts working right away and client machines start getting the policy and install the Software Management Plug-in.
No other policies seems to be affected for other Solutions.  

It seems that after few days the policy stops been applied to the target and until we touch the policy (by disable-enabling it or adding a new schedule for example) then things seems to be fine for few days.

This is the default upgrade policy. This policy is disabled on the Parent SMP and managed by the Child SMP. Even after cloning this policy on the Parent SMP, the same behavior has been noticed.

 

Environment

ITMS 7.6 HF7
ITMS 8.0 HF4 or ealier

Cause

Dev reviewed the issue and after verifying few areas of this process they were able to identify what they think the root cause is:
1. Since this Software Management Plug-in install policy is a replicated one from the parent, they found that the shadow policies that are contained in this master policy were replicated as "off" from the parent policy. Even though the policy was enabled on the child NS, the replication process overwrote the On Setting for the shadow policies (which are not visible in the UI).
2. We checked other client install policies and those had the 'NoReplication' attribute on the shadow policies. That is why those were not affected the same way.

 

Steps to duplicate with any SWM policy (Install/Upgrade/Uninstall):
1. On Parent NS Enable HEP but not Enable SWM policy (Right Clock on policy->Hierarchy->Properties->Check all checkboxes and click OK)
2. Execute Differential Hierarchy Schedule on Parent NS
3. On Child NS Enable SWM policy and verify Item.XML(right click on policy and select View as XML)
4. Try to search "<enabled>False</enabled>" in XML (not found).
5. Execute Differential Hierarchy Schedule on Parent NS again.
6. After this Nothing changed.
7. Change something on Child NS (I have changed Software portal install policy status).
8. Execute Differential Hierarchy Schedule on Parent NS again.
9. Try to search "<enabled>False</enabled>" in XML.

result:
"<enabled>False</enabled>" is found for item with mastershadow hint. That means that issue will appears and client will not receive the policy.

Resolution

This issue with "In hierarchy, the HEP is not propagated to shadow policies which may lead to policies being disabled after the replication" has been fixed in ITMS 8.0 HF5. See DOC9490

There are 2 suggested approaches to handle this issue for those that are not in 8.0 HF5 yet:

1. The general suggestion provided by Dev was to clone the desired policy on the Child SMP rather than from the Parent SMP, and use that one. Since it was cloned on the Child and owned by the Child SMP, Replication will not overwrite and turn off the shadow policies needed for this policy.

2. Dev provided a query that should change the attribute for this Software Management Plug-in install policy to have the Shadow Policies as NoReplicable so that change can be replicated and now the policies on the Child SMPs can be used as intended without having the need to be cloning then in all Child SMPs. See below.

Steps to apply:
1. Execute SQL query on Parent SMP
2. Disable and then Enable back original SWM install or upgrade or Uninstall policies on Child SMP server

After another hierarchy replication they should still work and clients should still get the policies.

Please note that provided SQL fixes only original SWM policies and clones created from them on Parent SMP will have the issue again after replication on Child SMP.

update ch 
set Attributes = ch.Attributes | 4 -- NoReplication
--select ch.*
from Item  mast
join ItemReference ref
on mast.Guid = ref.ParentItemGuid
join Item ch
on ch.Guid = ref.ChildItemGuid
where 
mast.Guid in ('ac2afa31-475b-4eee-9f28-19bbba1f11fb',
'869a578d-b064-4fbb-941d-7206d79723d4',
'4ad33a95-7145-49ca-8e07-bf510ddd924f')
and ref.Hint = 'mastertoshadow'

********************************