Added fstab mounts for /home and /opt to initial default profile

- Closes: #1744

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
Jonathon Anderson
2025-02-14 20:30:46 -07:00
parent 12f7cb4033
commit b05fa4157a
4 changed files with 61 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Added support for a DNSSEARCH netdev tag in network configuration overlays. #1256
- Added `WW_HISTFILE` to control shell history location during `wwctl image shell`. #1732
- Added target help in Makefile. #1740
- Added fstab mounts for `/home` and `/opt` to initial default profile. #1744
### Changed

View File

@@ -28,4 +28,14 @@ nodeprofiles:
ipxe template: default
ipmi:
template: ipmitool.tmpl
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: {}

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
@@ -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)
@@ -491,6 +514,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: