[ 
https://issues.apache.org/jira/browse/YUNIKORN-1483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Craig Condit closed YUNIKORN-1483.
----------------------------------
      Assignee: Craig Condit
    Resolution: Won't Fix

Closed in favor of YUNIKORN-1500.

> Overhaul periodic state dump support
> ------------------------------------
>
>                 Key: YUNIKORN-1483
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1483
>             Project: Apache YuniKorn
>          Issue Type: Improvement
>          Components: core - scheduler, release, shim - kubernetes
>            Reporter: Craig Condit
>            Assignee: Craig Condit
>            Priority: Major
>
> The current support for generating periodic state dumps implemented in 
> YUNIKORN-940 has several warts:
>  # The configuration in YUNIKORN-949 is done via the core scheduler 
> configuration, leading to a random option on partitions which doesn't belong 
> there and has nothing to do with scheduling.
>  # Changing the frequency of the state dumps is done via the unsecured REST 
> API. This is a potential denial-of-service vector.
>  # Configuration V2 is now complete, which standardizes on using a ConfigMap 
> to configure all YuniKorn options that make sense to be reconfigured. 
> However, allowing the location to be changed at runtime makes no sense in a 
> containerized environment.
>  # Retrieving the state dumps requires mounting of external storage. This is 
> necessarily a site-specific configuration and currently requires a custom 
> Helm deployment.
>  # The state dumps, though JSON, are emitted as text files with JSON appended 
> to them, making parsing difficult.
> To address these issues:
>  # Deprecate existing REST API configuration for frequency, and make it a 
> no-op now for security reasons. We can remove it completely in 2.0.
>  # Deprecate the statedumpfilepath option on partitions. Ignore it for 
> security reasons now (and warn if found), and remove completely in 2.0.
>  # Disable the feature by default. To enable it, we should require setting a 
> specific environment variable:
>  ** YUNIKORN_STATE_DUMP_LOCATION=/path/to/dir : This would be required to 
> enable the feature at all. Making it an env var makes sense as it is not an 
> option that should be reconfigured (or even visible) in configuration.
>  # Via configmap, we should allow the feature to be enabled / disabled and 
> its frequency set. These options would have no effect if 
> YUNIKORN_STATE_DUMP_LOCATION is not defined:
>  ** periodicStateDump.enabled: "true" | "false" (default "false")
>  ** periodicStateDump.frequency: "15m" (default value, do not allow more 
> frequently than 1m intervals)
>  ** periodicStateDump.count: 10 (default value)
>  # Create an empty directory /yunkorn-state in the Docker image to store 
> state dumps.
>  # Add support to Helm for enabling state dump support as well as setting 
> custom mount options (including quota). Enabling support should set the env 
> var YUNIKORN_STATE_DUMP_LOCATION=/yunikorn-state and mount this directory via 
> the options specified.
>  # Output a single json file per dump and remove oldest files until count <= 
> periodicStateDump.count entries: yunikorn-state-dump-YYYYMMDD-HHMM.json
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to