Remove whitespace damage
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -33,7 +33,7 @@ body:
|
||||
```console
|
||||
$ wwctl <command1>
|
||||
$ wwctl <command2>
|
||||
$ 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!
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@@ -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!
|
||||
|
||||
8
.github/actions/generate/action.yml
vendored
8
.github/actions/generate/action.yml
vendored
@@ -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:
|
||||
|
||||
2
.github/workflows/changelog-enforcer.yml
vendored
2
.github/workflows/changelog-enforcer.yml
vendored
@@ -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:
|
||||
|
||||
6
.github/workflows/nightly.yml
vendored
6
.github/workflows/nightly.yml
vendored
@@ -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 }}
|
||||
event-id: ${{ needs.generate.outputs.release-id }}
|
||||
|
||||
16
CHANGELOG.md
16
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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
* TerranWorks <tdunn3@uco.edu>
|
||||
* Jonathon Anderson <janderson@ciq.com> @anderbubble
|
||||
* Brian Phan <bphan@ciq.com>
|
||||
* Jeffrey Frey @jtfrey
|
||||
* Jeffrey Frey @jtfrey
|
||||
* Xu Yang(Jason Yang) <jasonyangshadow@gmail.com> @JasonYangShadow
|
||||
* Matt Jolly <Kangie@footclan.ninja> @Kangie
|
||||
* Arnaud LECOMTE <contact@arnaud-lcm.com>
|
||||
|
||||
@@ -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 && \
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -54,7 +54,7 @@ DEBUG:
|
||||
run
|
||||
podman run container '${CONTAINER_NAME}'
|
||||
|
||||
bash
|
||||
bash
|
||||
go with /bin/bash command inside '${CONTAINER_NAME}'
|
||||
|
||||
logs
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 */}}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
warewulf runtime overlay update.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ vet`` on the full codebase.
|
||||
.. code-block:: console
|
||||
|
||||
$ make vet
|
||||
|
||||
|
||||
|
||||
Running the full test suite
|
||||
===========================
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -54,7 +54,7 @@ Welcome to the Warewulf User Guide!
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Reference
|
||||
:glob:
|
||||
:glob:
|
||||
|
||||
reference/*
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user