When a change is active for a CI, the default Maintenance rule "CI in Change Window" doesn't appear to execute because alert management rules are still firing for CIs on the Affected CI list that are supposed to be in maintenance.
Release or Environment
Most Probable Cause:
Only the CI attached to the change request in the cmdb_ci field will be taken into consideration for the evaluation for the maintenance calculation and not the CI's in the affected CI's related list.
1. OOB, we do not have any way to insert the CI's in the affected list (apart from the actual one in the form itself) into the "em_impact_maint_ci" table.
2. A new maintenance rule needs to be created to query the task_ci table and insert it into the "em_impact_maint_ci" table.
Note: This maintenance rule should be based on the status of the change since you would want the CI's to meet the same requirements as mentioned below.
Maintenance rule "CI in change window" will populate the "em_impact_maint_ci" table only if all the following Conditions match.
- Change request is Approved.
- Change request is one of the following state (Scheduled, Implement, Open, Work In progress), we specifically query for the state values (state in (-2,-1, 1, 2),
- The change request window is active.
Note: Also if the Choice list for the state (Scheduled, Implemented, Open, work in Progress) is custom mapped to any of the other values other than (-2,-1,1,2), the maintenance rule will ignore it and CI will not be updated in the em_impact_maint_ci table.
Note: Please test this in a non-prod instance first before implementing this in your prod. Also, this will be considered as customization, and thus it will be the customer's responsibility to create/maintain (troubleshoot) the rule.