-
Notifications
You must be signed in to change notification settings - Fork 34
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
Deadline: webservice password #200
Merged
Merged
Changes from 54 commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
3b70243
AY-745 - added Deadline credentials to Settings
kalisp 3137d8e
AY-745 - added collector for DL user credentials
kalisp 20d47e5
AY-745 - updated validator for DL connection
kalisp 5ad0d4a
AY-745 - updated validator for DL pools
kalisp 615e6ae
AY-745 - updated validator for expected files
kalisp 28e5834
AY-745 - added authentication credentials to all calls to DL
kalisp 0a9b88a
AY-745 - fix validation
kalisp 56a5f42
Update client/ayon_core/modules/deadline/plugins/publish/help/validat…
kalisp 543ffa9
Update client/ayon_core/modules/deadline/plugins/publish/collect_user…
kalisp 6c6f123
Merge branch 'develop' of https://github.com/ynput/ayon-core into fea…
kalisp 0693d80
Merge remote-tracking branch 'origin/feature/AY-745_Deadline-webservi…
kalisp 209cad6
AY-745 - remove logging
kalisp 7fae6d1
AY-745 - added new system wide Site settings
kalisp 6b0568a
AY-745 - added version to client side
kalisp 12d49cb
AY-745 - added field to carry over deadline info
kalisp 6347e65
AY-745 - explicit cast to tuple
kalisp 5c9fc4a
AY-745 - changed structure
kalisp 68be4d7
AY-745 - changed aproach to get DL to use
kalisp eca34a9
AY-745 - update to Harmony collector
kalisp abfcd8b
AY-745 - explicit carry over of DL meta for AbstractCollectRender
kalisp 50ade43
AY-745 - add user credentials to instance
kalisp 7cf416d
AY-745 - refactored class variable
kalisp 6faa5ac
AY-745 - refactored format of credentials
kalisp 2ed1d0f
AY-745 - refactored format of credentials
kalisp 2dac53a
AY-745 - added protection for older DL
kalisp e604c28
AY-745 - added version for client side
kalisp 569d119
AY-745 - add local filtering
kalisp b4d5c02
AY-745 - fix retrieval of deadline url
kalisp 1023497
AY-745 - merge develop
kalisp 77c939b
AY-745 - remove unnecessary comment
kalisp 466f940
AY-745 - added todo
kalisp 6bbb956
AY-745 - renamed class
kalisp 2dc3eec
AY-745 - renamed class
kalisp bef6855
AY-745 - fix passing DL credentials to metadata file
kalisp ab74098
AY-745 - provide default values for new Settings field
kalisp 50127b9
Refactor name to denote multiple servers
kalisp 766cbd9
Refactor change docstring
kalisp c4c56f8
AY-747- refactor name of variable
kalisp 26a11a5
AY-747- refactor query default
kalisp cba1dae
Update client/ayon_core/modules/deadline/plugins/publish/help/validat…
kalisp 4332c50
AY-747- refactor passing of auth
kalisp 5b2a545
Merge branch 'develop' of https://github.com/ynput/ayon-core into fea…
kalisp f5e24b6
AY-747- update todo
kalisp 70fe7ef
Merge remote-tracking branch 'origin/feature/AY-745_Deadline-webservi…
kalisp 497ce6d
Update client/ayon_core/modules/deadline/plugins/publish/submit_celac…
kalisp f43fbc2
Use collected host name
kalisp 48a1dc8
Add todo
kalisp ff2296d
Removed unneeded import
kalisp 4bc5395
Refactor - updated names for default deadline url
kalisp 1525443
Merge branch 'develop' of https://github.com/ynput/ayon-core into fea…
kalisp e8c48ce
Merge remote-tracking branch 'origin/feature/AY-745_Deadline-webservi…
kalisp 090304a
Refactor - move deadline plugins later
kalisp fbc0ee6
Fix - get source_instance directly from instance
kalisp 12f56ee
Merge develop
kalisp 5fed3d7
AY-745 - added missed blender for credential collection
kalisp 22d1837
AY-745 - fixe for cache submissions
kalisp 004a4fe
Fix order of collect render
kalisp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,8 @@ | ||
from .deadline_module import DeadlineModule | ||
from .version import __version__ | ||
|
||
|
||
__all__ = ( | ||
"DeadlineModule", | ||
"__version__" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
88 changes: 88 additions & 0 deletions
88
client/ayon_core/modules/deadline/plugins/publish/collect_user_credentials.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# -*- coding: utf-8 -*- | ||
"""Collect user credentials | ||
|
||
Requires: | ||
context -> project_settings | ||
instance.data["deadline"]["url"] | ||
|
||
Provides: | ||
instance.data["deadline"] -> require_authentication (bool) | ||
instance.data["deadline"] -> auth (tuple (str, str)) - | ||
(username, password) or None | ||
""" | ||
import pyblish.api | ||
|
||
from ayon_api import get_server_api_connection | ||
from ayon_core.modules.deadline.deadline_module import DeadlineModule | ||
from ayon_core.modules.deadline import __version__ | ||
|
||
|
||
class CollectDeadlineUserCredentials(pyblish.api.InstancePlugin): | ||
"""Collects user name and password for artist if DL requires authentication | ||
""" | ||
order = pyblish.api.CollectorOrder + 0.250 | ||
label = "Collect Deadline User Credentials" | ||
|
||
targets = ["local"] | ||
hosts = ["aftereffects", | ||
"fusion", | ||
"harmony", | ||
"nuke", | ||
"maya", | ||
"max", | ||
"houdini"] | ||
|
||
families = ["render", | ||
"rendering", | ||
"render.farm", | ||
"renderFarm", | ||
"renderlayer", | ||
"maxrender", | ||
"usdrender", | ||
"redshift_rop", | ||
"arnold_rop", | ||
"mantra_rop", | ||
"karma_rop", | ||
"vray_rop", | ||
"publish.hou"] | ||
|
||
def process(self, instance): | ||
if not instance.data.get("farm"): | ||
self.log.debug("Should not be processed on farm, skipping.") | ||
return | ||
|
||
collected_deadline_url = instance.data["deadline"]["url"] | ||
if not collected_deadline_url: | ||
raise ValueError("Instance doesn't have '[deadline][url]'.") | ||
context_data = instance.context.data | ||
deadline_settings = context_data["project_settings"]["deadline"] | ||
|
||
deadline_server_name = None | ||
# deadline url might be set directly from instance, need to find | ||
# metadata for it | ||
for deadline_info in deadline_settings["deadline_urls"]: | ||
dl_settings_url = deadline_info["value"].strip().rstrip("/") | ||
if dl_settings_url == collected_deadline_url: | ||
deadline_server_name = deadline_info["name"] | ||
break | ||
|
||
if not deadline_server_name: | ||
raise ValueError(f"Collected {collected_deadline_url} doesn't " | ||
"match any site configured in Studio Settings") | ||
|
||
instance.data["deadline"]["require_authentication"] = ( | ||
deadline_info["require_authentication"] | ||
) | ||
instance.data["deadline"]["auth"] = None | ||
|
||
if not deadline_info["require_authentication"]: | ||
return | ||
# TODO import 'get_addon_site_settings' when available | ||
# in public 'ayon_api' | ||
local_settings = get_server_api_connection().get_addon_site_settings( | ||
DeadlineModule.name, __version__) | ||
local_settings = local_settings["local_settings"] | ||
for server_info in local_settings: | ||
if deadline_server_name == server_info["server_name"]: | ||
instance.data["deadline"]["auth"] = (server_info["username"], | ||
server_info["password"]) |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why it has to be stored on the instance?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Theoretically you could use different Deadline servers (and credentials) per instance (one for render, one for cache). Theoretically.