HoudiniTops

From cgwiki

Force python scripts to run on the farm

If you have a python script node, even if you have a tractor or deadline scheduler, it will run in your local houdini session by default.

To fix this, turn off 'Evaluate in process'.

Ensure a rop geometry top sim runs on a single blade

You don't want 240 machines all doing their own run up, that's silly. Go to the 'rop fetch' tab, enable 'all frames in one batch', that'll lock it to a single blade and run sequentially.

Selection 117.png

Tractor scheduler stuck

Happens too often. Tricks to unstick it in order of least to most annoying:

  • Make sure there's no active stuck jobs of yours on the farm, delete 'em all and try again
  • R.click on tractor scheduler, 'delete temp directory'
  • Select the tractor scheduler, ctrl-x to cut it, ctrl-v to paste it
  • Reload the hip
  • Restart houdini

Rez and tops debugging

Running this in a python script top to see whats going on with rez and environment values:

print('debug info...')
key = 'REZ_RESOLVE'
print(key+'='+os.environ[key])
print ('')
import pdg
has_tractor = str(pdg.types.schedulers.has_tractor)
print('pdg.types.schedulers.has_tractor: ' + has_tractor)
print ('')


Local:

debug info...
REZ_RESOLVE=s120 houdini-18.0.348 renderman-23.0 renderman_for_houdini-23.0 platform-linux arch-x86_64 libzmq-4.2.3 rv-7
.3.4 pyseq-0.5.1 PyOpenGL-3.1.0 sidefx_labs-1.37 usd_houdini_hdk-0.0.8 markupsafe-1.1.0 tbb-4.4.6 cppzmq-4.3.0 boost-1.5
5.0 turret_lib-1.1.17 jemalloc-4.5.0 jinja-2.10 turret_usd-1.1.4 turret_resolver-1.1.3 utsala_otls-0.0.11 ocio_configs-1
.0.2 tractor-2.2.1641321 houdini_pipeline-0.0.48 studio_ala-1.2.1 shotgun_utils-0.0.2

pdg.types.schedulers.has_tractor: True

Tractor, 'inherit local environment' enabled:

debug info...
REZ_RESOLVE=s120 houdini-18.0.348 renderman-23.0 renderman_for_houdini-23.0 platform-linux arch-x86_64 libzmq-4.2.3 rv-7.3.4 pyseq-0.5.1 PyOpenGL-3.1.0 sidefx_labs-1.37 usd_houdini_hdk-0.0.8 markupsafe-1.1.0 tbb-4.4.6 cppzmq-4.3.0 boost-1.55.0 turret_lib-1.1.17 jemalloc-4.5.0 jinja-2.10 turret_usd-1.1.4 turret_resolver-1.1.3 utsala_otls-0.0.11 ocio_configs-1.0.2 tractor-2.2.1641321 houdini_pipeline-0.0.48 studio_ala-1.2.1 shotgun_utils-0.0.2

pdg.types.schedulers.has_tractor: True

Tractor, 'inherit local environment' disabled (the default):

debug info...
REZ_RESOLVE=platform-linux arch-x86_64 libzmq-4.2.3 pyseq-0.5.1 sidefx_labs-1.37 cppzmq-4.3.0 turret_resolver-1.1.3 boost-1.55.0 turret_lib-1.1.17 jemalloc-4.5.0 rv-7.3.4 markupsafe-1.1.0 jinja-2.10 houdini-18.0.348 PyOpenGL-3.1.0 tbb-4.4.6 usd_houdini_hdk-0.0.8 turret_usd-1.1.4 renderman-23.0 ocio_configs-1.0.2 utsala_otls-0.0.11 renderman_for_houdini-23.0 tractor-2.2.1641321 houdini_pipeline-0.0.48 os-RedHatEnterpriseWorkstation-7.4 python-2.7.15 shotgun_api-3.2.2 houdini_pdg-0.0.1 studio_ala-1.2.1 shotgun_utils-0.0.3

pdg.types.schedulers.has_tractor: False

Tractor 'headless' (submit graph as job), inherit enabled

usage: pdgjobcmd.py [-h] [--setenv SETENV SETENV] [--preshell PRESHELL]
                    [--postshell POSTSHELL] [--prepy PREPY] [--postpy POSTPY]
                    [--norpc] [--echandleby ECHANDLEBY]
                    [--eccustomcode ECCUSTOMCODE]
                    ...
pdgjobcmd.py: error: argument --setenv: expected 2 argument(s)

[2020/02/03 12:18:40 exit with non-zero status code rc=2,  ["/opt/hfs18.0.348/bin/hython", "/mnt/ala/mav/2020/sandbox/users/matt.estela/pdgtemp/27271/scripts/pdgjobcmd.py", "--setenv", "OCIO", "/mnt/ala/software/ext_packages/ocio_configs/1.0.2/aces_1.0.3/config.ocio", "--setenv", "REZ_UTSALA_OTLS_ROOT", "/mnt/ala/software/int_packages/utsala_otls/0.0.11", "--setenv", "OCIO_ACTIVE_VIEWS", "Rec.709", "--setenv", "REZ_ARCH_VERSION", "x86_64", "--setenv", "SHARED_TANK_PATH", "/mnt/ala/mav/pipeline/config/studio/install/core/python", "--setenv", "REZ_RENDERMAN_VERSION", "23.0", "--setenv", "OCIO_ACTIVE_DISPLAYS", "ACES - ACEScg", "--setenv", "REZ_JINJA_BASE", "/mnt/ala/software/ext_packages/jinja/2.10", "--setenv", "XDG_SESSION_TYPE", "x11", 
// ... etc, all the envs explicitly stated.

Tractor 'headless' (submit graph as job), inherit disabled

Job never gets to the python script, fails when creating the PDGMQ task:

From node tractorscheduler1:
Could not find scheduler type "tractorscheduler"