Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docker_wrapper and associated client/server changes #5855

Merged
merged 32 commits into from
Oct 25, 2024

Commits on Oct 6, 2024

  1. Configuration menu
    Copy the full SHA
    e1f5512 View commit details
    Browse the repository at this point in the history
  2. add makefile

    davidpanderson committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    e99b77a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    23e9da4 View commit details
    Browse the repository at this point in the history
  4. add docker_wrapper.vcxproj to boinc.sln

    Signed-off-by: Vitalii Koshura <[email protected]>
    AenBleidd committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    d41c84c View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Win build fixes

    davidpanderson committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    8580be1 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Configuration menu
    Copy the full SHA
    d053299 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    153cda1 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. Configuration menu
    Copy the full SHA
    414a9eb View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2024

  1. docker wrapper: don't use Docker Desktop

    Instead, use a WSL container containing the docker engine,
    and send it commands using the WSL mechanism
    davidpanderson committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    2748c4e View commit details
    Browse the repository at this point in the history
  2. Win build fixes

    davidpanderson committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    7d1adcc View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. add test files

    davidpanderson committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    5bd0a04 View commit details
    Browse the repository at this point in the history
  2. Use boinc_<project>_<wuname> as Docker image name.

    An image (especially in the universal model) may contain WU-specific files,
    or maybe completely a function of the WU.
    
    It's OK if we create lots of images.
    In general they'll share most of their layers
    so there's no disk penalty.
    davidpanderson committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    ceb9161 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1167304 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. Get it working on Linux in both copy and mount modes.

    Remove container and image at end of job
    User docker log to should output from container
    
    In standalone mode, slot dir is . and project is project/
    
    Add some verbose output; send all debugging output to stderr
    davidpanderson committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    1c98388 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2024

  1. Get things working on Windows.

    We don't use Docker Desktop.
    Instead we use a WSL Ubuntu 24.04 image in which podman is installed.
    davidpanderson committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    648ac16 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. tweak

    davidpanderson committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    fd8c66b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eb89c64 View commit details
    Browse the repository at this point in the history
  3. add link file

    davidpanderson committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    ee5e6ba View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6474890 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. prepare for app_test

    davidpanderson committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    6a26ee0 View commit details
    Browse the repository at this point in the history
  2. win build fixes

    davidpanderson committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    897107d View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. Client: check for both Docker and podman.

        Either or both could be present on both Linux and Win/WSL.
        If both, use podman.
        Do this separately for engine and compose;
        a host could have the podman engine but Docker compose.
    
    data structures:
    old: (in both HOSTINFO and WSL_DISTRO):
        bool is_docker_available: it's present, AND allowed by config
        string docker_version
        ... and same for docker_compose
    new:
        string docker_version: empty if not present
        DOCKER_TYPE docker_version_type (DOCKER or PODMAN)
            We send this in sched requests even if Docker disallowed by prefs
            (send that flag separately).
        This way projects can know what software a host has,
        even if they can't use it.
        (Should use this approach with VBox too)
    davidpanderson committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    22da97e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7e6a829 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0510ec8 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. client: if docker disabled in prefs, send <dont_use_docker/> in sched…

    … requests.
    
    (still query the presence of docker, and report it in sched requests).
    
    scheduler: parse the above
    
    docker_wrapper: use either docker or podman, depending on what's there
    (on the host (Unix) or in a WSL distro (Win))
    davidpanderson committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    8b3deb0 View commit details
    Browse the repository at this point in the history
  2. win build fix

    davidpanderson committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    4e5f28e View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2024

  1. fix image/container names

    use pause/unpause instead of start/stop
    Note: this works with podman only if root;
    need to figure out how to do that
    davidpanderson committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    46b3044 View commit details
    Browse the repository at this point in the history
  2. docker_wrapper, Win: when using podman, run a shell in WSL as root;

    needed for podman's pause and unpause to work
    
    Add a lib function run_command_pipe() for this purpose.
    davidpanderson committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    4445ee2 View commit details
    Browse the repository at this point in the history
  3. tweaks

    davidpanderson committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    b0498cd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    462f345 View commit details
    Browse the repository at this point in the history
  5. fix CGI build (I hope)

    davidpanderson committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    e87ecf8 View commit details
    Browse the repository at this point in the history
  6. white space

    davidpanderson committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    e4f0452 View commit details
    Browse the repository at this point in the history