You must ensure the security of job objects and only allow authorized users access to their own jobs, as appropriate. If all users’ job information should be returned, this field will be “*“. The name of the user requesting job information. Job state requests allow users to get the current state of a specific job, or all of their jobs that match specific criteria. In the example above, we are advertising that placement can be constrained by both region and disk type, with us and eu being valid regions and nvme and ssd being valid disk types. The value can be left empty if it is a free-entry field and not an enumeration of specifically allowed values. PlacementConstraints specify a grouping of name/value pairs that represent the available constraint name and its possible values. ![]() Jobs submitted with a higher value will be denied.Ī string representing the name/key of the placement constraint.Ī string representing a possible value for the given constraint. For more information, see Errors.Ĭan be one of “string”, “int”, “float”, or “enum”.Ĭan be one of “cpuCount”, “cpuTime”, “memory” or “memorySwap”.Ī string representing the default value that will be used for jobs that do not specify a limit.Ī string representing the maximum value that a job may use. More details can be found in the Errors section.ĮrrorResponses can be sent in response to all requests. More details can be found in the Errors section. Must start from 0.ĮrrorResponse (sent by the plugin to indicate an error) Field name This must be properly generated for each response sent by the plugin. The monotonically increasing response ID for this response. This is used by the rstudio-launcher binary to properly determine which response belongs to which request. The request ID for the request that initiated this response. PluginResponse (sent by the plugin to the rstudio-launcher binary) Field name This can occur if a super user (admin user) makes a request, or if authorization is disabled. Some requests have the ability to specify * for this value, indicating all users’ information should be returned. The username of the user that initiated the request. This should be saved by the plugin for use in responses. The monotonically increasing request ID for this request. The ID for a given message type can be found in the section for the given message. PluginRequest (sent by the rstudio-launcher binary to the plugin) Field name Big-endian is chosen in order to make any potential future transition to over-network communication with plugins fairly pain free.Įach message payload is one of three types: PluginRequest, PluginResponse, or ErrorResponse, which is simply a JSON object containing, at a minimum, the following fields: While not strictly necessary for communication over stdin/stdout, the message length makes it easy to delineate message boundaries. Note that this should be overrideable, as specified in the config-file argument mentioned above.Įach message has a 4-byte big-endian message length indicating the length of the message to be read, followed by the message payload. If the default file should be used, this argument will not be present.Įach plugin should also allow for configuration overrides of these values and any additional necessary configuration via file, located at /etc/rstudio/nf. This should override any default configuration file provided by the plugin. Path to the configuration file for this plugin (user-specified). ![]() For more information, see the subsequent section on heartbeat messages. If the plugin misses 3 heartbeats in a row, the Job Launcher considers it to be in an invalid state and will kill and restart the plugin. ![]() ![]() If this is 0, then heartbeats should be disabled. The number of seconds in between heartbeats. This is where the plugin may store temporary data, such as cached information about jobs. The path assigned by the Job Launcher that the plugin is allowed to write to. If so, a higher level of verbosity should be used when logging information. Plugins start with root privilege to allow for user impersonation when communicating with cluster software that requires it.Ī 0 or 1 indicating whether or not debug logging should be enabled. Plugins start with root privilege and SHOULD lower their privilege to run as the user specified by this argument. The name of the user that the process should be run as. The following configuration options are passed to the plugin when started: Argument name These configuration options contain default values determined by the rstudio-launcher binary, and include configuration options set in the /etc/rstudio/nf config file. Each plugin is passed a set of configuration values as arguments to the plugin when it is started.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |