「view this page in B3 βῆτα server」

Revisions №62194

branch: rosetta:main 「№62194」
Commited by: Jason C. Klima
GitHub commit link: 「62f6a3258646b892」
Difference from previous tested commit:  code diff
Commit date: 2025-10-10 15:25:42
linux.clang linux.gcc linux.srlz mac.clang
debug
release
unit
PyRosetta.notebook gcc-9.gcc.python37.PyRosetta.unit m1.clang.python310.PyRosetta.unit m1.clang.python311.PyRosetta.unit m1.clang.python312.PyRosetta.unit m1.clang.python313.PyRosetta.unit m1.clang.python38.PyRosetta.unit m1.clang.python39.PyRosetta.unit mac.clang.python310.PyRosetta.unit mac.clang.python311.PyRosetta.unit mac.clang.python312.PyRosetta.unit mac.clang.python313.PyRosetta.unit mac.clang.python38.PyRosetta.unit mac.clang.python39.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python310.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python311.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python312.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python313.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python38.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python39.PyRosetta.unit ubuntu-20.04.clang.python310.PyRosetta.unit ubuntu-20.04.clang.python311.PyRosetta.unit ubuntu-20.04.clang.python312.PyRosetta.unit ubuntu-20.04.clang.python313.PyRosetta.unit ubuntu-20.04.clang.python38.PyRosetta.unit ubuntu-20.04.clang.python39.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python310.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python311.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python312.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python313.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python38.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python39.PyRosetta.unit ubuntu-20.04.gcc.python310.PyRosetta.unit ubuntu-20.04.gcc.python311.PyRosetta.unit ubuntu-20.04.gcc.python312.PyRosetta.unit ubuntu-20.04.gcc.python313.PyRosetta.unit ubuntu-20.04.gcc.python38.PyRosetta.unit ubuntu-20.04.gcc.python39.PyRosetta.unit ubuntu-22.04.clang.cxx11thread.serialization.PyRosetta.unit ubuntu-22.04.clang.python310.PyRosetta.unit ubuntu-22.04.clang.python311.PyRosetta.unit ubuntu-22.04.clang.python312.PyRosetta.unit ubuntu-22.04.clang.python313.PyRosetta.unit ubuntu-22.04.clang.python38.PyRosetta.unit ubuntu-22.04.clang.python39.PyRosetta.unit ubuntu-22.04.gcc.cxx11thread.serialization.PyRosetta.unit ubuntu-22.04.gcc.python310.PyRosetta.unit ubuntu-22.04.gcc.python311.PyRosetta.unit ubuntu-22.04.gcc.python312.PyRosetta.unit ubuntu-22.04.gcc.python313.PyRosetta.unit ubuntu-22.04.gcc.python38.PyRosetta.unit ubuntu-22.04.gcc.python39.PyRosetta.unit ubuntu-24.04.clang.cxx11thread.serialization.PyRosetta.unit ubuntu-24.04.clang.python310.PyRosetta.unit ubuntu-24.04.clang.python311.PyRosetta.unit ubuntu-24.04.clang.python312.PyRosetta.unit ubuntu-24.04.clang.python313.PyRosetta.unit ubuntu-24.04.clang.python38.PyRosetta.unit ubuntu-24.04.clang.python39.PyRosetta.unit ubuntu-24.04.gcc.cxx11thread.serialization.PyRosetta.unit ubuntu-24.04.gcc.python310.PyRosetta.unit ubuntu-24.04.gcc.python311.PyRosetta.unit ubuntu-24.04.gcc.python312.PyRosetta.unit ubuntu-24.04.gcc.python313.PyRosetta.unit ubuntu-24.04.gcc.python38.PyRosetta.unit ubuntu-24.04.gcc.python39.PyRosetta.unit ubuntu.clang.cxx11thread.serialization.python38.PyRosetta.unit ubuntu.clang.python310.PyRosetta.unit ubuntu.clang.python311.PyRosetta.unit ubuntu.clang.python312.PyRosetta.unit ubuntu.clang.python313.PyRosetta.unit ubuntu.clang.python38.PyRosetta.unit ubuntu.clang.python39.PyRosetta.unit ubuntu.gcc.python310.PyRosetta.unit ubuntu.gcc.python311.PyRosetta.unit ubuntu.gcc.python312.PyRosetta.unit ubuntu.gcc.python313.PyRosetta.unit ubuntu.gcc.python38.PyRosetta.unit ubuntu.gcc.python39.PyRosetta.unit build.clean.debug alpine.gcc.build.debug clang-10.clang.cxx11thread.mpi.serialization.tensorflow.build.debug gcc-10.gcc.build.debug gcc-10.gcc.cxx11thread.serialization.build.debug gcc-11.gcc.build.debug gcc-11.gcc.cxx11thread.serialization.build.debug gcc-9.gcc.build.debug gcc-9.gcc.cxx11thread.serialization.build.debug icc.icc.build.debug linux.clang.bcl.build.debug linux.clang.hdf5.build.debug mysql postgres linux.clang.python310.build.debug linux.clang.python311.build.debug linux.clang.python312.build.debug linux.clang.python38.build.debug linux.clang.python39.build.debug linux.zeromq.debug linux.gcc.bcl.build.debug mpi mpi.serialization linux.gcc.python310.build.debug linux.gcc.python311.build.debug linux.gcc.python312.build.debug linux.gcc.python38.build.debug linux.gcc.python39.build.debug m1.clang.build.debug m1.clang.cxx11thread.serialization.build.debug m1.clang.python310.build.debug m1.clang.python311.build.debug m1.clang.python312.build.debug m1.clang.python313.build.debug m1.clang.python38.build.debug m1.clang.python39.build.debug mac.clang.bcl.build.debug mac.clang.cxx11thread.serialization.build.debug OpenCL mac.clang.python310.build.debug mac.clang.python311.build.debug mac.clang.python312.build.debug mac.clang.python313.build.debug mac.clang.python38.build.debug mac.clang.python39.build.debug ubuntu-20.04.clang.build.debug ubuntu-20.04.clang.cxx11thread.serialization.build.debug ubuntu-20.04.gcc.build.debug ubuntu-20.04.gcc.cxx11thread.serialization.build.debug ubuntu-22.04.clang.build.debug ubuntu-22.04.clang.cxx11thread.serialization.build.debug ubuntu-22.04.gcc.build.debug ubuntu-22.04.gcc.cxx11thread.serialization.build.debug ubuntu-24.04.clang.build.debug ubuntu-24.04.clang.cxx11thread.serialization.build.debug ubuntu-24.04.gcc.build.debug ubuntu-24.04.gcc.cxx11thread.serialization.build.debug ubuntu.clang.bcl.build.debug ubuntu.clang.build.debug ubuntu.clang.cxx11thread.serialization.build.debug ubuntu.clang.python310.build.debug ubuntu.clang.python311.build.debug ubuntu.clang.python312.build.debug ubuntu.clang.python313.build.debug ubuntu.clang.python38.build.debug ubuntu.clang.python39.build.debug ubuntu.gcc.bcl.build.debug ubuntu.gcc.build.debug ubuntu.gcc.cxx11thread.serialization.build.debug ubuntu.gcc.python310.build.debug ubuntu.gcc.python311.build.debug ubuntu.gcc.python312.build.debug ubuntu.gcc.python313.build.debug ubuntu.gcc.python38.build.debug ubuntu.gcc.python39.build.debug build.header build.levels build.ninja_debug graphics gcc-10.gcc.build.release gcc-10.gcc.cxx11thread.serialization.build.release gcc-11.gcc.build.release gcc-11.gcc.cxx11thread.serialization.build.release gcc-9.gcc.build.release gcc-9.gcc.cxx11thread.serialization.build.release linux.clang.python310.build.release linux.clang.python311.build.release linux.clang.python312.build.release linux.clang.python38.build.release linux.clang.python39.build.release linux.gcc.python310.build.release linux.gcc.python311.build.release linux.gcc.python312.build.release linux.gcc.python38.build.release linux.gcc.python39.build.release static m1.clang.build.release m1.clang.cxx11thread.serialization.build.release m1.clang.python310.build.release m1.clang.python311.build.release m1.clang.python312.build.release m1.clang.python313.build.release m1.clang.python38.build.release m1.clang.python39.build.release mac.clang.cxx11thread.serialization.build.release mac.clang.python310.build.release mac.clang.python311.build.release mac.clang.python312.build.release mac.clang.python313.build.release mac.clang.python38.build.release mac.clang.python39.build.release mac.clang.static.build.release torch.gcc.torch.python39.build.release ubuntu-20.04.clang.build.release ubuntu-20.04.clang.cxx11thread.serialization.build.release ubuntu-20.04.gcc.build.release ubuntu-20.04.gcc.cxx11thread.serialization.build.release ubuntu-22.04.clang.build.release ubuntu-22.04.clang.cxx11thread.serialization.build.release ubuntu-22.04.gcc.build.release ubuntu-22.04.gcc.cxx11thread.serialization.build.release ubuntu-24.04.clang.build.release ubuntu-24.04.clang.cxx11thread.serialization.build.release ubuntu-24.04.gcc.build.release ubuntu-24.04.gcc.cxx11thread.serialization.build.release ubuntu.clang.build.release ubuntu.clang.cxx11thread.serialization.build.release ubuntu.clang.python310.build.release ubuntu.clang.python311.build.release ubuntu.clang.python312.build.release ubuntu.clang.python313.build.release ubuntu.clang.python38.build.release ubuntu.clang.python39.build.release ubuntu.gcc.build.release ubuntu.gcc.cxx11thread.serialization.build.release ubuntu.gcc.python310.build.release ubuntu.gcc.python311.build.release ubuntu.gcc.python312.build.release ubuntu.gcc.python313.build.release ubuntu.gcc.python38.build.release ubuntu.gcc.python39.build.release beautification code_quality.clang_analysis code_quality.clang_tidy code_quality.cppcheck code_quality.merge_size serialization code_quality.submodule_regression integration.addsan integration.mpi integration.release_debug integration.tensorflow integration.thread integration.torch integration.tutorials integration.ubsan integration.valgrind integration maintenance.documentation performance profile m1.clang.python310.release.PyRosetta.MinSizeRel m1.clang.python311.release.PyRosetta.MinSizeRel m1.clang.python312.release.PyRosetta.MinSizeRel m1.clang.python313.release.PyRosetta.MinSizeRel m1.clang.python38.release.PyRosetta.MinSizeRel m1.clang.python39.release.PyRosetta.MinSizeRel mac.clang.python310.release.PyRosetta.MinSizeRel mac.clang.python311.release.PyRosetta.MinSizeRel mac.clang.python312.release.PyRosetta.MinSizeRel mac.clang.python313.release.PyRosetta.MinSizeRel mac.clang.python38.release.PyRosetta.MinSizeRel mac.clang.python39.release.PyRosetta.MinSizeRel ubuntu.clang.python310.release.PyRosetta.MinSizeRel ubuntu.clang.python311.release.PyRosetta.MinSizeRel ubuntu.clang.python312.release.PyRosetta.MinSizeRel ubuntu.clang.python313.release.PyRosetta.MinSizeRel ubuntu.clang.python38.release.PyRosetta.MinSizeRel ubuntu.clang.python39.release.PyRosetta.MinSizeRel m1.clang.python310.release.PyRosetta.Release m1.clang.python311.release.PyRosetta.Release m1.clang.python312.release.PyRosetta.Release m1.clang.python313.release.PyRosetta.Release m1.clang.python38.release.PyRosetta.Release m1.clang.python39.release.PyRosetta.Release mac.clang.python310.release.PyRosetta.Release mac.clang.python311.release.PyRosetta.Release mac.clang.python312.release.PyRosetta.Release mac.clang.python313.release.PyRosetta.Release mac.clang.python38.release.PyRosetta.Release mac.clang.python39.release.PyRosetta.Release ubuntu.clang.python310.release.PyRosetta.Release ubuntu.clang.python311.release.PyRosetta.Release ubuntu.clang.python312.release.PyRosetta.Release ubuntu.clang.python313.release.PyRosetta.Release ubuntu.clang.python38.release.PyRosetta.Release ubuntu.clang.python39.release.PyRosetta.Release release.PyRosetta.conda.Release release.source scientific.antibody_snugdock scientific.cofactor_binding_sites.debug scientific.docking scientific.glycan_structure_prediction.debug scientific.loop_modeling_ccd_12res.debug scientific.loop_modeling_kic_fragments_12res scientific.mp_symdock.debug scientific.relax_fast.debug scientific.relax_fast_5iter.debug scientific.rna_denovo_favorites.debug scientific.rna_denovo_favorites linux.clang.score linux.gcc.score mac.clang.score scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify unit.addsan linux.clang.unit.release linux.gcc.unit.release mac.clang.unit.release unit.ubsan unit.valgrind gcc-10.gcc.cxx11thread.serialization.unit gcc-10.gcc.unit gcc-11.gcc.cxx11thread.serialization.unit gcc-11.gcc.unit gcc-9.gcc.cxx11thread.serialization.unit gcc-9.gcc.unit linux.clang.python310.unit linux.clang.python311.unit linux.clang.python312.unit linux.clang.python38.unit linux.clang.python39.unit linux.gcc.python310.unit linux.gcc.python311.unit linux.gcc.python312.unit linux.gcc.python38.unit linux.gcc.python39.unit m1.clang.cxx11thread.serialization.unit m1.clang.python310.unit m1.clang.python311.unit m1.clang.python312.unit m1.clang.python313.unit m1.clang.python38.unit m1.clang.python39.unit m1.clang.unit mac.clang.cxx11thread.serialization.unit mac.clang.python310.unit mac.clang.python311.unit mac.clang.python312.unit mac.clang.python313.unit mac.clang.python38.unit mac.clang.python39.unit ubuntu-20.04.clang.cxx11thread.serialization.unit ubuntu-20.04.clang.python39.unit ubuntu-20.04.clang.unit ubuntu-20.04.gcc.cxx11thread.serialization.unit ubuntu-20.04.gcc.python39.unit ubuntu-20.04.gcc.unit ubuntu-22.04.clang.cxx11thread.serialization.unit ubuntu-22.04.clang.python39.unit ubuntu-22.04.clang.unit ubuntu-22.04.gcc.cxx11thread.serialization.unit ubuntu-22.04.gcc.python39.unit ubuntu-22.04.gcc.unit ubuntu-24.04.clang.cxx11thread.serialization.unit ubuntu-24.04.clang.unit ubuntu-24.04.gcc.cxx11thread.serialization.unit ubuntu-24.04.gcc.unit ubuntu.clang.cxx11thread.serialization.unit ubuntu.clang.python310.unit ubuntu.clang.python311.unit ubuntu.clang.python312.unit ubuntu.clang.python313.unit ubuntu.clang.python38.unit ubuntu.clang.python39.unit ubuntu.clang.unit ubuntu.gcc.cxx11thread.serialization.unit ubuntu.gcc.python310.unit ubuntu.gcc.python311.unit ubuntu.gcc.python312.unit ubuntu.gcc.python313.unit ubuntu.gcc.python38.unit ubuntu.gcc.python39.unit ubuntu.gcc.unit util.apps windows.build.debug windows.build.release

