Merge branch 'main' of github.com:hpcng/warewulf into overlay_refactor

This commit is contained in:
Gregory Kurtzer
2022-01-06 00:37:17 +00:00
5 changed files with 38 additions and 4 deletions

View File

@@ -90,7 +90,7 @@ files: all
install -d -m 0755 $(DESTDIR)/usr/share/man/man1
test -f $(DESTDIR)/etc/warewulf/warewulf.conf || install -m 644 etc/warewulf.conf $(DESTDIR)/etc/warewulf/
test -f $(DESTDIR)/etc/warewulf/hosts.tmpl || install -m 644 etc/hosts.tmpl $(DESTDIR)/etc/warewulf/
test -f $(DESTDIR)/etc/warewulf/nodes.conf || install -m 640 etc/nodes.conf $(DESTDIR)/etc/warewulf/
test -f $(DESTDIR)/etc/warewulf/nodes.conf || install -m 644 etc/nodes.conf $(DESTDIR)/etc/warewulf/
cp -r etc/dhcp $(DESTDIR)/etc/warewulf/
cp -r etc/ipxe $(DESTDIR)/etc/warewulf/
cp -r overlays $(DESTDIR)/var/warewulf/
@@ -165,6 +165,7 @@ clean:
rm -rf bash_completion.d
rm -f man_page
rm -rf man_pages
rm -rf vendor
install: files install_wwclient

26
etc/ipxe/big_image.ipxe Normal file
View File

@@ -0,0 +1,26 @@
#!ipxe
echo
echo ================================================================================
echo Warewulf v4 now booting: {{.Fqdn}}
echo
echo Container: {{.ContainerName}}
echo Kernel: {{.KernelVersion}}
echo KernelArgs: {{.KernelArgs}}
echo
set base http://{{.Ipaddr}}:{{.Port}}
kernel --name kernel ${base}/kernel/{{.Hwaddr}} || goto reboot
imgextract --name container ${base}/container/{{.Hwaddr}} || goto reboot
imgextract --name kmods ${base}/kmods/{{.Hwaddr}} || goto reboot
imgextract --name system ${base}/overlay-system/{{.Hwaddr}} || goto reboot
boot kernel initrd=container initrd=kmods initrd=system {{.KernelArgs}} || goto reboot
:reboot
echo
echo There was an error, rebooting in 15s...
echo
sleep 15
reboot

View File

@@ -122,7 +122,6 @@ func init() {
baseCmd.PersistentFlags().StringVarP(&SetHwaddr, "hwaddr", "H", "", "Set the node's network device HW address")
baseCmd.PersistentFlags().StringVarP(&SetType, "type", "T", "", "Set the node's network device type")
baseCmd.PersistentFlags().StringVar(&SetNetOnBoot, "onboot", "", "Enable/disable device (yes/no)")
baseCmd.PersistentFlags().StringVar(&SetNetDefault, "default", "", "Enable/disable device as default (yes/no)")
baseCmd.PersistentFlags().BoolVar(&SetNetDevDel, "netdel", false, "Delete the node's network device")

View File

@@ -87,7 +87,11 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
n.NetDevs[devname] = &netdev
}
n.NetDevs[devname].Device.Set(netdev.Device)
if netdev.Device != "" {
n.NetDevs[devname].Device.Set(netdev.Device)
} else {
n.NetDevs[devname].Device.Set(devname)
}
n.NetDevs[devname].Ipaddr.Set(netdev.Ipaddr)
n.NetDevs[devname].Netmask.Set(netdev.Netmask)
n.NetDevs[devname].Hwaddr.Set(netdev.Hwaddr)

View File

@@ -10,16 +10,20 @@ import "regexp"
func FilterByName(set []NodeInfo, searchList []string) []NodeInfo {
var ret []NodeInfo
unique := make(map[string]NodeInfo)
if len(searchList) > 0 {
for _, search := range searchList {
for _, entry := range set {
b, _ := regexp.MatchString("^"+search+"$", entry.Id.Get())
if b {
ret = append(ret, entry)
unique[entry.Id.Get()] = entry
}
}
}
for _, n := range unique {
ret = append(ret, n)
}
} else {
ret = set
}