Merge branch 'main' of github.com:hpcng/warewulf into main

This commit is contained in:
Gregory Kurtzer
2021-04-23 20:34:10 -07:00
19 changed files with 57 additions and 43 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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:

View File

@@ -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

View File

@@ -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).

View File

@@ -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 {

View File

@@ -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 {

View 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>

View File

@@ -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
View File

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -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