Commit Graph

1944 Commits

Author SHA1 Message Date
9f6c1e3659 Remove checkbox from Custom Job Type issue template
They became (as could be expected) two checkboxes, so better to not include
any options that are mutually exclusive.
2024-05-16 12:32:13 +02:00
166735ec93 Add Gitea issue template for submitting custom job types 2024-05-16 12:30:55 +02:00
80f7ae99b9 Website: add Cycles/OPTIX/GPU job type
Add the latest version of the Blender Studio custom job type to the
website, as it does a few things others may find interesting.
2024-05-16 12:28:55 +02:00
44ffb09d7d Makefile: use Hugo with the -tags extended argument
This is necessary for proper WebP support.
2024-05-16 12:28:55 +02:00
afc5067573 Fix labels in Gitea issue templates
The Gitea labels have been updated from `type::Report` to `Type/Report`,
but the issue templates were still using the old style.
2024-05-16 12:28:55 +02:00
0e2effd29b Website: document 3rd party job type compatibility
All 3rd party job types should get a box with the versions of Flamenco and
Blender they are compatible / tested with.
2024-05-16 12:28:55 +02:00
Mateus Abelli
d5977c637b Website: Fix links in Documentation /development/database
This patch fixes what appears to be placeholders for the markdown links of GORM and SQLC.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104309
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-05-16 08:26:03 +02:00
Mateus Abelli
47341a2338 Website: add image to 'Worker cannot find Manager' FAQ entry
Add a screenshot of the Manager's log on the terminal. This should make
it clearer which "Manager output" is meant, also for people who aren't
familiar with terminals.

Fixes #104303
2024-05-15 09:51:57 +02:00
Mateus Abelli
4aa391c679 Webapp: Fix superfluous null comparison
Remove the superfluous comparison to `(null || '')`. Just compare to
the empty string instead.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104307
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-05-13 16:21:34 +02:00
ae0774b440 Manager: add unit tests
Add a few more unit tests for the persistence layer. The goal is to have
100% coverage of the happy flow, to aid in conversion from GORM to sqlc.

No functional changes.
2024-05-11 10:35:17 +02:00
df334deca5 Add shellSplit(someString) function to the job compiler scripts
Add a function `shellSplit(string)` to the global namespace of job
compiler scripts. It splits a string into an array of strings using
shell/CLI semantics.

For example: `shellSplit("--python-expr 'print(1 + 1)'")` will return
`["--python-expr", "print(1 + 1)"]`.
2024-05-07 12:39:13 +02:00
c5ae2916db Add label to job settings
This gives job type authors more control over how settings are presented
in Blender's job submission GUI. If a job setting does not define a
label, its `key` is used to generate one (like Flamenco 3.5 and older).

Note that this isn't used in the web interface yet.
2024-05-07 11:58:44 +02:00
5ee4871e39 OAPI: regenerate code 2024-05-07 11:55:56 +02:00
e712e9450c OAPI: add label to AvailableJobSetting 2024-05-07 11:54:49 +02:00
2146388abe Website: reword the 'worker cannot find manager' FAQ entry
Reword so that the section starts with the suggestion that each problem
has a solution. And make it an enumerated list to clarify the structure
of the answer.
2024-05-06 11:16:01 +02:00
MrJW
153cfe7b5c Improve Troubleshooting FAQ: Add firewall and antivirus check
Updated the troubleshooting section of the FAQ to include guidance on checking the firewall and potential third-party antivirus issues when the Worker cannot connect to the Manager. This enhances the user experience by addressing common connectivity issues more comprehensively.
2024-05-04 18:19:44 +02:00
fde20af852 Changelog: mark 3.6 as 'in development' 2024-04-24 17:52:17 +02:00
85d7cb07e7 Website: bump experimental version to 3.6-alpha0 2024-04-24 17:46:05 +02:00
68ac3c03e3 Add-on: compatibility with Python 3.9
Remove some Python 3.10 features to make the add-on compatible with py39.
This is the Python version that's bundled with Blender 2.93 LTS, for which
I got a request to see if it could be supported.

The Blender version still isn't officially supported, but this should make
things at least not immediately fail.
2024-04-24 17:32:01 +02:00
d279f91549 Bumped version to 3.6-alpha0 2024-04-24 17:32:01 +02:00
f7aef5bfca Changelog: add link to MQTT documentation 2024-04-16 11:16:27 +02:00
b4cc9db2db Mark 3.5 as released today 2024-04-16 11:13:45 +02:00
bb772841b7 Revert "Bumped version to 3.6-alpha0"
This reverts commit 7f14e6705d69d05e1bcae3a9ff64dbf2541c47b5. v3.5 still
needs today's date as release date in the changelog.
2024-04-16 11:12:48 +02:00
7f14e6705d Bumped version to 3.6-alpha0 2024-04-16 11:11:54 +02:00
81de246b48 Bumped version to 3.5 2024-04-16 11:03:27 +02:00
c90c1c1260 Website: bump available download version to 3.5 2024-04-16 11:02:40 +02:00
94fba20ef6 Worker: reduce log level of some internal components
Reduce the log level from 'info' to 'debug' on some internal components
of Flamenco Worker. This makes the console output slightly less noisy,
and it's unlikely that these particular messages are commonly needed.
2024-04-16 10:53:29 +02:00
30c92d2854 Website: document when the oom_score_adjust option was added 2024-04-16 10:46:04 +02:00
e2bca9ad61 Worker: add configuration for Linux out-of-memory killer
Add a Worker configuration option to configure the Linux out-of-memory
behaviour. Add `oom_score_adjust=500` to `flamenco-worker.yaml` to increase
the chance that Blender gets killed when the machine runs out of memory,
instead of Flamenco Worker itself.
2024-04-15 17:21:11 +02:00
3974770f36 Manager: refuse to delete workers without foreign key constraints
As a safety measure, refuse to delete Workers from the Manager's database
when foreign key constraints are disabled.

