diegogarciahuerta / tk-blender

:milk_glass: Shotgun Toolkit Engine for Blender: https://www.blender.org/
Other
44 stars 33 forks source link

Unable to save workfiles for ASSET_STEP #1

Closed teamcrd closed 3 years ago

teamcrd commented 3 years ago

When attempting to save files for the ASSET_STEP, I see the following error:

"location" key missing in the definition of "tk-multi-publish2" in file "asset_step.yml" Full error digest below.

This error persists across all DCC's, not just Blender. I should note that saving work files at the SHOT_STEP works fine and I've also confirmed the merged configurations are correct.

The error seems like a red herring as there's no requirement to define 'location' within asset_step.yml.

For completeness, I've attached the asset_step.yml.

clinton

asset_step.txt

// Error: Shotgun tk-multi-workfiles2: "location" key missing in the definition of "tk-multi-publish2" in file Y:\people\clinton.downs\sgtk_working\sgtk_dev\config\env\asset_step.yml // // Debug: Shotgun tk-multi-workfiles2: Traceback (most recent call last): File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-framework-shotgunutils\v5.7.8\python\task_manager\worker_thread.py", line 82, in run result = task_to_process.run() File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-framework-shotgunutils\v5.7.8\python\task_manager\background_task.py", line 139, in run return self._cbl(*self._args, *self._kwargs) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-multi-workfiles2\v0.12.5\python\tk_multi_workfiles\file_finder.py", line 1037, in _task_construct_work_area work_area = WorkArea(context) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-multi-workfiles2\v0.12.5\python\tk_multi_workfiles\work_area.py", line 105, in init self._load_settings() File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-multi-workfiles2\v0.12.5\python\tk_multi_workfiles\work_area.py", line 266, in _load_settings self._context, templates_to_find, settings_to_find File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-multi-workfiles2\v0.12.5\python\tk_multi_workfiles\work_area.py", line 356, in _get_settings_for_context settings = self._get_raw_app_settings_for_context(app, context) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-multi-workfiles2\v0.12.5\python\tk_multi_workfiles\work_area.py", line 394, in _get_raw_app_settings_for_context app.engine.instance_name, File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\platform\engine.py", line 3199, in find_app_settings env = tk.pipeline_configuration.get_environment(env_name, context) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\pipelineconfig.py", line 1149, in get_environment env_obj = EnvClass(env_file, self, context) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\platform\environment.py", line 762, in init super(InstalledEnvironment, self).init(env_path, context) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\platform\environment.py", line 63, in init self._refresh() File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\platform\environment.py", line 98, in _refresh self.process_engines(d.get("engines")) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\platform\environment.py", line 186, in __process_engines self.process_apps(engine, engine_apps) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\platform\environment.py", line 170, in __process_apps self.validate_settings(app, app_settings) File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\core\python\tank\platform\environment.py", line 128, in validate_settings key, name, self.disk_location TankError: "location" key missing in the definition of "tk-multi-publish2" in file Y:\people\clinton.downs\sgtk_working\sgtk_dev\config\env\asset_step.yml // // Debug: Shotgun tk-multi-workfiles2: File Model: Search 5 failed - "location" key missing in the definition of "tk-multi-publish2" in file Y:\people\clinton.downs\sgtk_working\sgtk_dev\config\env\asset_step.yml // // Debug: Shotgun tk-framework-shotgunutils: Task Manager: Task [5, G:5, P:None] _task_resolve_sandbox_users - failed: _task_resolve_sandbox_users() takes exactly 2 arguments (1 given) Traceback (most recent call last): File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-framework-shotgunutils\v5.7.8\python\task_manager\worker_thread.py", line 82, in run result = task_to_process.run() File "Y:\people\clinton.downs\sgtk_working\sgtk_dev\install\app_store\tk-framework-shotgunutils\v5.7.8\python\task_manager\background_task.py", line 139, in run return self._cbl(self._args, **self._kwargs) TypeError: _task_resolve_sandbox_users() takes exactly 2 arguments (1 given)

teamcrd commented 3 years ago

The more I think about this, the less likely it has to do with tk-blender and the more it has to do with updating the tank core to support the latest frameworks (to support tk-blender).

When I have time I'll continue to look into this and will report back here.

monomon commented 3 years ago

there's no requirement to define 'location' within asset_step.yml

This is not true, you need a location for the app like everywhere else.

You need to dig into @settings.tk-blender.asset_step and see how tk-multi-publish2 is defined. Sounds like misconfiguration.

By the way we also see TypeError: _task_resolve_sandbox_users() takes exactly 2 arguments (1 given). I reported it here https://community.shotgunsoftware.com/t/possible-bug-with-user-sandboxes-in-houdini but no resolution yet. Haven't taken the time to look deeper myself.

teamcrd commented 3 years ago

Hi Mois

I was specifically referring to asset_step.yml reporting a missing location definition.

From everything I could see things were configured properly; I triple-checked.

However, I've found that at times the resolution to an issue with SGTK development is staring me in the face. I just can't see it as the framework is a sea of embedded settings.

Thanks.