Adding dask security to PyRosettaCluster (#531) A primary feature of `PyRosettaCluster` is that arbitrary user-provided PyRosetta protocols are pickled, sent over a network, and unpickled, which allows the user to run customized macromolecular design and modeling workflows. If the user is operating `PyRosettaCluster` behind a trusted private network segment (i.e., a firewall), the current implementation is already secure from external threats (such as eavesdropping, tampering or impersonation). However, in cases of running `PyRosettaCluster` without a truly isolated and trusted environment, the `dask` library can be configured to use TLS/SSL communication between network endpoints for authenticated and encrypted transmission of data. This PR aims to integrate Dask's TLS/SSL communication into `PyRosettaCluster`, as well as implement a few additional security measures: 1. Adds a `security` keyword argument to `PyRosettaCluster`, which can accept a `dask.distributed.Security()` object. Alternatively, it accepts a `bool` object, where if `True` we use the `cryptography` package through the `dask` and `dask-jobqueue` APIs to generate a temporary `dask.distributed.Security()` object for the simulation. Because `PyRosettaCluster` supports remote dask worker instantiation via the `dask-jobqueue` module, security is now enabled by default for the use of remote clusters (such as `SLURMCluster`), and thus this PR adds [cryptography](https://pypi.org/project/cryptography/) as a required package for the `pyrosetta.distributed` framework (note that there are very few `cryptography` dependencies, only including `cffi`, and `openssl` which already ships with standard Python installations). 2. Adds a `pyrosetta.distributed.cluster.generate_dask_tls_security()` function, which uses the OpenSSL executable that ships with standard Python installations (due to the native python `ssl` library) to generate a pre-configured `dask.distributed.Security()` object with the necessary key/certificate pairs. 3. Enables Hash-based Message Authentication Code (HMAC)-SHA256 verification of `cloudpickle`d data (including the arbitrary user-provided PyRosetta protocols and task `kwargs`) between network endpoints (including the host node process, each dask worker process, and the `billiard` subprocesses; i.e., client ↔ worker, client ↔ subprocess), where the cryptographic pseudo-random key is sent to dask workers out-of-band using a dask worker plugin. 4. Adds nonce caching on the host node process and all worker processes if security is disabled, with a `max_nonce` keyword argument that allows setting the maximum nonce cache size in each process. Nonces are unique keys added to each distributed message over the network (see the `cryptography` package [Glossary](https://cryptography.io/en/latest/glossary/) for more information), where if the same nonce is encountered twice in the nonce cache, it may indicate a replay attack and the simulation is intentionally terminated for security reasons. Note that nonce caching is disabled if dask security is already enabled, since the nonce caches may add several additional MB of memory per process (which is not much).

...
Test: linux.gcc.mpi.serialization.integration.mpi

Failed sub-tests (click for more details):
replica_docking revold_vhts
Test: linux.clang.integration.tutorials

Failed sub-tests (click for more details):
input_and_output
Test: mac.clang.python39.integration

Failed sub-tests (click for more details):
features
Test: linux.clang.maintenance.documentation

 View log

Loading...

 View log in dialog  View log in log in separate window