Action history cleanup/purge initial (#2728)
* Action history cleanup/purge initial Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * apply changes after review Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * fix hibernate build by annotating delete methods with transactional annotation Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * changes after review and new test cases for new requirements * accept 0 for keep last Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * Fix ManagementSecurityTest Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * apply object utils check Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * fix for oldestAction deletion Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * remove unused comment Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * rename action ids variable Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * Fix access control handling Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com> --------- Signed-off-by: strailov <Stanislav.Trailov@bosch.io> Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com> Co-authored-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
committed by
GitHub
parent
9984c89183
commit
f1c3d0175e
@@ -298,6 +298,45 @@ public interface DeploymentManagement extends PermissionSupport {
|
||||
@PreAuthorize(SpringEvalExpressions.HAS_UPDATE_REPOSITORY)
|
||||
Action forceTargetAction(long actionId);
|
||||
|
||||
/**
|
||||
* Deletes the current action by id.
|
||||
* @param actionId - action id
|
||||
*/
|
||||
@PreAuthorize("hasAuthority('UPDATE_" + SpPermission.TARGET + "')")
|
||||
void deleteAction(long actionId);
|
||||
|
||||
/**
|
||||
* Deletes actions matching the provided rsql filter
|
||||
* @param rsql - rsql filter for actions to be deleted
|
||||
*/
|
||||
@PreAuthorize("hasAuthority('UPDATE_" + SpPermission.TARGET + "')")
|
||||
void deleteActionsByRsql(String rsql);
|
||||
|
||||
/**
|
||||
* Deletes actions present in provided list of ids
|
||||
* @param actionIds - list of action ids to be deleted
|
||||
*/
|
||||
@PreAuthorize("hasAuthority('UPDATE_" + SpPermission.TARGET + "')")
|
||||
void deleteActionsByIds(List<Long> actionIds);
|
||||
|
||||
/**
|
||||
* Deletes actions in scope of the target ONLY by list of action ids.
|
||||
*
|
||||
* @param target - target controllerId
|
||||
* @param actionsIds - list of action ids to be deleted
|
||||
*/
|
||||
@PreAuthorize("hasAuthority('UPDATE_" + SpPermission.TARGET + "')")
|
||||
void deleteTargetActionsByIds(final String target, final List<Long> actionsIds);
|
||||
|
||||
/**
|
||||
* Deletes target actions and leaves the LAST N actions in the action history only.
|
||||
*
|
||||
* @param target - target controllerId
|
||||
* @param keepLast - number of actions to be left/kept (NOT deleted)
|
||||
*/
|
||||
@PreAuthorize("hasAuthority('UPDATE_" + SpPermission.TARGET + "')")
|
||||
void deleteOldestTargetActions(final String target, final int keepLast);
|
||||
|
||||
/**
|
||||
* Sets the status of inactive scheduled {@link Action}s for the specified {@link Target}s to {@link Status#CANCELED}
|
||||
*
|
||||
@@ -372,4 +411,7 @@ public interface DeploymentManagement extends PermissionSupport {
|
||||
*/
|
||||
@PreAuthorize(SpringEvalExpressions.HAS_UPDATE_REPOSITORY)
|
||||
void cancelActionsForDistributionSet(final ActionCancellationType cancelationType, final DistributionSet set);
|
||||
|
||||
@PreAuthorize(SpringEvalExpressions.IS_SYSTEM_CODE)
|
||||
void handleMaxAssignmentsExceeded(Long targetId, Long requested, AssignmentQuotaExceededException ex);
|
||||
}
|
||||
@@ -133,6 +133,11 @@ public class TenantConfigurationProperties {
|
||||
*/
|
||||
public static final String IMPLICIT_LOCK_ENABLED = "implicit.lock.enabled";
|
||||
|
||||
/**
|
||||
* Configuration value for percentage of oldest actions to be cleaned if @maxActionsPerTarget quota is hit
|
||||
*/
|
||||
public static final String ACTIONS_PURGE_PERCENTAGE_ON_QUOTA_HIT = "actions.cleanup.onQuotaHit.percent";
|
||||
|
||||
private static final Map<Class<? extends Serializable>, TenantConfigurationValidator> DEFAULT_TYPE_VALIDATORS = Map.of(
|
||||
Boolean.class, new TenantConfigurationBooleanValidator(),
|
||||
Integer.class, new TenantConfigurationIntegerValidator(),
|
||||
|
||||
Reference in New Issue
Block a user