ynput / OpenPype

OpenPype has been surpassed by AYON and is now read only.
https://ayon.ynput.io
MIT License
286 stars 129 forks source link

Maya to Muster submitter #3146

Open mre7a opened 2 years ago

mre7a commented 2 years ago

Describe the bug When Muster is activated in the modules, Create render and Publish does not work at all. By now, I've just tested inside Maya.

To Reproduce Steps to reproduce the behavior:

  1. Go to the Module section of admin settings, activate Muster and deactivate Deadline
  2. Inside Maya, OpenPype>Create>render does not work.
  3. If you fix previous problem, OpenPype>Publish can not do the job.

Here is a list of problems so far. create_render plugin for Maya.

  1. These two lines should be moved inside the if at line 269. https://github.com/pypeclub/OpenPype/blob/4ffccc8ecf5e3a2543b00042977076261e978622/openpype/hosts/maya/plugins/create/create_render.py#L242-L243
  2. An error at this line, as deadline it is deactivated. https://github.com/pypeclub/OpenPype/blob/4ffccc8ecf5e3a2543b00042977076261e978622/openpype/hosts/maya/plugins/create/create_render.py#L315 submit_maya_muster publish plugin for Maya
  3. This environment variable does not exist, I suppose. https://github.com/pypeclub/OpenPype/blob/4ffccc8ecf5e3a2543b00042977076261e978622/openpype/hosts/maya/plugins/publish/submit_maya_muster.py#L313
  4. This won't work in Python 3. https://github.com/pypeclub/OpenPype/blob/4ffccc8ecf5e3a2543b00042977076261e978622/openpype/hosts/maya/plugins/publish/submit_maya_muster.py#L524
  5. The openpype.scripts.publish_filesequence module does not exist. Is it up to the user to create it, or it was there at some point ? https://github.com/pypeclub/OpenPype/blob/4ffccc8ecf5e3a2543b00042977076261e978622/openpype/hosts/maya/plugins/publish/submit_maya_muster.py#L43

Most of them are easy to fix, so my question is the number 5.

Desktop (please complete the following information):

I'll update this post.

[cuID:OP-3192]

BigRoy commented 2 years ago

Thanks @momo-r! I really appreciate the thorough write-up.

First off I wanted to say that the Deadline Maya submitter might be the best 'recent' reference for submissions from OpenPype to renderfarm - since that's heavily used. Note that OpenPype uses a GlobalJobPreLoad.py for Deadline that does some extra things, like embedding the full OpenPype environment variables using a limited environment passed along to the job. I'm not sure what I Muster equivalent is to that functionality.

An effort should be done at some point to take the "generic" information into a library or abstract class that then be the basis for any submitter to e.g. Deadline, Royal Render and Muster.

For 1) and 2) This is an issue that actually came up before. I think it's #2882

For 4) Instead of excluding env vars it might be easier to only include env vars that are needed: https://github.com/pypeclub/OpenPype/blob/develop/openpype/modules/deadline/plugins/publish/submit_maya_deadline.py#L512-L527

For 5) This must be removed at some point. Not sure what the "replacement" for that would be nowadays.