Merge branch 'main' of github.com:hpcng/warewulf into overlay_refactor
This commit is contained in:
3
Makefile
3
Makefile
@@ -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
26
etc/ipxe/big_image.ipxe
Normal 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
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user