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 docs for containerize frames feature #302

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

DiegoTavares
Copy link
Contributor

@DiegoTavares DiegoTavares marked this pull request as ready for review November 7, 2024 00:47
DiegoTavares added a commit to AcademySoftwareFoundation/OpenCue that referenced this pull request Nov 15, 2024
… using docker (#1549)

### Motivation

Running OpenCue In a multi operational system environment requires
segregating the farm, which means hosts have to be assigned to one OS
and cannot be shared between shows that have different OS requirements.
This can be a challenge when sharing resources between shows is
necessary.

### Proposed solution

A new execution mode on **rqd** `runDocker` to live alongside
`runLinux`, `runWindows`, and `runDarwin` (macOs). This mode will launch
the frame command on a docker container based on the frame expected OS.
With this, rqd is now able to run jobs from different OSs on the same
host.

But to make this possible, a rqd host needs to advertise itself not with
its own OS code (defined by `SP_OS` on rqd.conf), but with all the OSs
of images it is capable of executing.

### Configuration changes
The following sections were added to rqd.conf:

```ini
[docker.config]
# Setting this to True requires all the additional "docker.[]" sections to be filled
RUN_ON_DOCKER=True

# This section is only required if RUN_ON_DOCKER=True
# List of volume mounts following docker run's format, but replacing = with :
[docker.mounts]
TEMP=type:bind,source:/tmp,target:/tmp,bind-propagation:slave
NET=type:bind,source:/net,target:/net,bind-propagation:slave

# This section is only required if RUN_ON_DOCKER=True
#  - keys represent OSs this rqd is capable of executing jobs in
#  - values are docker image tags
[docker.images]
centos7=centos7.3:latest
rocky9=rocky9.3:latest
```

In this case, the rqd host would advertise itself with
`OS=centos7,rocky9`, and the dispatch logic has been changed accordingly
to account for dispatching frames to nodes that support multiple OSs.

Feature has been documented at AcademySoftwareFoundation/opencue.io#302
---------

Signed-off-by: Diego Tavares <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant