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 support for Windows tasks #820

Open
BMurri opened this issue Dec 3, 2024 · 1 comment
Open

Add support for Windows tasks #820

BMurri opened this issue Dec 3, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request TES Priority: P1 Groomed to a Priority 1 issue
Milestone

Comments

@BMurri
Copy link
Collaborator

BMurri commented Dec 3, 2024

Problem:
Running tasks in Windows® is needed.

Solution:
A TES task can be submitted to a TES server (with a backend parameter of platform set to the value windows) and the task will run on a windows server host. For backward compatibility purposes, the default value of platform will be linux.

Describe alternatives you've considered
Possibly use the docker image to select the platform and not require the backend parameter.

Code dependencies
Will this require code changes in:

  • CoA, for new and/or existing deployments? no
  • TES standalone, for new and/or existing deployments? yes
  • Terra, for new and/or existing deployments? no?
  • Build pipeline? yes
  • Integration tests? yes

Additional context
TBD

@BMurri BMurri added enhancement New feature or request TES Priority: P1 Groomed to a Priority 1 issue labels Dec 3, 2024
@BMurri BMurri added this to the backlog milestone Dec 3, 2024
@BMurri BMurri self-assigned this Dec 3, 2024
@BMurri
Copy link
Collaborator Author

BMurri commented Dec 4, 2024

In no particular order:

  • Publish Tes.Runner project for windows in addition to linux in the build.
  • Modify the two current filenames related to the tes-runner in the TesApi.Web project to be four (two for each runner binary) and update BatchScheduler to upload both binaries as needed as well as change the content of IBatchScheduler.PoolMetadata.RunnerMD5 to include both runner binary hashes.
  • Create config-disks.cmd, config-docker.cmd, config-x-gpu.cmd (where x = a and/or n), & config-nvme.cmd scripts in the scripts folder (n is nvidia and a is amd).
  • Add the platform backend parameter as described above. Possibly detect windows docker images and set it accordingly (when not explicitly set).
  • Format the Path property of both FileInput and FileOutput per Windows conventions.
  • Generate Batch Environment Variable Names as appropriate for Windows (there are some differences).
  • Investigate automatically injecting both 32-bit and 64-bit Program Files system folders into the containers based on the docker image specified.
  • Investigate the ability to restrict IMDS from containers running in Windows.

I think this is it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request TES Priority: P1 Groomed to a Priority 1 issue
Projects
None yet
Development

No branches or pull requests

1 participant