class OrchestratorRecipeExecutor {

    public void preClusterManagerStartRecipes(Stack stack) throws CloudbreakException {
        GatewayConfig gatewayConfig = gatewayConfigService.getPrimaryGatewayConfig(stack);
        try {
            hostOrchestrator.preClusterManagerStartRecipes(gatewayConfig, stackUtil.collectReachableNodes(stack),
                    clusterDeletionBasedModel(stack.getId(), stack.getCluster().getId()));
        } catch (CloudbreakOrchestratorTimeoutException timeoutException) {
            throw new CloudbreakException("Pre cluster manager start" + getRecipeTimeoutErrorMessage(timeoutException), timeoutException);
        } catch (CloudbreakOrchestratorFailedException e) {
            String message = getRecipeExecutionFaiureMessage(stack, e);
            throw new CloudbreakException(message);
        }
    }

}