1835 Commits

Author SHA1 Message Date
8a972972ba Fix "invalid UTF-8" test failure on Windows
On Windows an extra line "exec: Process pid=... exited with status code 0"
is reported after terminating the subprocess. This isn't relevant for
the `text_exec_invalid_utf` test, so the extra line is just ignored.

No functional changes.
v2.7
2021-09-24 14:49:04 +02:00
8d4a405495 Fix Windows paths being reported to /output-produced endpoint 2021-09-24 13:01:43 +02:00
197b36ff4a Fix progressive render compatibility with Cycles X / Blender 3.0 2021-09-24 11:50:05 +02:00
8e436491c2 Bumped version to 2.7 2021-09-24 11:24:48 +02:00
40ff4f229e CHANGELOG: mark version 2.7 as released 2021-09-24 11:24:37 +02:00
7a99371baa README: update signal documentation 2021-09-24 11:16:05 +02:00
a753c29ece Bumped version to 2.7b1 2021-07-12 16:14:54 +02:00
8fd17f4079 Update changelog 2021-07-12 16:14:41 +02:00
6970a64484 Fixed worker registration
A recent update of the JWT package made it return the JWT token as string,
instead of as bytes.
2021-07-12 16:14:01 +02:00
d25d409e35 Report web-preview-friendly output when produced
When multiple versions of the same frame are generated (like EXR and
JPG), always report the most web-preview-friendly version.

In other words, when the frames are produces by Blender in the order
(`frame-001.jpg`, `frame-001.exr`), only the JPEG is reported. When the
JPEG follows the EXR, both will be reported as when the EXR is created
it is not yet know whether it will be followed by a JPEG or not.

Before this, the 2nd file would never be reported due to the Worker
throttling such reports to the Manager (to not swamp it when rendering
sequences of images, for example).
2021-07-12 13:11:52 +02:00
3ded3a6ba2 Gracefully handle test case where there logging but no subprocess started
Handle the case where `self.proc` is `None` in
`AbstractBlenderCommand.process_line()`, such that it's easier to test.
2021-07-12 13:07:34 +02:00
40db4ba93b Bumped version to 2.7b0 2021-07-12 12:37:10 +02:00
6b976c4b82 Bumped version to 2.6 v2.6 2021-07-12 10:16:45 +02:00
9cb509b10e Panic when older subprocess is detected running
Panic when an older subprocess is already running when trying to start a
new subprocess. This situation was already detected, but instead of
failing the current task (and keeping the Worker running), the Worker
now shuts down completely. When running as a systemd service, the Worker
will automatically be restarted.

When this panic occurs, the Worker still signs off at the Manager,
causing its current task to be returned to the queue. That way another
Worker (or this one, after the restart) can retry it.

This is basically a hack to work around the issue that sometimes Blender
is running twice on the same machine.
2021-07-09 14:26:50 +02:00
f5238c441d Replace some Dutch test values with some other Dutch test value 2021-07-09 14:26:50 +02:00
3e1913711c Fix compatibility with newer MyPY
No functional changes.
2021-07-09 14:26:50 +02:00
37f9d1aa52 Add type-requests dependency, for mypy checking requests 2021-07-09 14:26:50 +02:00
d44e0dcb9a Upgrade & re-lock dependencies, allow PyTest >= 4
PyTest was limited to version 3.x due to the pytest-cov plugin not being
upgraded. By now PyTest is at vesion 6, so it's time to move forward.
2021-07-09 14:26:50 +02:00
56d8407d34 Update update_version.sh for double quotes in Python
Update update_version.sh for double quotes in Python, as that's what
Black changes all quotes to.
2021-07-09 14:26:50 +02:00
05408dc8c1 Cleanup: reformat with Black
Reformat the entire project with Black.

No functional changes.
2021-07-09 14:26:13 +02:00
3576fe8eb2 Bumped version to 2.6b0 2021-07-09 14:26:13 +02:00
3a0d8a1f0b Fixed typo in CHANGELOG.md 2020-07-27 14:18:24 +02:00
a0699f68b9 Bumped version to 2.5 v2.5 2020-03-12 12:36:51 +01:00
3873ab06a3 Remove LD_LIBRARY_PATH environment variable for subprocess
When running Flamenco Worker from the distribution package, it actually
runs a bundled Python with its own libraries. This is done by setting the
`LD_LIBRARY_PATH` environment variable. Subprocesses inherit this variable,
causing library conflicts (mostly libz) when running Blender or FFmpeg.
2020-03-12 12:36:51 +01:00
4c6aa16e34 Bumped version to 2.5-dev0 2020-03-12 12:27:52 +01:00
371ccfc1ca Use tempdir in progressive render unit test
The test was failing because the directory /some couldn't be created.
v2.4
2019-10-23 13:45:32 +02:00
6b672f3b6e More precise timing for sleep command.
Apparently on Windows it's possible for `asyncio.sleep()` to sleep less
than the desired time.
2019-10-23 13:37:13 +02:00
38ca4d101e Use POSIX path on Windows in --exr-glob parameter for Blender 2019-10-23 13:35:23 +02:00
dee8713f4d Bumped version to 2.4 2019-10-22 18:11:41 +02:00
c3eb4ec435 Marked 2.4 as released in CHANGELOG.md 2019-10-22 18:11:37 +02:00
fc93fffe8c Removed the pre-task checks from the default settings
They were very specific to the Blender Institute infrastructure.
2019-10-19 16:05:40 +02:00
11f2609cec Added video-encoding to the default settings
Since it requires FFmpeg to be available to the Worker, it was disabled
by default. However, it's the only task type that was disabled by default,
and having everything on is probably easier for new installations.
Furthermore, the `blender-render` task type also requires external software
(namely Blender), but that wasn't disabled by default.
2019-10-19 16:05:06 +02:00
3ac890479c Bumped 2.3.1 release date to 'now' v2.3.1 2019-05-03 16:30:13 +02:00
4afe3e729b Extra checks on the manager_url configuration value
It's easy to get the value wrong, and it's hard to diagnose when that
happens.
2019-05-03 16:30:02 +02:00
ea012fc48a Updated CHANGELOG 2019-04-24 18:11:38 +02:00
a879f66ecd Bumped version to 2.3.1 2019-04-24 18:11:38 +02:00
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
7dd574ed86 Copy cmd: Clearer error message when unlinking a destination file fails 2019-04-24 18:11:38 +02:00
e95d58c641 Moved self.log() from AbstractSubprocessCommand to AbstractCommand 2019-04-24 18:11:38 +02:00
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
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
f4d9573edc Bumped version to 2.3 v2.3 2019-03-25 16:33:45 +01:00
4350756894 Marked version 2.3 as released 2019-03-25 16:33:15 +01:00
4cf81c2cf9 Bumped version to 2.3-dev9 2019-03-19 15:53:39 +01:00
2f71bb923c Formatting 2019-03-19 15:45:37 +01:00
51ab63c133 Fixed MyPy issues 2019-03-19 15:45:33 +01:00
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
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
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
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