Open ColemanTom opened 3 months ago
From CLI I am doing the following broadcast to skip a cycle (or namespace):
Interesting! You've just rolled your own "skip mode" - coming in 8.4. https://cylc.github.io/cylc-admin/proposal-skip-mode.html
Bug confirmed. From the GUI, namespaces defaults to [None]
; from the CLI it's [root]
.
From CLI I am doing the following broadcast to skip a cycle (or namespace):
Interesting! You've just rolled your own "skip mode" - coming in 8.4. https://cylc.github.io/cylc-admin/proposal-skip-mode.html
Sort of. It's a "we have skip mode at home" imitation. It doesn't clean out the environment
section (I don't think you can do [environment]=
but I have not tried), stops generation of message triggers which may or may not matter, and corrupts the runtime history as suddenly tasks have taken a second to run instead of their normal time - maybe not a problem if it happens infrequently, but if its a regular occurance then it is annoying.
Yeah the official skip mode will be recorded as such in the DB, and has a few bells and whistles, but the concept is more or less the same.
To resolve, change the default value in the GraphQL schema.
To resolve, change the default value in the GraphQL schema.
I don't think it's that simple - as far as I can see the default value is already root
:
namespaces = graphene.List(
NamespaceName,
description='List of namespaces (tasks or families) to target.',
default_value=['root']
)
Ach, got it.
If you click on a task in order to open the "broadcast" form, then the "namespaces" field will be filled in correctly.
However, if you click on a workflow in order to open the "broadcast" form, then the "namespaces" field will be left blank.
Unfortunately, this is AOTF doing its job correctly. The UI understands that the "namespaces" field can be determined from the context, but if you haven't selected any namespaces in the context, it has nothing to fill in. Unfortunately, to resolve this, I think we would need special logic in AOTF to handle this one case :facepalm:.
@ColemanTom It looks like Edit Runtime is not affected by this and should do what you want for the root family at a particular cycle point
A quick half-fix might be to adjust the schema (cylc-flow) such that it requires at least one entry to be specified for "namespaces". I think the NON_NULL type should be able to achieve this.
This way it wouldn't let you fire off a command that doesn't target anything.
A quick half-fix might be to adjust the schema (cylc-flow) such that it requires at least one entry to be specified for "namespaces". I think the NON_NULL type should be able to achieve this.
This way it wouldn't let you fire off a command that doesn't target anything.
Can you check whether this is already done? If I'm reading schema.py it looks like this is already is set, but not working in the desired manner...
Fix requires a UI code change, see https://github.com/cylc/cylc-ui/issues/1876#issuecomment-2262645483
Having an AOTF education - fix required UI code change or UI and schema code change?
Just UI code change.
Description
Using UIServer 2.3.0 as that is what we have installed.
From CLI I am doing the following broadcast to skip a cycle (or namespace):
cylc broadcast -p 20240716T0000Z -s 'platform=localhost' -s 'script=true' -s 'pre-script=' -s 'post-script=' -s 'err-script=' -s 'exit-script=' TideNational_dummy
. Doing this successfully modifies all tasks to those settings, so everything runs through fast (assuming outputs are not needed of course).When I try similar from the web UI, the settings do not take and the job continues to run as they normally would.
Reproducible Example
e.g.
From the log file, this is what I see
The first broadcast was via CLI, the second via the UI. The
Broadcast set
line doesn't appear, its just an empty "INFO".If I add in
root
to the namespace section, the above command does work, but, my interpretation is it should not be needed as the default should beroot
based on the CLI. If it is intentional that the default is None, then please state that in th tooltips.Expected Behaviour
Broadcast via CLI and WUI should lead to the same results when no namespace is specified.