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
Sybren A. Stüvel
13a74e61d4
UPnP/SSDP client: allow clean shutdowns
...
The SSDP library will log a warning on shutdown, as it doesn't expect the
UDP socket to be closed. Copy the hack on the Server implementation, which
avoids this warning getting logged, to the Client.
2022-03-08 13:56:45 +01:00
Sybren A. Stüvel
d0b677ffe3
Add API endpoint /api/version
to get the Flamenco Manager version
...
This will be used in the auto-discovery, to check that a discovered URL can
actually be reached & points to a Flamenco Manager.
2022-03-08 13:56:43 +01:00
Sybren A. Stüvel
42407865eb
Worker: change how configuration & credentials are loaded/saved
...
The Worker config/credential management was a bit of a mess. It's now
better structured, and also allows runtime overrides of the Manager URL,
without writing that override to the config file.
2022-03-08 13:51:03 +01:00
Sybren A. Stüvel
c0cd3ca5ad
UPnP/SSDP: Cleaner, easier to test (and actually tested) code
...
Convert "get own URLs" code into nicer chunks, and test those.
This minimises the code that actually depends on the available network
interfaces, and increases test coverage. Found a few bugs too.
2022-03-08 12:11:47 +01:00
Sybren A. Stüvel
bb91c2e6d6
UPnP/SSDP: prefer link-local addresses if available
2022-03-08 11:03:48 +01:00