Merge pull request #1746 from anderbubble/default-nfs-resources

Default nfs resources
This commit is contained in:
Christian Goll
2025-02-18 17:42:24 +01:00
committed by GitHub
4 changed files with 64 additions and 5 deletions

View File

@@ -93,6 +93,25 @@ func (legacy *NodesYaml) Upgrade(addDefaults bool, replaceOverlays bool, warewul
if defaultProfile.Ipxe == "" {
defaultProfile.Ipxe = "default"
}
if _, ok := defaultProfile.Resources["fstab"]; !ok {
if defaultProfile.Resources == nil {
defaultProfile.Resources = make(map[string]node.Resource)
}
defaultProfile.Resources["fstab"] = []map[string]string{
{
"spec": "warewulf:/home",
"file": "/home",
"vfstype": "nfs",
"mntops": "defaults,nofail",
},
{
"spec": "warewulf:/opt",
"file": "/opt",
"vfstype": "nfs",
"mntops": "defaults,noauto,nofail,ro",
},
}
}
}
if warewulfconf != nil && warewulfconf.NFS != nil {
var fstab []map[string]string
@@ -139,7 +158,8 @@ func (legacy *NodesYaml) Upgrade(addDefaults bool, replaceOverlays bool, warewul
}
type Node struct {
Profile `yaml:"-,inline"`
Discoverable string `yaml:"discoverable,omitempty"`
Profile `yaml:"-,inline"`
}
func (legacy *Node) Upgrade(addDefaults bool, replaceOverlays bool) (upgraded *node.Node) {
@@ -311,7 +331,6 @@ type Profile struct {
ImageName string `yaml:"image name,omitempty"`
ContainerName string `yaml:"container name,omitempty"`
Disabled string `yaml:"disabled,omitempty"`
Discoverable string `yaml:"discoverable,omitempty"`
Disks map[string]*Disk `yaml:"disks,omitempty"`
FileSystems map[string]*FileSystem `yaml:"filesystems,omitempty"`
Init string `yaml:"init,omitempty"`
@@ -339,11 +358,15 @@ type Profile struct {
SystemOverlay interface{} `yaml:"system overlay,omitempty"`
Tags map[string]string `yaml:"tags,omitempty"`
TagsDel []string `yaml:"tagsdel,omitempty"`
Resources map[string]Resource `yaml:"resources,omitempty"`
}
type Resource interface{}
func (legacy *Profile) Upgrade(addDefaults bool, replaceOverlays bool) (upgraded *node.Profile) {
upgraded = new(node.Profile)
upgraded.Tags = make(map[string]string)
upgraded.Resources = make(map[string]node.Resource)
upgraded.Disks = make(map[string]*node.Disk)
upgraded.FileSystems = make(map[string]*node.FileSystem)
upgraded.Kernel = new(node.KernelConf)
@@ -360,9 +383,6 @@ func (legacy *Profile) Upgrade(addDefaults bool, replaceOverlays bool) (upgraded
if legacy.Disabled != "" {
logIgnore("Disabled", legacy.Disabled, "obsolete")
}
if legacy.Discoverable != "" {
logIgnore("Discoverable", legacy.Discoverable, "invalid for profiles")
}
if legacy.Disks != nil {
for name, disk := range legacy.Disks {
upgraded.Disks[name] = disk.Upgrade()
@@ -491,6 +511,11 @@ func (legacy *Profile) Upgrade(addDefaults bool, replaceOverlays bool) (upgraded
for _, tag := range legacy.TagsDel {
delete(upgraded.Tags, tag)
}
if legacy.Resources != nil {
for key, value := range legacy.Resources {
upgraded.Resources[key] = value
}
}
return
}

View File

@@ -552,6 +552,16 @@ nodeprofiles:
- net.naming-scheme=v238
init: /sbin/init
root: initramfs
resources:
fstab:
- spec: warewulf:/home
file: /home
vfstype: nfs
mntops: defaults,nofail
- spec: warewulf:/opt
file: /opt
vfstype: nfs
mntops: defaults,noauto,nofail,ro
nodes:
n1:
profiles:
@@ -579,6 +589,12 @@ nodeprofiles:
- udev.netname
- systemd.netname
- NetworkManager
resources:
fstab:
- spec: warewulf:/scratch
file: /scratch
vfstype: nfs
mntops: defaults,nofail
custom: {}
nodes:
n1:
@@ -616,6 +632,12 @@ nodeprofiles:
- net.naming-scheme=v238
init: /sbin/init
root: initramfs
resources:
fstab:
- spec: warewulf:/scratch
file: /scratch
vfstype: nfs
mntops: defaults,nofail
nodes:
n1:
profiles: