def test_queued_run_coordinator(instance_template: HelmTemplate, ): # pylint: disable=redefined-outer-name helm_values = DagsterHelmValues.construct(dagsterDaemon=Daemon.construct( runCoordinator=RunCoordinator.construct( enabled=True, type=RunCoordinatorType.QUEUED, config=RunCoordinatorConfig.construct( queuedRunCoordinator=QueuedRunCoordinatorConfig.construct( tagConcurrencyLimits=[ TagConcurrencyLimit.construct( key="foo", value="hi", limit=1) ]), ), ))) configmaps = instance_template.render(helm_values) assert len(configmaps) == 1 instance = yaml.full_load(configmaps[0].data["dagster.yaml"]) assert instance["run_coordinator"]["class"] == "QueuedRunCoordinator" assert instance["run_coordinator"]["config"]["tag_concurrency_limits"] == [ { "key": "foo", "value": "hi", "limit": 1 } ]
def test_queued_run_coordinator_config(template: HelmTemplate, enabled: bool): max_concurrent_runs = 50 tag_concurrency_limits = [ TagConcurrencyLimit(key="key", value="value", limit=10) ] dequeue_interval_seconds = 50 helm_values = DagsterHelmValues.construct(dagsterDaemon=Daemon.construct( runCoordinator=RunCoordinator.construct( enabled=enabled, type=RunCoordinatorType.QUEUED, config=RunCoordinatorConfig.construct( queuedRunCoordinator=QueuedRunCoordinatorConfig.construct( maxConcurrentRuns=max_concurrent_runs, tagConcurrencyLimits=tag_concurrency_limits, dequeueIntervalSeconds=dequeue_interval_seconds, )), ))) configmaps = template.render(helm_values) assert len(configmaps) == 1 instance = yaml.full_load(configmaps[0].data["dagster.yaml"]) assert ("run_coordinator" in instance) == enabled if enabled: assert instance["run_coordinator"][ "module"] == "dagster.core.run_coordinator" assert instance["run_coordinator"]["class"] == "QueuedRunCoordinator" assert instance["run_coordinator"]["config"] run_coordinator_config = instance["run_coordinator"]["config"] assert run_coordinator_config[ "max_concurrent_runs"] == max_concurrent_runs assert run_coordinator_config[ "dequeue_interval_seconds"] == dequeue_interval_seconds assert len(run_coordinator_config["tag_concurrency_limits"]) == len( tag_concurrency_limits) assert run_coordinator_config["tag_concurrency_limits"] == [ tag_concurrency_limit.dict() for tag_concurrency_limit in tag_concurrency_limits ]