Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge NodeConf and NodeInfo #916

Open
anderbubble opened this issue Sep 12, 2023 · 1 comment · May be fixed by #1020
Open

Merge NodeConf and NodeInfo #916

anderbubble opened this issue Sep 12, 2023 · 1 comment · May be fixed by #1020
Assignees
Labels
discuss A topic for discussion in a community meeting refactor stake:ciq CIQ is a stakeholder of this issue stake:suse Suse is a stakeholder of this issue
Milestone

Comments

@anderbubble
Copy link
Collaborator

I think a lot of the complexity in Warewulf comes from the separation between NodeConf and NodeInfo, and having to keep these two datastores in sync. I suggest that they (and their children) should be merged into one Node data structure, and that the functionality currently present in NodeInfo should be handled on-demand by view-only functions.

@griznog
Copy link
Contributor

griznog commented Sep 13, 2023

I think this is an implied goal of #905, the actual nodes.conf contents would not have any data structure associated with them and be kept in sync between memory and disk, with any individual nodeinfo things being pulled out of that in a read-only fashion dynamically as-needed.

A side effect here is getting the code path for merging nodes with assigned nodeprofiles into a separate place where it can be improved to do a better job of merging these. I think with this model it only has to merge into a read-only structure (which could still be a map without any formal data structure to it), so that merging logic can be as complex as needed. Any commands that update the config would work directly in the flatter/unmerged in-memory config then be flushed to disk.

@anderbubble anderbubble added this to the 4.6.0 milestone Sep 14, 2023
@anderbubble anderbubble added the discuss A topic for discussion in a community meeting label Nov 16, 2023
@anderbubble anderbubble added stake:ciq CIQ is a stakeholder of this issue stake:suse Suse is a stakeholder of this issue labels Mar 20, 2024
@anderbubble anderbubble linked a pull request Apr 24, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss A topic for discussion in a community meeting refactor stake:ciq CIQ is a stakeholder of this issue stake:suse Suse is a stakeholder of this issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants