Commit Graph

1801 Commits

Author SHA1 Message Date
Sybren A. Stüvel ea012fc48a Updated CHANGELOG 2019-04-24 18:11:38 +02:00
Sybren A. Stüvel a879f66ecd Bumped version to 2.3.1 2019-04-24 18:11:38 +02:00
Sybren A. Stüvel ae1e390c8d Copy command: ignore errors copying file modes
The `shutil.copy()` function calls `shutil.copyfile()` and
`shutil.copymode()`, and fails when either fails. By calling those
functions separately we can ignore errors copying the file mode (this
happens on SMB shares, for example).
2019-04-24 18:11:38 +02:00
Sybren A. Stüvel 7dd574ed86 Copy cmd: Clearer error message when unlinking a destination file fails 2019-04-24 18:11:38 +02:00
Sybren A. Stüvel e95d58c641 Moved self.log() from AbstractSubprocessCommand to AbstractCommand 2019-04-24 18:11:38 +02:00
Sybren A. Stüvel 7eccecf87f Upgraded dependencies (mostly to fix security issue in urllib3)
See CVE-2019-11324.

The urllib3 library before 1.24.2 for Python mishandles certain cases
where the desired set of CA certificates is different from the OS store
of CA certificates, which results in SSL connections succeeding in
situations where a verification failure is the correct outcome. This is
related to use of the ssl_context, ca_certs, or ca_certs_dir argument.
2019-04-24 17:53:24 +02:00
Sybren A. Stüvel f21caeb893 Copy file: delete destination if it exists, before copying
Copying onto a file that already exists isn't allowed when handling files
on a Microsoft SMB share.
2019-04-24 17:48:04 +02:00
Sybren A. Stüvel f4d9573edc Bumped version to 2.3 v2.3 2019-03-25 16:33:45 +01:00
Sybren A. Stüvel 4350756894 Marked version 2.3 as released 2019-03-25 16:33:15 +01:00
Sybren A. Stüvel 4cf81c2cf9 Bumped version to 2.3-dev9 2019-03-19 15:53:39 +01:00
Sybren A. Stüvel 2f71bb923c Formatting 2019-03-19 15:45:37 +01:00
Sybren A. Stüvel 51ab63c133 Fixed MyPy issues 2019-03-19 15:45:33 +01:00
Sybren A. Stüvel 985b25f421 Support authenticated registration at Flamenco Manager
To secure the previously-open-to-anyone worker registration on the Flamenco
Manager, we now have to send a JWT token that was signed by a pre-shared
secret. To enable this behaviour, set `worker_registration_secret` both
in the Worker and the Manager configuration files to the same string.
2019-03-19 15:45:25 +01:00
Sybren A. Stüvel f1bbfca02b Changed CRF for create_video tasks from 23 to 20
We need less compression for the Spring edit.
2019-03-13 17:11:52 +01:00
Sybren A. Stüvel 971bf62234 Use YUV420p when creating videos from images using FFmpeg
This prevents crushed blacks & highlights when using JPEG as input, as
then FFmpeg defaults to yuvj420p, which uses a 0-255 range instead of
16-235 (at least according to [1]).

[1] https://www.eoshd.com/comments/topic/20799-what-is-the-difference-between-yuvj420p-and-yuv420p/
2019-03-12 17:28:49 +01:00
Sybren A. Stüvel 60efef9df4 Translate OPEN_EXR DNA image format enum to EXR for CLI
Blender's `--render-format` CLI parameter generally takes the same names
as the `bpy.context.scene.render.image_settings.file_format` DNA parameter,
except when it comes to OpenEXR.

See https://developer.blender.org/D4502 for a proposal to make this
consistent.
2019-03-12 14:18:04 +01:00
Sybren A. Stüvel b6b14a1422 Bumped version to 2.3-dev8 2019-03-12 13:24:59 +01:00
Sybren A. Stüvel c471a8f86b More logging to the task log, especially when killing a subprocess 2019-03-12 12:50:07 +01:00
Sybren A. Stüvel 483b99d340 Placed timing info collector in a separate class
Previously the code was spread out through the `TaskRunner` and
`AbstractCommand` classes. Now it's in a class of its own and properly
tested.

Also, the timing info is now sent as one line in the task log, making it
less spammy.
2019-02-22 10:45:04 +01:00
Sybren A. Stüvel 5b326685d0 Bumped version to 2.3-dev7 2019-02-21 18:06:49 +01:00
Sybren A. Stüvel 62293d5ce6 Exception handling in the may-i-run loop 2019-02-21 18:06:49 +01:00
Sybren A. Stüvel 33325be7e7 Upload task timing metrics as part of the task update 2019-02-21 17:36:27 +01:00
Sybren A. Stüvel 16e0cfe649 Log uncaught exceptions in may-i-run poller 2019-02-21 16:16:20 +01:00
Sybren A. Stüvel d25a892557 Log command & task timing information
For now every command logs its total runtime. The `AbstractBlenderCommand`
subclasses log more granular information, like starting blender, loading
the blendfile, and rendering.

