Ejemplo n.º 1
0
def _do_schedule_solver_jobs(
    openshift: OpenShift, index_urls: List[str], package_name: str, package_version: str
) -> int:
    """Run Python solvers for the given package in specified version."""
    _LOGGER.info(
        "Running solver job for package %r in version %r, results will be scheduled using Argo workflow",
        package_name,
        package_version,
    )
    solvers_run = openshift.schedule_all_solvers(packages=f"{package_name}==={package_version}", indexes=index_urls)

    _LOGGER.debug("Response when running solver jobs: %r", solvers_run)

    return len(solvers_run)
Ejemplo n.º 2
0
async def _schedule_all_solvers(
    openshift: OpenShift, package_name: str, package_version: str, indexes: List[str]
) -> int:
    """Schedule all solvers."""
    packages = f"{package_name}==={package_version}"

    try:
        await wait_for_limit(openshift, workflow_namespace=Configuration.THOTH_MIDDLETIER_NAMESPACE)
        analysis_ids = openshift.schedule_all_solvers(packages=packages, indexes=indexes)
        _LOGGER.info(
            "Scheduled solvers for packages %r from indexes %r, analysis ids are %r", packages, indexes, analysis_ids
        )
        are_scheduled = len(analysis_ids)
    except Exception as e:
        _LOGGER.exception(f"Failed to schedule solvers for package {packages} from {indexes}: {e}")
        raise e

    return are_scheduled