public boolean canTriggerManualPipeline(PipelineConfig pipelineConfig, String username, OperationResult result) { CompositeChecker checker = buildScheduleCheckers(asList(manualTriggerCheckers(pipelineConfig, username), diskCheckers())); checker.check(result); return result.canContinue(); }
private boolean canSchedule(PipelineConfig pipelineConfig) { return schedulingChecker.canAutoTriggerConsumer(pipelineConfig); }
public void canProduce(PipelineConfig pipelineConfig, SchedulingCheckerService schedulingChecker, ServerHealthService serverHealthService, OperationResult operationResult) { schedulingChecker.canAutoTriggerProducer(pipelineConfig, operationResult); }
public void canTriggerPipelineWithTimer(PipelineConfig pipelineConfig, OperationResult operationResult) { CompositeChecker compositeChecker = buildScheduleCheckers(asList(timerTriggerCheckers(pipelineConfig))); compositeChecker.check(operationResult); }
public boolean canSchedule(OperationResult result) { CompositeChecker checker = buildScheduleCheckers(asList(diskCheckers())); checker.check(result); return result.canContinue(); }
private boolean canForce(PipelineConfig pipelineConfig, String username) { return schedulingCheckerService.canManuallyTrigger(pipelineConfig, username, new ServerHealthStateOperationResult()); }
public boolean canManuallyTrigger(PipelineConfig pipelineConfig, String username, OperationResult result) { SchedulingChecker checker = buildScheduleCheckers(asList(manualTriggerCheckers(pipelineConfig, username))); checker.check(result); return result.getServerHealthState().isSuccess(); }
public boolean pipelineCanBeTriggeredManually(PipelineConfig pipelineConfig) { SchedulingChecker checker = buildScheduleCheckers(asList(manualTriggerCheckersWithoutPermissionsCheck(pipelineConfig))); OperationResult result = new HttpOperationResult(); checker.check(result); return result.canContinue(); }
public void canAutoTriggerProducer(PipelineConfig pipelineConfig, OperationResult operationResult) { String pipelineName = CaseInsensitiveString.str(pipelineConfig.name()); SchedulingChecker checker = buildScheduleCheckers(asList( new PipelineLockChecker(pipelineName, pipelineLockService), new ManualPipelineChecker(pipelineConfig), new PipelinePauseChecker(pipelineName, pipelinePauseService), new StageActiveChecker(pipelineName, CaseInsensitiveString.str(pipelineConfig.getFirstStageConfig().name()), stageService))); checker.check(operationResult); }
public void canTriggerPipelineWithTimer(String name, ServerHealthStateOperationResult result) { PipelineConfig pipelineConfig = goConfigService.getCurrentConfig().pipelineConfigByName(new CaseInsensitiveString(name)); canTriggerPipelineWithTimer(pipelineConfig, result); }
public boolean canTriggerManualPipeline(String pipelineName, String username, OperationResult result) { PipelineConfig pipelineConfig = goConfigService.currentCruiseConfig().pipelineConfigByName(new CaseInsensitiveString(pipelineName)); return canTriggerManualPipeline(pipelineConfig, username, result); }
private void autoProduceBuildCauseAndSave() { try { OperationResult result = new ServerHealthServiceUpdatingOperationResult(serverHealthService); if (!schedulingChecker.canSchedule(result)) { return; } removeLicenseInvalidFromLog(); checkPipelines(); } catch (Exception e) { LOGGER.error("Error autoScheduling pipelines", e); } }
public boolean canRun(PipelineIdentifier pipelineIdentifier, String stageName, String username, boolean hasPreviousStageBeenScheduled) { if (!goConfigService.hasStageConfigNamed(pipelineIdentifier.getName(), stageName)) { return false; } ServerHealthStateOperationResult result = new ServerHealthStateOperationResult(); schedulingChecker.canScheduleStage(pipelineIdentifier, stageName, username, result); return result.getServerHealthState().isSuccess() && hasPreviousStageBeenScheduled; }
private Stage internalRerun(Pipeline pipeline, String stageName, String approvedBy, final StageInstanceCreator creator, ErrorConditionHandler errorHandler) { ServerHealthStateOperationResult result = new ServerHealthStateOperationResult(); if (!schedulingChecker.canRerunStage(pipeline.getIdentifier(), stageName, approvedBy, result)) { errorHandler.cantSchedule("Cannot schedule: " + result.getServerHealthState().getDescription(), pipeline.getName(), stageName); } return scheduleStage(pipeline, stageName, approvedBy, creator, errorHandler); }
private SchedulingChecker timerTriggerCheckers(PipelineConfig pipelineConfig) { String pipelineName = CaseInsensitiveString.str(pipelineConfig.name()); String stageName = CaseInsensitiveString.str(pipelineConfig.getFirstStageConfig().name()); return new CompositeChecker( new AboutToBeTriggeredChecker(pipelineConfig.name(), triggerMonitor, pipelineScheduleQueue), new PipelinePauseChecker(pipelineName, pipelinePauseService), new StageActiveChecker(pipelineName, stageName, stageService), new PipelineLockChecker(pipelineName, pipelineLockService), diskCheckers()); }
public boolean canRerunStage(PipelineIdentifier pipelineIdentifier, String stageName, String username, OperationResult result) { String pipelineName = pipelineIdentifier.getName(); SchedulingChecker canRerunChecker = buildScheduleCheckers(asList( new StageAuthorizationChecker(pipelineName, stageName, username, securityService), new PipelinePauseChecker(pipelineName, pipelinePauseService), new PipelineActiveChecker(stageService, pipelineIdentifier), new StageActiveChecker(pipelineName, stageName, stageService), diskCheckers())); canRerunChecker.check(result); return result.getServerHealthState().isSuccess(); }
private void populatePipelineCanRunStatus(Username username, PipelineInstanceModel pipelineInstanceModel) { boolean canPipelineRun = schedulingCheckerService.canManuallyTrigger(pipelineInstanceModel.getName(), username); pipelineInstanceModel.setCanRun(canPipelineRun); }
public boolean canAutoTriggerConsumer(PipelineConfig pipelineConfig) { OperationResult result = new ServerHealthStateOperationResult(); String pipelineName = CaseInsensitiveString.str(pipelineConfig.name()); String stageName = CaseInsensitiveString.str(pipelineConfig.getFirstStageConfig().name()); SchedulingChecker checker = buildScheduleCheckers(asList(new PipelinePauseChecker(pipelineName, pipelinePauseService), new PipelineLockChecker(pipelineName, pipelineLockService), new StageActiveChecker(pipelineName, stageName, stageService))); checker.check(result); return result.getServerHealthState().isSuccess(); }
public void canProduce(PipelineConfig pipelineConfig, SchedulingCheckerService schedulingChecker, ServerHealthService serverHealthService, OperationResult operationResult) { schedulingChecker.canTriggerPipelineWithTimer(pipelineConfig, operationResult); if (!operationResult.canContinue()) { ServerHealthState serverHealthState = operationResult.getServerHealthState(); LOGGER.info("'{}' because '{}'", serverHealthState.getMessage(), serverHealthState.getDescription()); } else { TimerConfig timer = pipelineConfig.getTimer(); String timerSpec = timer == null ? "Missing timer spec" : timer.getTimerSpec(); LOGGER.info("Timer scheduling pipeline '{}' using spec '{}'", pipelineConfig.name(), timerSpec); } }
public void canProduce(PipelineConfig pipelineConfig, SchedulingCheckerService schedulingChecker, ServerHealthService serverHealthService, OperationResult operationResult) { schedulingChecker.canTriggerManualPipeline(pipelineConfig, CaseInsensitiveString.str(username.getUsername()), operationResult); if (!operationResult.canContinue()) { ServerHealthState serverHealthState = operationResult.getServerHealthState(); LOGGER.info("'{}' because '{}'", serverHealthState.getMessage(), serverHealthState.getDescription()); serverHealthService.update(serverHealthState); } }