In the long term, the underlying problem should be solved. This is a stop-
gap measure to ensure database consistency.
2024-04-12 10:48:40 +02:00
6c28db780f Manager: refuse to delete worker tags without foreign key constraints
Before deleting a Worker Tag, check that foreign key constraints are
active for the current database connection.

Sometimes GORM decides to create a new database connection by itself,
without telling us, and then foreign key constraints are not active on
it. This commit is a workaround to avoid database corruption.
2024-04-12 10:48:40 +02:00
b313a2020d Refactor: Manager, move some test code into a function of its own
Move some of the Worker Tags test code into a function of its own, to have
a clearer separation between 'the test' and 'what needs to happen to do
this part of the test'.

Also it'll make an upcoming change easier to implement.

No functional changes.
2024-04-12 10:48:40 +02:00
05e35a1cc5 Update Changelog 2024-04-11 15:02:24 +02:00
William Gardner
ea68faa577 Web: improve URL handling to allow for TLS/SSL
Explicitly use the `--mode` flag for the webapp development server
(`vite`) to make the web frontend choose the appropriate HTTP and
WebSocket port to communicate with the backend. This also makes sure
that when accessing the frontend via `https://`, the websocket
connection uses `wss://`.

As a side-effect, this also makes port `:8081` usable in production
environments; it would assume it was the development server and try to
access the backend on port `:8080`.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104296
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-04-11 15:00:48 +02:00
9ee9c07e76 Website: link to 3rd party bug tracker for 3rd party scripts
3rd part job compiler scripts should have their own tracker and handle
their own bug reports.
2024-04-11 10:55:00 +02:00
e83db45192 Website: sillicon builds are included, not "will be" included 2024-04-06 10:19:38 +02:00
7b139be605 Website: remove link to old Flamenco v2 documentation
The documentation itself has disappeared from the website, and it already
was obsolete for a long time anyway.
2024-04-04 20:37:48 +02:00
d799372639 Website: bump experimental version to 3.5-beta1 2024-04-04 11:18:03 +02:00
Taylor Wiebe
a0cb8735c9 Manager: add optional description to job types
This description will be shown as a tooltip in the job submission UI.
2024-04-04 11:12:42 +02:00
Taylor Wiebe
2bbb7b48d2 OAPI: regenerate code 2024-04-04 11:12:39 +02:00
Taylor Wiebe
03a889345d OAPI: add optional description to job types
This description will be shown as a tooltip in the job submission UI.
2024-04-04 11:08:55 +02:00
cfad4e73f9 Bumped version to 3.5-beta1 2024-04-04 10:54:53 +02:00
3b21437776 Website: bump experimental version to 3.5-beta0 2024-04-04 10:47:23 +02:00
f757deee6a Security: Bump Go version 1.22.2 and golang.org/x/net package
Fix a bunch of security issues by upgrading to Go 1.22.2 and bumping
a few packages to their secure versions.

- [Incorrect forwarding of sensitive headers and cookies on HTTP redirect in net/http](https://pkg.go.dev/vuln/GO-2024-2600)
- [Memory exhaustion in multipart form parsing in net/textproto and net/http](https://pkg.go.dev/vuln/GO-2024-2599)
- [Verify panics on certificates with an unknown public key algorithm in crypto/x509](https://pkg.go.dev/vuln/GO-2024-2600)
- [HTTP/2 CONTINUATION flood in net/http](https://pkg.go.dev/vuln/GO-2024-2687)
2024-04-04 10:44:57 +02:00
bce84bf175 Bumped version to 3.5-beta0 2024-04-04 10:38:42 +02:00
Mateus Abelli
43a452e940 Website: Update the required Go version to Latest 2024-03-25 15:10:36 +01:00
c3b8707390 Worker: reduce log level of 'Blender could not be found' to info level
There's still some confusion that this is a thing to solve, whereas it can
usually safely be ignored. Reduced the log level from Warn to Info to make
the message look more innocent.
2024-03-18 22:39:55 +01:00
00dfbc10b6 Worker: link to FAQ entry when the worker cannot be found 2024-03-18 22:38:20 +01:00
63a578688e Make make test fail fast
Pass `-failfast` to the `go test` command, so that it immediately stops
on test failure. This prevents the need to scroll back to see the actual
error, at the expense of only seeing one failure at a time.
2024-03-16 12:14:41 +01:00
b219f9b1c2 Manager tests: replace assert.NoError() with require.NoError()
Back in the days when I wrote the code, I didn't know about the
`require` package yet. Using `require.NoError()` makes the test code
more straight-forward.

No functional changes, except that when tests fail, they now fail
without panicking.
2024-03-16 12:14:39 +01:00