diff options
author | Andrey Chulkov <achulkov2@nebius.com> | 2024-12-31 15:51:31 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-12-31 16:06:16 +0300 |
commit | f5fce646b73a1cb5047dffd7ae6ca80de0fc2519 (patch) | |
tree | 6de1cca57cccf95ffcb838235aedaaf53f5bcd18 /contrib/python/ipython/py3/IPython/lib/clipboard.py | |
parent | f8a11a158e05e0297e5b986a14b10a9575361faa (diff) | |
download | ydb-f5fce646b73a1cb5047dffd7ae6ca80de0fc2519.tar.gz |
Introduce temporary tokens for operations
This PR adds two new spec options available for all operations. If `issue_temporary_token` is set to true, the scheduler will issue a token for the authenticated user of the operation via the Cypress tokens mechanism. The token will be placed into the operation's secure vault with `temporary_token_environment_variable_name` used as key.
The token is removed by operations cleaner. In order for that to work, we persist the Cypress node id of the issued token in the `temporary_token_node_id` operation node attribute. Such dependent nodes are removed strictly before removing the operation node.
To improve performance, instead of issuing a token transactionally with creating the operation node, we issue it with an expiration timeout first, and then remove the expiration timeout after the operation node is created. If scheduler fails after token is issued but before the operation node is actually created, the expiration timeout will ensure that the token is eventually deleted.
I chose this approach over more typical lease extension mechanisms mainly because I feel that the proposed solution is simpler than introducing new periodic logic to scheduler/CA. There is also the concern of tokens expiring during job revival, which is unlikely if the lease timeout is large enough, but still makes me like the other solution a bit less.
* Changelog entry
Type: feature
Component: scheduler
Add the ability to issue temporary tokens valid during the lifetime of an operation and place them into the operation's secure vault.
---
Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1004
commit_hash:f26afe1940fa5f13519b72a3104b98ee1c54f9d3
Diffstat (limited to 'contrib/python/ipython/py3/IPython/lib/clipboard.py')
0 files changed, 0 insertions, 0 deletions