Add mechanism for host configuration patching before an update (delta update)
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by locating the existing trident update action and the Host Config input and caching flow. Review RFC6902, kubectl patch, and kustomize as possible models, paying attention to list changes and immutable Host Config areas. Done means a defined patch API can leave Trident in a preparing-update state and let trident update use the patched configuration.
Written by the indexing model from the issue text.
Description
Currently to trigger an update one must pass a full Host Config to Trident, however, must updates will just want to change one or two fields in the configuration. Having to get the entire file and surgically update the desired fields imposes an extra burden on users.
A trident patch action could be used to grab the existing host configuration and apply a patch on it, leaving trident in a "preparing update" state with a cached HC. A user would then be able to just invoke "trident update" to trigger an update using the patched host configuration.
The bulk of the work is defining the API for patching to make it simple to use both programmatically and by humans.
We could look into established mechanisms, such as RFC6902 (probably my suggestion), or what other tools that deal with merging YAML documents do (eg. kubectl patch, kustomize, etc)
Trident uses many lists, so an API that is friendly when modifying lists is desirable.
We're also not modifying arbitrary structures, but a well-known one (Host Config) so maybe the approach for us is not to use a generic API but rather a bespoke API for each area of HC. (This would also allow us to just not expose apis for things that cannot be changes, such as storage)
- Dominant language
- Rust
- Stars
- 32
- Forks
- 18
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 31
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/trident
-
Difficulty 1/5 Under an hour Newbie friendliness 15/100
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 42/100
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
All issues in microsoft/trident
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug team:backend track:services-maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cowprotocol/services#4950 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·