diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 0ba951ee..643cb293 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,7 +33,7 @@ body: ```console $ wwctl $ wwctl - $ journalctl -u warewulfd.service --since + $ journalctl -u warewulfd.service --since ``` - type: textarea id: information @@ -69,5 +69,5 @@ body: Slack](https://warewulf.org/help) first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue. - + Other than that, thanks for taking the time to contribute to Warewulf! diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index c1640dd5..ccb41606 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -39,5 +39,5 @@ body: Slack](https://warewulf.org/help) first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue. - + Other than that, thanks for taking the time to contribute to Warewulf! diff --git a/.github/actions/generate/action.yml b/.github/actions/generate/action.yml index 5f25455e..c4181667 100644 --- a/.github/actions/generate/action.yml +++ b/.github/actions/generate/action.yml @@ -61,8 +61,8 @@ runs: run: | dist="warewulf-${{ env.TAG }}.tar.gz" - if [[ ! -f "$dist" ]];then - for f in warewulf-*.tar.gz; do + if [[ ! -f "$dist" ]];then + for f in warewulf-*.tar.gz; do if [[ -e "$f" ]]; then dist="$f" break @@ -103,7 +103,7 @@ runs: run: | cat << EOF >> nightly.release.note THIS IS A NIGHTLY RELEASE - + This release contains latest commits, which is a feature unstable version Reflog: @@ -132,7 +132,7 @@ runs: if: inputs.nightly == 'true' && steps.should-continue.outputs.continue == 'true' uses: tubone24/update_release@v1.3.1 id: release - env: + env: GITHUB_TOKEN: ${{ inputs.token }} TAG_NAME: "nightly" with: diff --git a/.github/workflows/changelog-enforcer.yml b/.github/workflows/changelog-enforcer.yml index 800433ff..9c94a363 100644 --- a/.github/workflows/changelog-enforcer.yml +++ b/.github/workflows/changelog-enforcer.yml @@ -8,7 +8,7 @@ on: types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] jobs: - # Enforces the update of a changelog file on every pull request + # Enforces the update of a changelog file on every pull request changelog: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 418d67e0..f9739565 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -8,9 +8,9 @@ on: jobs: generate: - name: Generate spec, dist and collect commits info + name: Generate spec, dist and collect commits info runs-on: ubuntu-latest - outputs: + outputs: should-continue: ${{ steps.generate.outputs.should-continue }} version: ${{ steps.generate.outputs.version }} release-id: ${{ steps.generate.outputs.release-id }} @@ -68,4 +68,4 @@ jobs: target: ${{ matrix.target }} token: ${{ secrets.GITHUB_TOKEN }} version: ${{ needs.generate.outputs.version }} - event-id: ${{ needs.generate.outputs.release-id }} \ No newline at end of file + event-id: ${{ needs.generate.outputs.release-id }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 7385aa9e..20c7e339 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The network device "OnBoot" parameter correctly configures the ONBOOT ifcfg parameter. (#644) - Add support for listing profile/node via comma-separated values. #739 -- Sort the node list returned entries by name. +- Sort the node list returned entries by name. - 'wwctl node edit' inconsistent state with warewulfd. #691 - Add `--parents` option to `overlay import` subcommand to create necessary parent folder. #608 @@ -59,7 +59,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The primary hostname and warewulf server fqdn are now the canonical name in `/etc/hosts` -- Refactored `profile add` command to make it alike `node add`. #658 #659 +- Refactored `profile add` command to make it alike `node add`. #658 #659 - The ifcfg ONBOOT parameter is no longer statically `true`, so unconfigured interfaces may not be enabled by default. (#644) - Write log messages to stderr rather than stdout. #768 @@ -72,7 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * `warwulfconf print` which will print the used `warewulf.conf`. If there is no valid `warewulf.conf` a valid configuration is provided, prefilled with default values and an IP configuration derived from the network configuration of the host -- All paths can now be configured in `warewulf.conf`, check the paths section of of +- All paths can now be configured in `warewulf.conf`, check the paths section of of `wwctl --emptyconf genconfig warewulfconf print` for the available paths. - Added experimental dnsmasq support. - fix SIGSEV when build host has no network #907 @@ -118,7 +118,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - only write IPMI if write is true - Don't show an error if image files for containers can't be found. #933 - Make configured paths available in overlays as `.Path` #960 -- Introduced IPXESOURCE environment variable which allows to specify the path to iPXE +- Introduced IPXESOURCE environment variable which allows to specify the path to iPXE binaries not provided by warewulf - use distrubtion ipxe binaries in the rpm - Allow absolute iPXE paths in warewulf.conf @@ -126,13 +126,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Don't panic on malformed passwd #527 - Update iPXE building script - Send Info, Recv, Send, and Out messages to stdout; and others to stderr -- grub in combination can now be set as boot method with `warewulf.grubboot: true` in +- grub in combination can now be set as boot method with `warewulf.grubboot: true` in `warewulf.conf`. For unknown nodes `grub.efi` and `shim.efi` will be extracted from the host running warewulf. If node has container it will get these binaries from the container image. -- Added support for booting nodes with grub. Enable this behavior using - warewulf.grubboot: true in warewulf.conf. For unknown nodes, grub.efi - and shim.efi are extracted from the Warewulf host. If the booted node +- Added support for booting nodes with grub. Enable this behavior using + warewulf.grubboot: true in warewulf.conf. For unknown nodes, grub.efi + and shim.efi are extracted from the Warewulf host. If the booted node has a container these binaries are extracted from the container image. - overlays from different profiles for one node are now merged, overlays can be excluded with ~ prefix and in listings are listed as !{excluded_profile} #885 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 52cf73ef..25e708bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,13 +61,13 @@ TSC chair: Jonathon Anderson explain why the dependency is required. Any new dependency should be added to `LICENSE_DEPENDENCIES.md` by running `scripts/update-license-dependencies.sh`. - + ## Documentation - The [README](README.md) is a place to document critical information for new users of Warewulf. It should typically not change, but in the case where a change is necessary a PR may update it. - + - The [CHANGELOG](CHANGELOG.md) documents **functional** differences between versions of Warewulf, and should **not** read like a commit log. diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e43e4c2b..50705fe1 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -24,7 +24,7 @@ * TerranWorks * Jonathon Anderson @anderbubble * Brian Phan -* Jeffrey Frey @jtfrey +* Jeffrey Frey @jtfrey * Xu Yang(Jason Yang) @JasonYangShadow * Matt Jolly @Kangie * Arnaud LECOMTE diff --git a/Dockerfile b/Dockerfile index 60ef8912..a8c28e2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM opensuse/tumbleweed:latest as builder RUN zypper -n install --no-recommends git go1.18 libgpgme-devel &&\ - zypper -n install -t pattern devel_basis + zypper -n install -t pattern devel_basis # now build the warewulf COPY . /warewulf-src @@ -25,7 +25,7 @@ RUN cd /warewulf-src &&\ BASHCOMPDIR=/etc/warewulf/bash_completion.d/ \ FIREWALLDDIR=/usr/lib/firewalld/services \ WWCLIENTDIR=/warewulf &&\ - make lint &&\ + make lint &&\ make &&\ make install @@ -40,7 +40,7 @@ COPY --from=builder /var/lib/warewulf /var/lib/warewulf COPY --from=builder /usr/share/warewulf /usr/share/warewulf COPY --from=builder /usr/lib/systemd/system/warewulfd.service /container-scripts/warewulfd.service COPY --from=builder /etc/warewulf /etc/warewulf -COPY --from=builder /warewulf-src/container-scripts /container-scripts +COPY --from=builder /warewulf-src/container-scripts /container-scripts RUN zypper -n install \ cpio \ @@ -59,7 +59,7 @@ RUN zypper -n install \ zypper clean -a && \ systemctl enable dhcpd && \ systemctl enable tftp.socket &&\ - export DHCPDCONF=/etc/sysconfig/dhcpd; test -e $DHCPDCONF && \ + export DHCPDCONF=/etc/sysconfig/dhcpd; test -e $DHCPDCONF && \ sed -i 's/^DHCPD_INTERFACE=""/DHCPD_INTERFACE="ANY"/' $DHCPDCONF && \ sed -i 's/^DHCPD_RUN_CHROOTED="yes"/DHCPD_RUN_CHROOTED="no"/' $DHCPDCONF && \ WW4CONF=/etc/warewulf/warewulf.conf; test -e $WW4CONF && \ diff --git a/container-scripts/README.md b/container-scripts/README.md index 4d020015..b2cb9ccc 100644 --- a/container-scripts/README.md +++ b/container-scripts/README.md @@ -11,7 +11,7 @@ Additionally the `warewulf-container-manage.sh` script is included to manage the ## Prepare the host system -It is heavlily advised that the host has a static ipv4 address. To configure this on ALP +It is heavlily advised that the host has a static ipv4 address. To configure this on ALP you can use `nmcli` with the following command: ``` nmcli connection modify "$(nmcli -t device | awk -F: '/ethernet/{print$4;exit}')" \ @@ -39,7 +39,7 @@ Now the cluster can be managed with the `wwctl` command. ## Remove the Container -The container itself can be remove with the '''label uninstall''' which will remove the container and its scripts from the host. +The container itself can be remove with the '''label uninstall''' which will remove the container and its scripts from the host. ``` # podman container runlabel uninstall registry.opensuse.org/suse/alp/workloads/tumbleweed_containerfiles/suse/alp/workloads/warewlf:latest ``` diff --git a/container-scripts/config-warewulf b/container-scripts/config-warewulf index fd6254b2..a4dba4f7 100755 --- a/container-scripts/config-warewulf +++ b/container-scripts/config-warewulf @@ -26,7 +26,7 @@ network_address() { } echo "-- WW4 CONFIGURAION $* --" -# Make sure that a ip address was defined for out network so that +# Make sure that a ip address was defined for out network so that # we can configure dhcpd correctly IP4CIDR=`ip addr | awk '/scope global/ {print $2;exit}'` IP4=${IP4CIDR%/*} @@ -55,9 +55,9 @@ WW4CONF=/etc/warewulf/warewulf.conf if [ -e $WW4CONF ] ; then test -n $IP4 && sed -i 's/^ipaddr: EMPTY/ipaddr: '$IP4'/' $WW4CONF test -n $IP4MASK && sed -i 's/^netmask: EMPTY/netmask: '$IP4MASK'/' $WW4CONF - test -n $IP4NET && sed -i 's/^network: EMPTY/network: '$IP4NET'/' $WW4CONF - test -n $DYNSTART && sed -i 's/^ range start: EMPTY/ range start: '$DYNSTART'/' $WW4CONF - test -n $DYNEND && sed -i 's/^ range end: EMPTY/ range end: '$DYNEND'/' $WW4CONF + test -n $IP4NET && sed -i 's/^network: EMPTY/network: '$IP4NET'/' $WW4CONF + test -n $DYNSTART && sed -i 's/^ range start: EMPTY/ range start: '$DYNSTART'/' $WW4CONF + test -n $DYNEND && sed -i 's/^ range end: EMPTY/ range end: '$DYNEND'/' $WW4CONF cat << EOF ipaddr: $IP4 netmask: $IP4MASK diff --git a/container-scripts/label-install b/container-scripts/label-install index 470ff0e0..f39b9602 100755 --- a/container-scripts/label-install +++ b/container-scripts/label-install @@ -16,7 +16,7 @@ BASHCOMPLETION=/usr/share/bash_completion/completions/w* AUTHKEYDIR=/root/.ssh echo "LABEL INSTALL" -# ensure all scripts will be present on the host +# ensure all scripts will be present on the host copy_to_usr_local_bin() { SCRIPT=$1 BASEDIR=`dirname $SCRIPT` @@ -44,7 +44,7 @@ fi sync_dir() { DIR=$1 test -e /host/${DIR} || mkdir -pv /host/${DIR} - test -e /host/${DIR} && (rsync -au --ignore-existing ${DIR} `dirname /host/${DIR}`; echo "updating $DIR") + test -e /host/${DIR} && (rsync -au --ignore-existing ${DIR} `dirname /host/${DIR}`; echo "updating $DIR") } # For podman, cp a systemd unit for starting on boot @@ -68,7 +68,7 @@ sync_dir $CHROOTDIR sync_dir $WAREWULFCONF # bash completion -if [ ! -e /host/etc/bash_completion.d/warewulf ] ; then +if [ ! -e /host/etc/bash_completion.d/warewulf ] ; then mkdir -p /host/etc/bash_completion.d cp $BASHCOMPLETION /host/etc/bash_completion.d/ fi diff --git a/container-scripts/warewulf-container-manage.sh b/container-scripts/warewulf-container-manage.sh index abb94001..500f8390 100755 --- a/container-scripts/warewulf-container-manage.sh +++ b/container-scripts/warewulf-container-manage.sh @@ -54,7 +54,7 @@ DEBUG: run podman run container '${CONTAINER_NAME}' -bash +bash go with /bin/bash command inside '${CONTAINER_NAME}' logs diff --git a/container-scripts/warewulf.service b/container-scripts/warewulf.service index 41737835..c78296c7 100644 --- a/container-scripts/warewulf.service +++ b/container-scripts/warewulf.service @@ -14,7 +14,7 @@ RestartSec=1s TimeoutStopSec=70 #Environment=WAREWULF_IMAGE_PATH=registry.opensuse.org/suse/alp/workloads/tumbleweed_containerfiles/suse/alp/workloads/warewulf:latest Environment=WAREWULF_IMAGE_PATH=warewulf:latest -ExecStartPre=-/usr/bin/podman container runlabel --name warewulf install ${WAREWULF_IMAGE_PATH} +ExecStartPre=-/usr/bin/podman container runlabel --name warewulf install ${WAREWULF_IMAGE_PATH} ExecStart=/usr/bin/podman container runlabel --name warewulf run ${WAREWULF_IMAGE_PATH} ExecStop=/usr/bin/podman container stop warewulf ExecStopPost=/usr/bin/podman container rm warewulf diff --git a/etc/grub/grub.cfg.ww b/etc/grub/grub.cfg.ww index 7efbbe0a..dcb806a0 100644 --- a/etc/grub/grub.cfg.ww +++ b/etc/grub/grub.cfg.ww @@ -3,7 +3,7 @@ echo "Warewulf v4 now http booting grub: {{.Fqdn}} ({{.Hwaddr}})" echo "================================================================================" echo echo "Warewulf Controller: {{.Ipaddr}}" -echo +echo sleep 1 smbios --type1 --get-string 8 --set assetkey uri="(http,{{.Ipaddr}}:{{.Port}})/provision/${net_default_mac}?assetkey=${assetkey}" @@ -25,7 +25,7 @@ menuentry "Network boot node: {{.Id}}" --id ww4 { echo "Loading Container: {{.ContainerName}}" initrd $container $system $runtime boot - else + else echo "MESSAGE: This node seems to be unconfigured. Please have your system administrator add a" echo " configuration for this node with HW address: ${net_default_mac}" echo "" @@ -48,4 +48,4 @@ menuentry "System restart" { menuentry "System shutdown" { echo "System shutting down..." halt -} \ No newline at end of file +} diff --git a/internal/app/wwctl/node/list/main_test.go b/internal/app/wwctl/node/list/main_test.go index 850636f9..3a3fa5ef 100644 --- a/internal/app/wwctl/node/list/main_test.go +++ b/internal/app/wwctl/node/list/main_test.go @@ -25,8 +25,8 @@ func Test_List(t *testing.T) { name: "single node list", args: []string{}, wantErr: false, - stdout: ` NODE NAME PROFILES NETWORK - n01 default + stdout: ` NODE NAME PROFILES NETWORK + n01 default `, inDb: `WW_INTERNAL: 43 nodeprofiles: @@ -42,7 +42,7 @@ nodes: args: []string{}, wantErr: false, stdout: ` NODE NAME PROFILES NETWORK - n01 default + n01 default n02 default `, inDb: `WW_INTERNAL: 43 @@ -62,7 +62,7 @@ nodes: args: []string{"n01,n02"}, wantErr: false, stdout: ` NODE NAME PROFILES NETWORK - n01 default + n01 default n02 default `, inDb: `WW_INTERNAL: 43 @@ -82,7 +82,7 @@ nodes: args: []string{"n01,n03"}, wantErr: false, stdout: ` NODE NAME PROFILES NETWORK - n01 default + n01 default n03 default `, inDb: `WW_INTERNAL: 43 @@ -111,7 +111,7 @@ nodes: args: []string{"n01,"}, wantErr: false, stdout: ` NODE NAME PROFILES NETWORK - n01 default + n01 default `, inDb: `WW_INTERNAL: 43 nodeprofiles: diff --git a/internal/pkg/api/routes/v1/routes.proto b/internal/pkg/api/routes/v1/routes.proto index 8684b5e8..1c5b6ef7 100644 --- a/internal/pkg/api/routes/v1/routes.proto +++ b/internal/pkg/api/routes/v1/routes.proto @@ -148,7 +148,7 @@ message ProfileList { } // NodeAddParameter contains all input for adding a node to be managed by -// Warewulf. Only adds nodes if the hash matches the actual hash of the +// Warewulf. Only adds nodes if the hash matches the actual hash of the // configuration. message NodeAddParameter { string nodeConfYaml = 1; @@ -165,7 +165,7 @@ message NodeYaml { } // NodeDeleteParameter contains input for removing nodes from Warewulf -// management. If the given hash differs with the actual hash of the +// management. If the given hash differs with the actual hash of the // configuration, no node is deleted. The force option allows the deletion // of nodes with a correct hash. message NodeDeleteParameter { @@ -323,4 +323,4 @@ service WWApi { get: "/version" }; } -} \ No newline at end of file +} diff --git a/overlays/host/etc/dhcp/dhcpd.conf.ww b/overlays/host/etc/dhcp/dhcpd.conf.ww index 2ffccb3c..b95d8200 100644 --- a/overlays/host/etc/dhcp/dhcpd.conf.ww +++ b/overlays/host/etc/dhcp/dhcpd.conf.ww @@ -44,7 +44,7 @@ if exists user-class and option user-class = "iPXE" { {{range $type,$name := $.Tftp.IpxeBinaries }} if option architecture-type = {{ $type }} { filename "/warewulf/{{ basename $name }}"; - } + } {{- end }}{{/* range IpxeBinaries */}} } {{- end }}{{/* BootMethod */}} diff --git a/userdocs/contents/boot-management.rst b/userdocs/contents/boot-management.rst index 62793f0e..1bfa83e6 100644 --- a/userdocs/contents/boot-management.rst +++ b/userdocs/contents/boot-management.rst @@ -106,7 +106,7 @@ booted by GRUB. .. code-block:: console - # wwctl container shell leap15.5 + # wwctl container shell leap15.5 [leap15.5] Warewulf> zypper install grub2 shim # wwctl container shell rocky9 diff --git a/userdocs/contents/dnsmasq.rst b/userdocs/contents/dnsmasq.rst index e1b97486..ef546211 100644 --- a/userdocs/contents/dnsmasq.rst +++ b/userdocs/contents/dnsmasq.rst @@ -5,12 +5,12 @@ Dnsmasq Usage ===== -As experimental feature its possible to use `dnsmasq` instead of the ISC `dhcpd` server in combination -with a `tFTP` server. The `dnsmasq` service is then acting as `dhcp` and `tftp` server. In order to keep -the file `/etc/dnsmasq.d/ww4-hosts.conf` is created and must be included in the main `dnsmasq.conf` via +As experimental feature its possible to use `dnsmasq` instead of the ISC `dhcpd` server in combination +with a `tFTP` server. The `dnsmasq` service is then acting as `dhcp` and `tftp` server. In order to keep +the file `/etc/dnsmasq.d/ww4-hosts.conf` is created and must be included in the main `dnsmasq.conf` via the `conf-dir=/etc/dnsmasq.d` option. -Addionally in the configuration file `warewulf.conf` in the sections `dhcp` and `tftp` the systemd name of +Addionally in the configuration file `warewulf.conf` in the sections `dhcp` and `tftp` the systemd name of dnsmasq must set for the option `systemd name`. After this configuration steps its recommended to rebuild the host overlay with `wwctl overlay build -H` and diff --git a/userdocs/contents/example-templates.rst b/userdocs/contents/example-templates.rst index b04f176b..5188346a 100644 --- a/userdocs/contents/example-templates.rst +++ b/userdocs/contents/example-templates.rst @@ -7,9 +7,9 @@ The examples directory contains some useful examples for day to day cluster admn Genders ======= -The file `genders.ww` can be placed as `/etc/genders.ww` which will create a genders database which containts all nodes with their profile as key. Also for every user defined 'key' the 'tah' will be added. +The file `genders.ww` can be placed as `/etc/genders.ww` which will create a genders database which containts all nodes with their profile as key. Also for every user defined 'key' the 'tah' will be added. -.. Note: +.. Note: A arbitrary tag with a key can be added to a node with diff --git a/userdocs/contents/provisioning.rst b/userdocs/contents/provisioning.rst index c1ba2c14..371ac484 100644 --- a/userdocs/contents/provisioning.rst +++ b/userdocs/contents/provisioning.rst @@ -82,12 +82,12 @@ through the following command : # wwctl node status NODENAME STAGE SENT LASTSEEN (s) ================================================================================ - c001 RUNTIME_OVERLAY generic.img.gz 16 + c001 RUNTIME_OVERLAY generic.img.gz 16 For each node, there is 4 different stages : -* **IPXE** +* **IPXE** * **KERNEL** * **SYSTEM_OVERLAY** * **RUNTIME_OVERLAY** @@ -98,4 +98,4 @@ by the wwclient Thanks to ``wwctl node status`` command, you can also check your communication between the warewulf client and server. Depending on your warewulf version, you should see a reset of the last seen counter every 1 minute due to the -warewulf runtime overlay update. \ No newline at end of file +warewulf runtime overlay update. diff --git a/userdocs/contents/security.rst b/userdocs/contents/security.rst index b0bb42a8..a53d5dac 100644 --- a/userdocs/contents/security.rst +++ b/userdocs/contents/security.rst @@ -77,9 +77,9 @@ In Warewulf there are ways multiple to secure the provisioning process: provision and communicate with requests from that system matching that asset tag. -#. When the nodes are booted via `shim` and `grub` Secure Boot can be - enabled. This means that the nodes only boot the kernel which is - provided by the distributor and also custom complied modules can't +#. When the nodes are booted via `shim` and `grub` Secure Boot can be + enabled. This means that the nodes only boot the kernel which is + provided by the distributor and also custom complied modules can't be loaded. Summary diff --git a/userdocs/contents/templating.rst b/userdocs/contents/templating.rst index 98114144..6fa4ee4e 100644 --- a/userdocs/contents/templating.rst +++ b/userdocs/contents/templating.rst @@ -216,7 +216,7 @@ A given string can be split into substrings. Node specific files ------------------- -Sometimes there is the need to have specific files for every node +Sometimes there is the need to have specific files for every node which can't be generated by a template. You can include these files with following template: diff --git a/userdocs/contributing/debugging.rst b/userdocs/contributing/debugging.rst index d32affe0..300baeb8 100644 --- a/userdocs/contributing/debugging.rst +++ b/userdocs/contributing/debugging.rst @@ -16,7 +16,7 @@ vet`` on the full codebase. .. code-block:: console $ make vet - + Running the full test suite =========================== diff --git a/userdocs/contributing/development-environment-vagrant.rst b/userdocs/contributing/development-environment-vagrant.rst index 4eef2a75..a2445fd3 100644 --- a/userdocs/contributing/development-environment-vagrant.rst +++ b/userdocs/contributing/development-environment-vagrant.rst @@ -132,9 +132,9 @@ Vagrantfile netmask: "255.255.255.0", libvirt__network_name: "pxe", libvirt__dhcp_enabled: false - + head.vm.synced_folder ".", "/vagrant", type: "nfs", nfs_version: 4, nfs_udp: false - + head.vm.provider :libvirt do |libvirt| libvirt.cpu_mode = "host-passthrough" libvirt.memory = '8192' @@ -176,12 +176,12 @@ Vagrantfile WWCLIENTDIR=/warewulf make all make install - + systemctl disable --now firewalld sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config SHELL - + head.vm.provision "reload" head.vm.provision "shell", inline: <<-SHELL @@ -238,7 +238,7 @@ Vagrantfile node.vm.hostname = "n000#{i}" node.vm.network "private_network", libvirt__network_name: "pxe" - + node.vm.provider :libvirt do |compute| compute.cpu_mode = 'host-passthrough' compute.memory = '8192' diff --git a/userdocs/index.rst b/userdocs/index.rst index 9d7a4b8c..cf0f642d 100644 --- a/userdocs/index.rst +++ b/userdocs/index.rst @@ -54,7 +54,7 @@ Welcome to the Warewulf User Guide! .. toctree:: :maxdepth: 2 :caption: Reference - :glob: + :glob: reference/* diff --git a/userdocs/quickstart/debian12.rst b/userdocs/quickstart/debian12.rst index 51800c3c..ad184339 100644 --- a/userdocs/quickstart/debian12.rst +++ b/userdocs/quickstart/debian12.rst @@ -1,5 +1,5 @@ ===================================== -Debian 12 Quickstart +Debian 12 Quickstart ===================================== @@ -13,8 +13,8 @@ Install the basic services .. note:: - If you get an error message concerning *isc-dhcp-server.service* you - probably need to configure the network intarface that isc-dhcp-server + If you get an error message concerning *isc-dhcp-server.service* you + probably need to configure the network intarface that isc-dhcp-server will listen to. Run ``sudo dpkg-reconfigure isc-dhcp-server`` and enter the name of your cluster's private network interface (e.g. enp2s0). After that, you might also need to run ``sudo systemctl enable isc-dhcp-server``. @@ -25,9 +25,9 @@ Install Warewulf and dependencies .. code-block:: bash - + sudo apt install build-essential curl unzip - + sudo apt install git golang libnfs-utils libgpgme-dev libassuan-dev @@ -94,7 +94,7 @@ address of your cluster's private network interface: export options: ro,sync,no_root_squash mount options: defaults mount: false - systemd name: nfs-server + systemd name: nfs-server .. note:: @@ -155,7 +155,7 @@ the ``default`` node profile: .. code-block:: bash sudo wwctl profile set --yes --container debian-12.0 "default" - + Next we set some default networking configurations for the first ethernet device. On modern Linux distributions, the name of the device @@ -200,7 +200,7 @@ typing the following: sudo wwctl node list -a n0000.cluster -To make node changes effective, it is a good practice to update warewulf +To make node changes effective, it is a good practice to update warewulf overlays with the following command: .. code-block:: bash