856 Commits

Author SHA1 Message Date
Sybren A. Stüvel
65fcf1f6c9 Manager: disable Shaman by default
The Shaman implementation isn't finished yet, so for now disable by
default. That way it's at least possible to merge to the main branch.
2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
724938c7ae Shaman: allow Manager to determine the final checkout path
The checkout request now responds with the final checkout path. This makes
it possible for the Manager to ensure the checkout is unique.
2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
21227c8046 More Shaman integration work
- Addon switches between filesystem-packing and Shaman-packing
  automatically, depending on whether the Manager has Shaman enabled.
- Actually using BAT for Shaman packing.

It doesn't work though, some error occurs when receiving Shaman response
from the Manager in the Addon.
2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
f9b7510c42 Streamlining Shaman protocol further, plus rough implementation for addon 2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
b2288e7f28 Manager: More work on Shaman support
This introduces some more conceptual changes to Shaman. The most important
one is that there is no longer a "checkout ID", but a "checkout path".
The Shaman client can request any subpath of the checkout directory,
so that it can handle things like project- or scene-specific prefixes.
2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
2b0d154a07 Manager: more work on Shaman integration 2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
6f35b3303d Manager: more work on porting Shaman code to Flamenco 3 2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
4df0543661 Manager: Implementation of Shaman OAPI interface
This hooks up the OpenAPI Shaman endpoints to a Shaman interface. This
interface doesn't have any implementation yet.
2022-03-25 14:10:26 +01:00
Sybren A. Stüvel
86879aaaad Manager: adjust unit test to fit new command/task names in job compiler 2022-03-17 16:19:45 +01:00
Sybren A. Stüvel
b6a7a15582 Implement frames-to-video command
This finishes the "Simple Blender Render" job type, as it can now be run
fully by a Worker!
2022-03-17 16:18:10 +01:00
Sybren A. Stüvel
5ea3bfe301 Worker: reduce logging 2022-03-17 15:39:59 +01:00
Sybren A. Stüvel
c989bce51e Implement move-directory command, and use it in Simple Blender Render 2022-03-17 15:39:52 +01:00
Sybren A. Stüvel
084712baba Simple Blender render: pass frame range in Blender notation
Pass the frame range in Blender notation (`n..m`) instead of "printer"
notation (`n-m`).
2022-03-17 13:08:37 +01:00
Sybren A. Stüvel
1bcf4139bf Worker: be a bit faster in requesting a new task 2022-03-17 13:07:48 +01:00
Sybren A. Stüvel
8d52a03648 Manager: fix bug in task scheduler
The task scheduler was handing out tasks for which any dependency (instead
of all dependencies) were completed.
2022-03-17 13:07:20 +01:00
Sybren A. Stüvel
c5a2a23f6e Manager: reduce log levels 2022-03-17 11:47:53 +01:00
Sybren A. Stüvel
ec77de886b Manager: remove invalid comment 2022-03-17 11:46:04 +01:00
Sybren A. Stüvel
517b007ae5 Manager: improve logging of created tasks 2022-03-17 11:45:56 +01:00
Sybren A. Stüvel
bedf7869f8 Manager: replace "direction=twoway" with "is_twoway=true" in config
A boolean provides less context to the setting, so it's not as easy to
understand. However, in this case the simple case will have `is_twoway=false` and be ommitted from the configuration file. This makes the simple case even simpler.
2022-03-17 11:33:41 +01:00
Sybren A. Stüvel
3c01c18634 Manager: remove unsupported settings & rename existing one
Comment out all unused-but-desired-in-the-future settings, remove some
settings that will never be used, and rename `ssdp_discovery` to
`autodiscoverable`.
2022-03-17 11:25:40 +01:00
Sybren A. Stüvel
882c5ee478 Manager: include the version of Flamenco Manager in the written config 2022-03-17 11:19:00 +01:00
Sybren A. Stüvel
50cc1e64d0 Manager: add -write-config CLI option to create config file and quit 2022-03-17 11:18:26 +01:00
Sybren A. Stüvel
dbc5109058 Manager: reduce logging of configuration service 2022-03-17 11:10:13 +01:00
Sybren A. Stüvel
22ea599554 Manager: periodically run the SQL VACUUM command 2022-03-17 11:03:29 +01:00
Sybren A. Stüvel
93616cef3a Manager: reduce log level of "worker requesting task" 2022-03-17 10:53:00 +01:00
Sybren A. Stüvel
9066fcacff Manager: reorder Simple Blender Render settings 2022-03-15 17:49:20 +01:00
Sybren A. Stüvel
2187464d5e Allow the render output path to have a {timestamp} field 2022-03-15 17:18:11 +01:00
Sybren A. Stüvel
09a476e11a Compute render output path when evaluating job settings
Compute render output path when evaluating job settings, which is done
within the Flamenco add-on, instead of in the job compiler script. This
allows the UI to show the render path, rather than it only being known
after the job has been submitted.
2022-03-15 16:56:44 +01:00
Sybren A. Stüvel
7bfde1df0b Manager: determine final render output path in job compiler
This might not be the best way to do things, but it is very flexible and
allows TDs to determine the behaviour in their own job compiler script.
It doesn't allow a preview of "this is what the final render path will be"
in the Blender GUI though.
2022-03-15 13:17:55 +01:00
Sybren A. Stüvel
2cf388566f Cleanup: manager, remove unused code 2022-03-15 13:16:21 +01:00
Sybren A. Stüvel
6d492a48b4 Manager: tooltip for frame range setting 2022-03-15 11:32:59 +01:00
Sybren A. Stüvel
4ca71d96ce Manager: fix pythonisms in JS code 2022-03-15 11:32:23 +01:00
Sybren A. Stüvel
e15f066dde Automatically evaluate hidden job settings
Job settings that are not visible and have an `eval` key will be
automatically evaluated when the job is submitted.
2022-03-15 10:56:58 +01:00
Sybren A. Stüvel
4e570d601c Manager: fix tests for recent change from filepath to blendfile setting
4196460c29a607e1d3d2d052bf2bf546d5c05616 changed the name of the job
setting used to communicate the input blend file path, but the tests
weren't updated for this.
2022-03-15 10:46:58 +01:00
Sybren A. Stüvel
a6ac331612 Allow Python evaluation for computing job settings in the addon 2022-03-14 18:44:39 +01:00
Sybren A. Stüvel
4196460c29 Automatically include input blend file path in job settings 2022-03-14 18:18:10 +01:00
Sybren A. Stüvel
7b090bdbd6 OAPI: job submission endpoint now returns Job instead of SubmittedJob 2022-03-14 16:59:59 +01:00
Sybren A. Stüvel
2e78e00a0b Manager: don't log an error when the config file doesn't exist
The configuration file is expected to not exist on many systems, and
thus logging an error (even when it's a very innocent one) will cause
confusion.
2022-03-14 13:00:27 +01:00
Sybren A. Stüvel
7181c2c4cf OAPI: allow job settings to have a tooltip/description 2022-03-11 17:30:27 +01:00
Sybren A. Stüvel
6d00d9cb34 Manager: sort job types to ensure a consistent order 2022-03-11 17:30:27 +01:00
Sybren A. Stüvel
afc6b8e1c5 Worker: add -find-manager CLI arg
With `-find-manager` the Worker will use UPnP/SSDP autodiscovery, report
which Manager it found, and quit.
2022-03-11 10:52:03 +01:00
Sybren A. Stüvel
b33db33d17 Manager: show error when there was an error loading configuration 2022-03-11 10:51:32 +01:00
Sybren A. Stüvel
842255a065 UPnP/SSDP: actually serve a description.xml
The `description.xml` file is part of the UPnP Service Discovery protocol,
see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rxad/9225d145-6b2c-40d5-8ee8-7d837379fc25
2022-03-08 17:25:49 +01:00
Sybren A. Stüvel
353da58ee9 UPnP/SSDP: reduce log level for unreachable URLs 2022-03-08 16:46:14 +01:00
Sybren A. Stüvel
ca2bf7ff25 UPnP/SSDP: respond with multiple service descriptors
Instead of violating the standard and putting multiple locations in one
SSDP response, just send a single response for each possible location.
2022-03-08 16:46:03 +01:00
Sybren A. Stüvel
a61e3ca6f7 Worker tests: use in-memory SQLite database 2022-03-08 15:03:03 +01:00
Sybren A. Stüvel
fabb79e583 Worker: move autodiscovery code into the 'worker' package
Move the UPnP/SSDP Manager autodiscovery code into from `main.go` into the
`worker` package. This also means changing the error handling a bit, as
only the `main.go` file is allowed to do `log.Fatal()`.
2022-03-08 14:41:30 +01:00
Sybren A. Stüvel
9761786982 UPnP/SSDP: better logging when recovering from panic 2022-03-08 14:08:01 +01:00
Sybren A. Stüvel
eec4895c73 UPnP/SSDP client: avoid duplicate URLs 2022-03-08 14:06:35 +01:00
Sybren A. Stüvel
d6a60c73d0 UPnP/SSDP Server: allow advertising slice of URLs
This makes it possible for the Manager to expose multiple URLs. This way
the Worker can try them out and see which ones work.
2022-03-08 13:56:45 +01:00