Merge branch 'main' of github.com:hpcng/warewulf into main
This commit is contained in:
1
Makefile
1
Makefile
@@ -62,6 +62,7 @@ files: all
|
||||
cp wwclient $(DESTDIR)/var/warewulf/overlays/system/default/warewulf/bin/
|
||||
cp wwctl $(DESTDIR)/usr/bin/
|
||||
mkdir -p $(DESTDIR)/usr/lib/systemd/system
|
||||
install -c -m 0644 include/firewalld/warewulf.xml $(DESTDIR)/usr/lib/firewalld/services
|
||||
install -c -m 0644 include/systemd/warewulfd.service $(DESTDIR)/usr/lib/systemd/system
|
||||
# cp -r tftpboot/* /var/lib/tftpboot/warewulf/ipxe/
|
||||
# restorecon -r /var/lib/tftpboot/warewulf
|
||||
|
||||
@@ -9,28 +9,24 @@ Warewulf is an open source project, meaning we have the challenge of limited res
|
||||
|
||||
This is a huge endeavor, and your help would be greatly appreciated! Post to online communities about Warewulf, and request that your distribution vendor, service provider, and system administrators include Warewulf for you!
|
||||
|
||||
### Warewulf Google Group
|
||||
|
||||
If you have been using Warewulf and having good luck with it, join our [Google Group](https://groups.google.com/a/ctrliq.com/forum/#!forum/warewulf) and help out other users!
|
||||
|
||||
### Warewulf on Slack
|
||||
|
||||
Many of our users come to Slack for quick help with an issue. You can find us at [HPCng](https://join.slack.com/t/hpcng/shared_invite/zt-k9atb2dj-rnlPjSh5Os3Ks6vlDEOyAA).
|
||||
|
||||
## Raise an Issue
|
||||
|
||||
For general bugs/issues, you can open an issue [at the GitHub repo](https://github.com/ctrliq/warewulf/issues/new). However, if you find a security related issue/problem, please email Ctrl IQ directly at [security@ctrliq.com](mailto:security@ctrliq.com). More information about the Ctrl IQ security policies and procedures can be found [here](https://ctrliq.com/warewulf/security-policy).
|
||||
For general bugs/issues, you can open an issue [at the GitHub repo](https://github.com/hpcng/warewulf/issues/new). However, if you find a security related issue/problem, please email HPCng directly at [security@hpcng.org](mailto:security@hpcng.org). More information about the HPCng security policies and procedures can be found [here](https://hpcng.org/security-policy).
|
||||
|
||||
## Contribute to the code
|
||||
|
||||
We use the traditional [GitHub Flow](https://guides.github.com/introduction/flow) to develop. This means that you fork the main repo, create a new branch to make changes, and submit a pull request (PR) to the master branch.
|
||||
|
||||
Check out our official [CONTRIBUTING.md](https://github.com/ctrliq/warewulf/blob/master/CONTRIBUTING.md) document, which also includes a [code of conduct](https://github.com/ctrliq/warewulf/blob/master/CONTRIBUTING.md#code-of-conduct).
|
||||
Check out our official [CONTRIBUTING.md](https://github.com/hpcng/warewulf/blob/master/CONTRIBUTING.md) document, which also includes a [code of conduct](https://github.com/hpcng/warewulf/blob/master/CONTRIBUTING.md#code-of-conduct).
|
||||
|
||||
|
||||
### Step 1. Fork the repo
|
||||
|
||||
To contribute to Warewulf, you should obtain a GitHub account and fork the [Warewulf](https://github.com/ctrliq/warewulf) repository. Once forked, clone your fork of the repo to your computer. (Obviously, you should replace `your-username` with your GitHub username.)
|
||||
To contribute to Warewulf, you should obtain a GitHub account and fork the [Warewulf](https://github.com/hpcng/warewulf) repository. Once forked, clone your fork of the repo to your computer. (Obviously, you should replace `your-username` with your GitHub username.)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-username/warewulf.git
|
||||
@@ -86,14 +82,14 @@ git status
|
||||
```
|
||||
|
||||
### Step 5. Submit a Pull Request
|
||||
Once you have pushed your branch, then you can go to your fork (in the web GUI on GitHub) and [submit a Pull Request](https://help.github.com/articles/creating-a-pull-request). Regardless of the name of your branch, your PR should be submitted to the Ctrl IQ `master` branch. Submitting your PR will open a conversation thread for the maintainers of Warewulf to discuss your contribution. At this time, the continuous integration that is linked with the code base will also be executed. If there is an issue, or if the maintainers suggest changes, you can continue to push commits to your branch and they will update the Pull Request.
|
||||
Once you have pushed your branch, then you can go to your fork (in the web GUI on GitHub) and [submit a Pull Request](https://help.github.com/articles/creating-a-pull-request). Regardless of the name of your branch, your PR should be submitted to the `main` branch. Submitting your PR will open a conversation thread for the maintainers of Warewulf to discuss your contribution. At this time, the continuous integration that is linked with the code base will also be executed. If there is an issue, or if the maintainers suggest changes, you can continue to push commits to your branch and they will update the Pull Request.
|
||||
|
||||
### Step 6. Keep your branch in sync
|
||||
Cloning the repo will create an exact copy of the Warewulf repository at that moment. As you work, your branch may become out of date as others merge changesinto the upstream master. In the event that you need to update a branch, you will need to follow the next steps:
|
||||
|
||||
```bash
|
||||
# add a new remote named "upstream"
|
||||
git remote add upstream https://github.com/ctrliq/warewulf.git
|
||||
git remote add upstream https://github.com/hpcng/warewulf.git
|
||||
# or another branch to be updated
|
||||
git checkout master
|
||||
git pull upstream master
|
||||
|
||||
@@ -84,7 +84,7 @@ sudo yum install golang
|
||||
sudo yum install nfs-utils
|
||||
|
||||
# Install Warewulf and dependencies
|
||||
git clone https://github.com/ctrliq/warewulf.git
|
||||
git clone https://github.com/hpcng/warewulf.git
|
||||
cd warewulf
|
||||
|
||||
make all
|
||||
|
||||
@@ -60,7 +60,7 @@ sudo yum install golang
|
||||
sudo yum install nfs-utils
|
||||
|
||||
# Install Warewulf and dependencies
|
||||
git clone https://github.com/ctrliq/warewulf.git
|
||||
git clone https://github.com/hpcng/warewulf.git
|
||||
cd warewulf
|
||||
|
||||
make all
|
||||
|
||||
@@ -5,18 +5,8 @@ title: Documentation
|
||||
|
||||
We (like almost all open source software providers) have a documentation dilemma… We tend to focus on the code features and functionality before working on documentation. And there is very good reason for this: we want to share the love so nobody feels left out!
|
||||
|
||||
You can contribute to the documentation by [raising an issue to suggest an improvement](https://github.com/ctrliq/warewulf-docs/issues/new) or by sending a [pull request](https://github.com/ctrliq/warewulf-docs/compare) on [our repository for documentation](https://github.com/ctrliq/warewulf-docs).
|
||||
You can contribute to the documentation by [raising an issue to suggest an improvement](https://github.com/hpcng/warewulf/issues/new) or by sending a [pull request](https://github.com/hpcng/warewulf/compare) on [our repository](https://github.com/hpcng/warewulf).
|
||||
|
||||
The current documentation is generated with:
|
||||
|
||||
- [reStructured Text (RST)](http://docutils.sourceforge.net/rst.html) and [ReadTheDocs](https://readthedocs.org).
|
||||
|
||||
Other dependencies include:
|
||||
|
||||
- [Python 3.5 or newer](https://www.python.org/downloads)
|
||||
|
||||
- [Sphinx](https://pypi.org/project/Sphinx)
|
||||
|
||||
More information about contributing to the documentation, instructions on how to install the dependencies, and how to generate the files can be obtained [here](https://github.com/ctrliq/warewulf-docs/blob/master/README.md).
|
||||
The current documentation is generated with [Docusaurus](https://v2.docusaurus.io/docs/).
|
||||
|
||||
For more information on using Git and GitHub to create a pull request suggesting additions and edits to the docs, see the [section on contributing to the code](contributing). The procedure is identical for contributions to the documentation and the code base.
|
||||
|
||||
@@ -9,15 +9,22 @@ title: Quick Start for RHEL and CentOS 7
|
||||
$ sudo yum install epel-release
|
||||
$ sudo yum install golang tftp-server dhcp nfs-utils
|
||||
|
||||
$ sudo systemctl stop firewalld
|
||||
$ sudo systemctl disable firewalld
|
||||
|
||||
$ git clone https://github.com/ctrliq/warewulf.git
|
||||
$ git clone https://github.com/hpcng/warewulf.git
|
||||
$ cd warewulf
|
||||
$ make all
|
||||
$ sudo make install
|
||||
```
|
||||
|
||||
## Configure firewalld
|
||||
|
||||
Restart firewalld to register the added service file, add the service to the default zone, and reload.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart firewalld
|
||||
$ sudo firewall-cmd --permanent --add-service warewulf
|
||||
$ sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
## Configure the controller
|
||||
|
||||
Edit the file `/etc/warewulf/warewulf.conf` and ensure that you've set the appropriate configuration paramaters. Here are some of the defaults for reference:
|
||||
|
||||
@@ -10,15 +10,22 @@ $ sudo dnf groupinstall "Development Tools"
|
||||
$ sudo dnf install epel-release
|
||||
$ sudo dnf install golang tftp-server dhcp-server nfs-utils
|
||||
|
||||
$ sudo systemctl stop firewalld
|
||||
$ sudo systemctl disable firewalld
|
||||
|
||||
$ git clone https://github.com/ctrliq/warewulf.git
|
||||
$ git clone https://github.com/hpcng/warewulf.git
|
||||
$ cd warewulf
|
||||
$ make all
|
||||
$ sudo make install
|
||||
```
|
||||
|
||||
## Configure firewalld
|
||||
|
||||
Restart firewalld to register the added service file, add the service to the default zone, and reload.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart firewalld
|
||||
$ sudo firewall-cmd --permanent --add-service warewulf
|
||||
$ sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
## Configure the controller
|
||||
|
||||
Edit the file ``/etc/warewulf/warewulf.conf`` and ensure that you've set the
|
||||
|
||||
@@ -24,4 +24,4 @@ Compatible with RHEL, CentOS, Oracle, and Rocky Linux
|
||||
|
||||
---
|
||||
|
||||
Ctrl IQ packages are signed with the Ctrl IQ release key, [E97E 8F85 D71A B47F](https://repo.ctrliq.com/gpg).
|
||||
Packages are signed with the Ctrl IQ release key, [E97E 8F85 D71A B47F](https://repo.ctrliq.com/gpg).
|
||||
|
||||
@@ -19,9 +19,9 @@ if exists user-class and option user-class = "iPXE" {
|
||||
filename "http://{{$.Ipaddr}}:9873/ipxe/${mac:hexhyp}";
|
||||
} else {
|
||||
if option architecture-type = 00:0B {
|
||||
filename "/warewulf/ipxe/bin-arm64-efi/snp.efi";
|
||||
filename "/warewulf/arm64.efi";
|
||||
} elsif option architecture-type = 00:0A {
|
||||
filename "/warewulf/ipxe/bin-arm32-efi/placeholder.efi";
|
||||
filename "/warewulf/arm32.efi";
|
||||
} elsif option architecture-type = 00:09 {
|
||||
filename "/warewulf/x86.efi";
|
||||
} elsif option architecture-type = 00:07 {
|
||||
|
||||
@@ -19,9 +19,9 @@ if exists user-class and option user-class = "iPXE" {
|
||||
filename "http://{{$.Ipaddr}}:9873/ipxe/${mac:hexhyp}";
|
||||
} else {
|
||||
if option architecture-type = 00:0B {
|
||||
filename "/warewulf/ipxe/bin-arm64-efi/snp.efi";
|
||||
filename "/warewulf/arm64.efi";
|
||||
} elsif option architecture-type = 00:0A {
|
||||
filename "/warewulf/ipxe/bin-arm32-efi/placeholder.efi";
|
||||
filename "/warewulf/arm32.efi";
|
||||
} elsif option architecture-type = 00:09 {
|
||||
filename "/warewulf/x86.efi";
|
||||
} elsif option architecture-type = 00:07 {
|
||||
|
||||
6
include/firewalld/warewulf.xml
Normal file
6
include/firewalld/warewulf.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>warewulf</short>
|
||||
<description>Warewulf is a stateless and diskless container operating system provisioning system for large clusters of bare metal and/or virtual systems.</description>
|
||||
<port protocol="tcp" port="9873"/>
|
||||
</service>
|
||||
@@ -1,6 +1,6 @@
|
||||
[Unit]
|
||||
Description=Warewulf cluster management daemon
|
||||
Documentation=https://docs.ctrliq.com/warewulf
|
||||
Documentation=https://hpcng.github.io/warewulf
|
||||
After=network-online.target
|
||||
AssertFileIsExecutable=/usr/bin/wwctl
|
||||
|
||||
|
||||
0
internal/pkg/staticfiles/build.sh
Normal file → Executable file
0
internal/pkg/staticfiles/build.sh
Normal file → Executable file
BIN
internal/pkg/staticfiles/files/tftp/arm64.efi
Normal file
BIN
internal/pkg/staticfiles/files/tftp/arm64.efi
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -40,6 +40,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%attr(0755, root, warewulf) %dir /etc/warewulf/
|
||||
%config(noreplace) /etc/warewulf/*
|
||||
/usr/bin/wwctl
|
||||
/usr/lib/firewalld/services/warewulf.xml
|
||||
/usr/lib/systemd/system/warewulfd.service
|
||||
/var/warewulf
|
||||
|
||||
|
||||
Reference in New Issue
Block a user