Merge branch 'main' of github.com:ctrliq/warewulf into main
This commit is contained in:
2
Makefile
2
Makefile
@@ -44,7 +44,7 @@ all: vendor wwctl wwclient
|
||||
|
||||
files: all
|
||||
install -d -m 0755 /var/warewulf/
|
||||
install -d -m 0755 /var/warewulf/chroot
|
||||
install -d -m 0755 /var/warewulf/chroots
|
||||
install -d -m 0755 /etc/warewulf/
|
||||
install -d -m 0755 /etc/warewulf/ipxe
|
||||
install -d -m 0755 /var/lib/tftpboot/warewulf/ipxe/
|
||||
|
||||
23
docs/Contributing.md
Normal file
23
docs/Contributing.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Contributing
|
||||
|
||||
Warewulf is an open source project and we invite your collaboration and help.
|
||||
|
||||
## Contributor's Agreement
|
||||
You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality
|
||||
or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements
|
||||
available either publicly, or directly to the project, without imposing a separate written license agreement for such
|
||||
Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to
|
||||
install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense
|
||||
such enhancements or derivative works thereof, in binary and source code form.
|
||||
|
||||
## To Contribute
|
||||
Here is the very high level guide to contributing:
|
||||
|
||||
* For the project to a location of your choosing
|
||||
* Clone your fork locally: `git clone http://github.com/$NAME/warewulf.git`
|
||||
* Inside your fork, create a local branch: `cd warewulf; git checkout -b localchanges`
|
||||
* Make the necessary changes and commit them: `git commit -a`
|
||||
* Push your changes: `git push origin localchanges`
|
||||
* Create a PR using GitHub: `https://github.com/$NAME/warewulf/pull/new/localchanges`
|
||||
|
||||
*note: set your environment variable `NAME=github_username` before running the above commands.*
|
||||
@@ -1,7 +1,21 @@
|
||||
# Documentation for Warewulf
|
||||
|
||||
The documentation for Warewulf is a work in progress and we are asking for contributions from the open source
|
||||
community on this. Please see the [contributing](Contributing.md) document for how to help out this project.
|
||||
|
||||
### Quickstarts
|
||||
|
||||
* [RHEL-7 quickstart](rhel7-quickstart.md)
|
||||
* [RHEL-8 quickstart](rhel8-quickstart.md)
|
||||
|
||||
### Chapters
|
||||
(all coming soon)
|
||||
|
||||
* [Introduction](introduction.md)
|
||||
* [Architecture](architecture.md)
|
||||
* [System Services and Dependencies](system_services.md)
|
||||
* [Profiles](profiles.md)
|
||||
* [Node Configurations](nodes.md)
|
||||
* [Containers and VNFS images](containers.md)
|
||||
* [Overlays](overlays.md)
|
||||
* [SELinux](selinux.md)
|
||||
|
||||
@@ -128,7 +128,7 @@ Here are some of the common `overlay` commands:
|
||||
```
|
||||
sudo ./wwctl overlay list -l
|
||||
sudo ./wwctl overlay list -ls
|
||||
sudo EDITOR=vim ./wwctl overlay edit default /etc/hello_world.ww
|
||||
sudo ./wwctl overlay edit default /etc/hello_world.ww
|
||||
sudo ./wwctl overlay build -a
|
||||
```
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ Here are some of the common `overlay` commands:
|
||||
```
|
||||
sudo ./wwctl overlay list -l
|
||||
sudo ./wwctl overlay list -ls
|
||||
sudo EDITOR=vim ./wwctl overlay edit default /etc/hello_world.ww
|
||||
sudo ./wwctl overlay edit default /etc/hello_world.ww
|
||||
sudo ./wwctl overlay build -a
|
||||
```
|
||||
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
{{range $node := $.AllNodes}}
|
||||
# Entry for {{$node.Id.Get}}
|
||||
{{- range $devname, $netdev := $node.NetDevs}}
|
||||
{{- if $netdev.Default}}
|
||||
{{- if $netdev.Ipaddr.Defined}}
|
||||
{{- if $netdev.Default.GetB}}
|
||||
{{$netdev.Ipaddr.Get}} {{$node.Id.Get}}
|
||||
{{- else}}
|
||||
{{$netdev.Ipaddr.Get}} {{$node.Id.Get}}-{{$devname}}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
{{end}}
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
|
||||
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":NETMASK", netdev.Netmask.Source(), netdev.Netmask.Print())
|
||||
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":GATEWAY", netdev.Gateway.Source(), netdev.Gateway.Print())
|
||||
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":TYPE", netdev.Type.Source(), netdev.Type.Print())
|
||||
fmt.Printf("%-20s %-18s %-12s %t\n", node.Id.Get(), name+":DEFAULT", netdev.Default.Source(), netdev.Default.PrintB())
|
||||
}
|
||||
|
||||
// v := reflect.ValueOf(node)
|
||||
|
||||
@@ -233,6 +233,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
|
||||
wwlog.Printf(wwlog.VERBOSE, "Node: %s:%s, Setting HW address to: %s\n", n.Id.Get(), SetNetDev, SetHwaddr)
|
||||
n.NetDevs[SetNetDev].Hwaddr.Set(SetHwaddr)
|
||||
}
|
||||
if SetNetDevDefault == true {
|
||||
if SetNetDev == "" {
|
||||
wwlog.Printf(wwlog.ERROR, "You must include the '--netdev' option\n")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if _, ok := n.NetDevs[SetNetDev]; !ok {
|
||||
var nd node.NetDevEntry
|
||||
n.NetDevs[SetNetDev] = &nd
|
||||
}
|
||||
|
||||
wwlog.Printf(wwlog.VERBOSE, "Node: %s:%s, Setting device as default\n", n.Id.Get(), SetNetDev)
|
||||
for _, dev := range n.NetDevs {
|
||||
// First clear all other devices that might be configured as default
|
||||
dev.Default.SetB(false)
|
||||
}
|
||||
n.NetDevs[SetNetDev].Default.SetB(true)
|
||||
}
|
||||
|
||||
err := nodeDB.NodeUpdate(n)
|
||||
if err != nil {
|
||||
|
||||
@@ -19,6 +19,7 @@ var (
|
||||
SetGateway string
|
||||
SetHwaddr string
|
||||
SetNetDevDel bool
|
||||
SetNetDevDefault bool
|
||||
SetClusterName string
|
||||
SetIpxe string
|
||||
SetRuntimeOverlay string
|
||||
@@ -66,6 +67,8 @@ func init() {
|
||||
baseCmd.PersistentFlags().StringVarP(&SetGateway, "gateway", "G", "", "Set the node's network device gateway")
|
||||
baseCmd.PersistentFlags().StringVarP(&SetHwaddr, "hwaddr", "H", "", "Set the node's network device HW address")
|
||||
baseCmd.PersistentFlags().BoolVar(&SetNetDevDel, "netdel", false, "Delete the node's network device")
|
||||
baseCmd.PersistentFlags().BoolVar(&SetNetDevDefault, "netdefault", false, "Set this network to be default")
|
||||
|
||||
baseCmd.PersistentFlags().BoolVarP(&SetNodeAll, "all", "a", false, "Set all nodes")
|
||||
|
||||
baseCmd.PersistentFlags().BoolVarP(&SetYes, "yes", "y", false, "Set 'yes' to all questions asked")
|
||||
|
||||
@@ -49,7 +49,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
|
||||
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":GATEWAY", netdev.Gateway.Print())
|
||||
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":HWADDR", netdev.Hwaddr.Print())
|
||||
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":TYPE", netdev.Hwaddr.Print())
|
||||
|
||||
fmt.Printf("%-20s %-18s %t\n", profile.Id.Get(), name+":DEFAULT", netdev.Default.PrintB())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -213,6 +213,25 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
|
||||
p.NetDevs[SetNetDev].Hwaddr.Set(SetHwaddr)
|
||||
}
|
||||
|
||||
if SetNetDevDefault == true {
|
||||
if SetNetDev == "" {
|
||||
wwlog.Printf(wwlog.ERROR, "You must include the '--netdev' option\n")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if _, ok := p.NetDevs[SetNetDev]; !ok {
|
||||
var nd node.NetDevEntry
|
||||
p.NetDevs[SetNetDev] = &nd
|
||||
}
|
||||
|
||||
wwlog.Printf(wwlog.VERBOSE, "Node: %s:%s, Setting device as default\n", p.Id.Get(), SetNetDev)
|
||||
for _, dev := range p.NetDevs {
|
||||
// First clear all other devices that might be configured as default
|
||||
dev.Default.SetB(false)
|
||||
}
|
||||
p.NetDevs[SetNetDev].Default.SetB(true)
|
||||
}
|
||||
|
||||
err := nodeDB.ProfileUpdate(p)
|
||||
if err != nil {
|
||||
wwlog.Printf(wwlog.ERROR, "%s\n", err)
|
||||
|
||||
@@ -29,6 +29,7 @@ var (
|
||||
SetGateway string
|
||||
SetHwaddr string
|
||||
SetNetDevDel bool
|
||||
SetNetDevDefault bool
|
||||
SetInit string
|
||||
SetRoot string
|
||||
)
|
||||
@@ -56,6 +57,7 @@ func init() {
|
||||
baseCmd.PersistentFlags().StringVarP(&SetGateway, "gateway", "G", "", "Set the node's network device gateway")
|
||||
baseCmd.PersistentFlags().StringVarP(&SetHwaddr, "hwaddr", "H", "", "Set the node's network device HW address")
|
||||
baseCmd.PersistentFlags().BoolVar(&SetNetDevDel, "netdel", false, "Delete the node's network device")
|
||||
baseCmd.PersistentFlags().BoolVar(&SetNetDevDefault, "netdefault", false, "Set this network to be default")
|
||||
|
||||
baseCmd.PersistentFlags().BoolVarP(&SetAll, "all", "a", false, "Set all profiles")
|
||||
baseCmd.PersistentFlags().BoolVarP(&SetForce, "force", "f", false, "Force configuration (even on error)")
|
||||
|
||||
Reference in New Issue
Block a user