This info is just sent to the task log, and not stored in the task itself
yet.
2019-02-21 16:16:06 +01:00
Sybren A. Stüvel ba5b8b554a Fix for 07263c3 2019-02-14 13:08:34 +01:00
Sybren A. Stüvel d99681e511 Bumped version to 2.3-dev6 2019-02-14 12:49:49 +01:00
Sybren A. Stüvel 07263c3a2d Fix fatal exception when unable to connect to Manager 2019-02-14 12:46:00 +01:00
Sybren A. Stüvel c176da19a6 Remove filtering of Cycles 'Synchronizing object' lines
Nowadays we send the logs only to the Manager, and not to the Server any
more. Let's clog the Manager's harddisk with everything to make Dr. Debug
happier.
2019-02-14 12:44:21 +01:00
Sybren A. Stüvel 0a77e06a4f Bumped version to 2.3-dev5 2019-02-13 10:58:04 +01:00
Sybren A. Stüvel 5ee26fc9d6 Fix for 26701be6fb 2019-02-13 10:57:45 +01:00
Sybren A. Stüvel 4111a6e65d Bumped version to 2.3-dev4 2019-02-13 10:48:48 +01:00
Sybren A. Stüvel 26701be6fb Automatically re-register when the Manager does not accept credentials
Fixes T54174, but rather than making a distinction between the username
not being found and the password being wrong (and only re-registering in
the former case), we now just always re-register. This could potentially
hide certain erroneous situations, but it does make the worker operational
in more cases, which I assume is generally preferred.
2019-02-13 10:48:38 +01:00
Sybren A. Stüvel b611702a50 Bumped version to 2.3-dev3 2019-02-07 15:27:12 +01:00
Sybren A. Stüvel 05b6fda873 Added merge_progressive_render_sequence command
Added the `merge_progressive_render_sequence` for sample-merging sequences of EXR files. The
already-existing `merge_progressive_renders` command only performed on one frame at a time.

This commit also removes the last traces of the preview generation that
half-happened while merging. It was intrinsincly flawed and was superseded
by the `exr_sequence_to_jpeg` command.
2019-02-05 13:04:00 +01:00
Sybren A. Stüvel ce734c8c01 Bumped version to 2.3-dev2 2019-02-04 11:22:21 +01:00
Sybren A. Stüvel 64fe38e845 Create Video: mock platform.system() to test both Windows and Linux
Windows is not POSIX-compliant, and as a result ffmpeg does not support
the `-pattern_type glob` CLI argument.
2019-02-04 11:21:56 +01:00
Sybren A. Stüvel ef68b29493 Create Video: always pad video to even sizes
H.264 requires that the width and height of the video frame are
multiples of the chroma block size. When using the default yuv420 pixel
format this means the dimensions should be even (e.g. multiples of 2).
The video filter added in this commit ensures this by padding out the
frame with black pixels.
2019-02-04 11:15:57 +01:00
Sybren A. Stüvel 1cfb7eb7da Bumped version to 2.3-dev1 2019-02-01 11:00:30 +01:00
Sybren A. Stüvel 1a78a77091 EXR to JPEG: Pass EXR files as glob instead of only the directory
This allows the command to run on a subset of the EXR files in the
directory, which is needed for generating previews of EXR files in the
intermediate render directory (which contains multiple EXR files for
each frame).
2019-02-01 10:57:11 +01:00
Sybren A. Stüvel 7bbb404ab6 Updated flamenco-worker.spec for resources directory 2019-01-31 14:21:25 +01:00
Sybren A. Stüvel 533cf9abb7 Added 'EXR sequence to JPEG' command
This is used for generating JPEG previews of EXR files. It is assumed that
the EXR files are named '######.exr', with any number of leading zeroes.

Gaps in the frame range are supported, and will be rendered as black
images.
2019-01-31 14:18:09 +01:00
Sybren A. Stüvel c4d000a896 Separated BlenderRenderCommand into an abstract superclass
This superclass AbstractBlenderCommand takes less parameters so that it'll
be easier to add Blender commands that don't use certain parameters (such
as frame range, render format, etc.)
2019-01-31 14:18:09 +01:00
Sybren A. Stüvel 41306350da Added some type declarations 2019-01-31 14:18:09 +01:00
Sybren A. Stüvel 7f00026989 Declare we're using Python 3.7 in setup.py
It was still set to 3.5.
2019-01-31 14:18:09 +01:00
Sybren A. Stüvel 883c4853cb Moved 'merge-exr.blend' into a 'resources' subdirectory
We'll be adding more resources, and this provides a suitable place for them.
2019-01-31 14:18:09 +01:00
Sybren A. Stüvel 0333804b0b Updated progressive rendering to allow sample chunk ranges
This requires Flamenco Server 2.2 or newer. Progressive render jobs
generated by older versions of Flamenco Server are no longer supported.
2019-01-31 14:18:09 +01:00
Sybren A. Stüvel 26daaa3058 Bumped version to 2.3-dev0 2019-01-31 14:18:09 +01:00
Sybren A. Stüvel 8c11a32ceb Bumped version to 2.2.1 v2.2.1 2019-01-14 11:39:32 +01:00
Sybren A. Stüvel 7d55aa1543 Updated changelog 2019-01-14 11:39:24 +01:00
Sybren A. Stüvel 18b0be65e2 Added shutdown check to sleep state to prevent infinite loops 2019-01-14 11:30:39 +01:00