Unable to upgrade the OTK from 4.4.0 to 4.6.0. We get this error:
we attempted to go resolve the issue by following this article and increased the
Release : 10.1
there is a custom policy/assertion inside of the OTK folder tree which cannot be deleted due does not find the corresponding mapping
1. from ssg log file, search for this pattern "Deleting obsolete Role", which indicate when the "OTK Upgrade from Policy Manager started"
2. then search for the first Error/Warning Related to , and should show the folder which is claiming before that error
example : excerpt from ssg log
2023-01-05T07:48:21.033-0800 INFO 43 com.l7tech.server.security.rbac.RoleManagerImpl: Deleting obsolete Role #bea07cec5295b7090921089213e99b82 (Manage OTK Client DB GET Policy (#e001cfd0c1c1ffaa18e187b5e72fc994))
2023-01-05T07:48:21.070-0800 INFO 43 com.l7tech.server.security.rbac.RoleManagerImpl: Deleting obsolete Role #bea07cec5295b7090921089213e98e34 (View maintenance Folder (#c4bc0de10c1b6cad6bdb4e564db836fa))
2023-01-05T07:48:21.076-0800 INFO 43 com.l7tech.server.security.rbac.RoleManagerImpl: Deleting obsolete Role #bea07cec5295b7090921089213e98e4b (Manage maintenance Folder (#c4bc0de10c1b6cad6bdb4e564db836fa))
2023-01-05T07:48:21.127-0800 WARN 43 org.hibernate.engine.jdbc.spi.SqlExceptionHelper: SQL Error: 1451, SQLState: 23000
2023-01-05T07:48:21.127-0800 ERROR 43 org.hibernate.engine.jdbc.spi.SqlExceptionHelper: Cannot delete or update a parent row: a foreign key constraint fails (`ssg`.`policy`, CONSTRAINT `policy_folder` FOREIGN KEY (`folder_goid`) REFERENCES `folder` (`goid`))
2023-01-05T07:48:21.148-0800 WARN 43 org.hibernate.engine.jdbc.spi.SqlExceptionHelper: SQL Error: 1451, SQLState: 23000
The above means , there is Folder called "Manage maintenance" which has a customized object which OTK is trying to delete but cannot.
So the service/job/object there need to be removed to allow the upgrade process flow goes fine.
a) We advise to do not put customized services/encap assertions on OTK folder tree. Use other external folder but out of the OTK structure to avoid this kind of errors.
b) the Manage maintenance Folder and Task called "backend service alerts" applies for this use case only. You may found a different task , or folder Name in your own log file.
Solution : Moving that assertion (ie backend service alerts) to custom folder out of the OTK folder resolved this issue.
Tested in lab this solution also :
1. from Policy Manager , tasks -> global settings -> Scheduled tasks -> Manage scheduled tasks , we removed a custom Task called "backend service alerts"
2. Go to (lower left search) , open the maintenance folder remove "Backend service Alert" (which is a customized service) from the OTK tree.
Remove the corresponding "Backend Service Alert" from OTK Folder too .
3. Re-do the upgrade and finished successfully