Compare commits

..

41 commits

Author SHA1 Message Date
Python Maint
5d6134befb Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:59:09 +02:00
Python Maint
5e910170d6 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 15:19:49 +02:00
Tony Asleson
3dfee18d28 Move to tmt test
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2383084

Signed-off-by: Tony Asleson <tasleson@redhat.com>
2025-07-24 21:59:54 -05:00
Python Maint
63bde938da Rebuilt for Python 3.14 2025-06-09 22:37:50 +02:00
Tony Asleson
b15ea2340e Use pyproject macros
Needed to add some of the runtime dependencies to build for the
import checks.

Signed-off-by: Tony Asleson <tasleson@redhat.com>
2025-06-09 13:03:38 -05:00
Python Maint
c020a9c305 Rebuilt for Python 3.14 2025-06-02 20:53:06 +02:00
Fedora Release Engineering
a004f49bea Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 12:21:43 +00:00
Fedora Release Engineering
b849ff3197 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 07:04:03 +00:00
Python Maint
910eb4709b Rebuilt for Python 3.13 2024-06-07 09:11:47 +02:00
Tony Asleson
12807aa48a Update to version 0.10.4
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2024-03-12 15:40:05 -05:00
Fedora Release Engineering
c13d4e9a25 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 05:22:53 +00:00
Tony Asleson
d57637c3a8 Update to version 0.10.3
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2023-12-12 09:16:01 -06:00
Tony Asleson
35dda3a4d1 Migrated to SPDX license
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2023-07-21 09:33:57 -05:00
Python Maint
a6e8111420 Rebuilt for Python 3.12 2023-06-26 13:59:23 +02:00
Tony Asleson
58e8aa09ea Update to version 0.10.2
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2023-06-24 12:06:33 -05:00
Tony Asleson
7a77963ca8 Update to version 0.10.1
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2023-06-15 16:33:10 -05:00
Python Maint
a27b1af049 Rebuilt for Python 3.12 2023-06-13 20:59:34 +02:00
Fedora Release Engineering
da03156359 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 04:39:14 +00:00
Fedora Release Engineering
3ea1df8553 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 10:05:22 +00:00
Python Maint
3f11aaba73 Rebuilt for Python 3.11 2022-06-13 15:39:00 +02:00
Fedora Release Engineering
3ef5914de0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 02:18:10 +00:00
Fedora Release Engineering
f3d845825f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 18:52:59 +00:00
Python Maint
e1f60daadc Rebuilt for Python 3.10 2021-06-04 21:16:18 +02:00
Tony Asleson
96eb81b6f1 Update to version 0.10.0
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2021-04-06 15:45:59 -05:00
Zbigniew Jędrzejewski-Szmek
9a6468fff0 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:12:11 +01:00
Fedora Release Engineering
9fed749d8e - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 21:36:41 +00:00
Tony Asleson
706d98cbc6 Enable CI tests using the Standard Test Interface
Adding initial set of basic functionality tests for targetd
according to the Standard Test Interface.

Ref. https://docs.fedoraproject.org/en-US/ci

Signed-off-by: Tony Asleson <tasleson@redhat.com>
2020-12-02 10:35:22 -06:00
Tony Asleson
4461102e42 Update to version 0.9.1
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2020-12-01 10:42:52 -06:00
Tony Asleson
540e1672e4 Update to version 0.9.0
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2020-09-10 16:11:06 -05:00
Fedora Release Engineering
443ea8ab7a - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 12:06:05 +00:00
Tony Asleson
47a3b88d64 Update to version 0.8.12
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2020-07-15 08:22:39 -05:00
Miro Hrončok
9f796a0d81 Rebuilt for Python 3.9 2020-05-26 03:51:38 +02:00
Tony Asleson
d8cabd2e76 Update to version 0.8.11
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2020-02-25 16:26:00 -06:00
Fedora Release Engineering
dddae5e1e9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 01:05:28 +00:00
Tony Asleson
5de190b6ef Update to version 0.8.9
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2019-11-25 15:45:18 -06:00
Mohan Boddu
af89d4f3a0 Unretirement for https://pagure.io/releng/issue/9049
Revert "Dependency has been deprecated, no updates planned"

This reverts commit 518ff1f9df.
2019-11-25 15:21:31 -05:00
Tony Asleson
518ff1f9df Dependency has been deprecated, no updates planned 2018-06-20 17:19:25 -05:00
Miro Hrončok
db2371f053 Rebuilt for Python 3.7 2018-06-19 11:28:18 +02:00
Fedora Release Engineering
4e2992b92d - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 18:30:17 +00:00
Fedora Release Engineering
820e4db0d7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 19:58:16 +00:00
Tony Asleson
cdd2d29bdf Correct dependencies
Signed-off-by: Tony Asleson <tasleson@redhat.com>
2017-05-03 15:10:38 -05:00
8 changed files with 288 additions and 23 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

11
.gitignore vendored
View file

@ -14,3 +14,14 @@
/targetd-0.8.3.tar.gz
/targetd-0.8.5.tar.gz
/targetd-0.8.6.tar.gz
/targetd-0.8.9.tar.gz
/targetd-0.8.10.tar.gz
/targetd-0.8.11.tar.gz
/targetd-0.8.12.tar.gz
/targetd-0.9.0.tar.gz
/targetd-0.9.1.tar.gz
/targetd-0.10.0.tar.gz
/targetd-0.10.1.tar.gz
/targetd-0.10.2.tar.gz
/targetd-0.10.3.tar.gz
/targetd-0.10.4.tar.gz

View file

@ -0,0 +1,23 @@
diff --git a/targetd/block.py b/targetd/block.py
index b7b03f0..edd47ec 100644
--- a/targetd/block.py
+++ b/targetd/block.py
@@ -26,10 +26,17 @@ from rtslib_fb import (
LUN,
MappedLUN,
RTSLibError,
- RTSLibNotInCFS,
NodeACLGroup,
)
+# This commit https://github.com/open-iscsi/rtslib-fb/commit/fdd69b1984bac6a6c3f08890bc22267b848a26ac
+# renamed a number of error classes which causes us to do the following
+try:
+ from rtslib_fb import RTSLibNotInCFS
+except ImportError:
+ from rtslib_fb import RTSLibNotInCFSError as RTSLibNotInCFS
+
+
from targetd.backends import lvm, zfs
from targetd.main import TargetdError
from targetd.utils import ignored, name_check

58
plans/ci_test.sh Executable file
View file

@ -0,0 +1,58 @@
#!/usr/bin/bash
function _chk
{
echo "executing: $@"
eval "$@"
local rc=$?
if [ $rc -ne 0 ]; then
echo "Failed: $rc"
# Dump log for targetd
echo "journalctl -u targetd"
journalctl -u targetd
# On failure dump the audit logs
echo "ausearch ..."
ausearch -i -m avc,user_avc,selinux_err,user_selinux_err -ts recent
exit 1
fi
}
if [ "$#" -ne 1 ]; then
echo "Usage: $0 source directory"
exit 1
fi
SOURCE_DIR="$1"
BASE=$PWD
# TODO REMOVE THIS WHEN RAWHIDE PICKS UP
# https://github.com/fedora-selinux/selinux-policy-contrib/pull/334
_chk setenforce 0
# Run the upstream setup script
_chk cd $SOURCE_DIR
_chk ./test/test.sh setup
# Pick up new changes from setup
_chk systemctl restart targetd
# Make sure nfs stuff is ok
_chk systemctl start rpcbind
_chk systemctl start nfs-server
# Try stopping the firewall, but don't fail if this fails
systemctl stop firewalld
# Give the service a moment to start up.
_chk sleep 10
# See if the daemon is up and accepting ...
netstat -anp | grep LISTEN | grep 18700
# Go back to start directory and run unit test.
_chk cd $BASE
SRC="$SOURCE_DIR"
_chk TARGETD_UT_CERTFILE=/etc/target/targetd_cert.pem PYTHONPATH=$SRC python3 $SRC/test/targetd_test.py -v
exit 0

50
plans/tests.fmf Normal file
View file

@ -0,0 +1,50 @@
summary: targetd gating tests
provision:
how: virtual
image: fedora
prepare:
how: install
package:
- targetd
- util-linux
- lvm2
- procps-ng
- coreutils
- openssl
- btrfs-progs
- audit
- python3-requests
- net-tools-2.0
- nfs-utils
discover:
how: shell
dist-git-source: true
dist-git-install-builddeps: true
tests:
- name: upstream test suite
test: |
set -x
if [ -z "$PKG_VER" ]; then
PKG_VER=`rpmspec -q --srpm --qf "%{version}" targetd.spec`
fi
if [ -z "$PKG_VER" ]; then
echo "Error: Unable to extract package version"
exit 1
fi
export SRC="$TMT_SOURCE_DIR/targetd-${PKG_VER}"
echo "Source is located: $SRC"
echo "We are $PWD"
ls -lh
echo "TMT_SOURCE_DIR is ($TMT_SOURCE_DIR)"
./plans/ci_test.sh "$SRC"
execute:
- how: tmt

View file

@ -1 +1 @@
SHA512 (targetd-0.8.6.tar.gz) = 91c2c05545b89f330f63454620a9b812e54f67d760c135141cdd4be7ef364a537896ad6c3af1f3651f120ae88bc5626a7dd835217cc30ac568d9248166fcf096
SHA512 (targetd-0.10.4.tar.gz) = 3394b0ee2226a4fb7e5f93f1c4e3f7aeeb5a023351b8be3d33f7d5201da4ca4c906cacb437327ceb2fe81c509f654f2fc142457896f8fc43188de8a62af6dcb8

View file

@ -1,21 +1,17 @@
Name: targetd
License: GPLv3
Group: System Environment/Libraries
License: GPL-3.0-only
Summary: Service to make storage remotely configurable
Version: 0.8.6
Release: 2%{?dist}
Version: 0.10.4
Release: 10%{?dist}
URL: https://github.com/open-iscsi/targetd
Source: https://github.com/open-iscsi/targetd/releases/download/v%{version}/targetd-%{version}.tar.gz
Source: https://github.com/open-iscsi/targetd/archive/v%{version}/targetd-%{version}.tar.gz
Source1: targetd.service
Source2: targetd.yaml
Patch1: 0001_rtslib_fb_api_fix.patch
BuildArch: noarch
BuildRequires: systemd, python3-devel
BuildRequires: systemd-rpm-macros
BuildRequires: python3-devel python3-gobject-base python3-blockdev libblockdev-lvm
Requires: python3-PyYAML python3-setproctitle python3-rtslib target-restore
Requires: lvm2-python3-libs >= 2.02.99, nfs-utils, btrfs-progs
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: nfs-utils, btrfs-progs, python3-blockdev, libblockdev-lvm
%description
targetd turns the machine into a remotely-configurable storage appliance.
@ -24,20 +20,28 @@ administrator allocate volumes from an LVM volume group, and export
those volumes over iSCSI.
%prep
%setup -q
%autosetup -p1
%generate_buildrequires
%pyproject_buildrequires
%build
%{__python3} setup.py build
gzip --stdout targetd.8 > targetd.8.gz
%pyproject_wheel
%install
mkdir -p %{buildroot}%{_mandir}/man8/
mkdir -p %{buildroot}%{_mandir}/man5/
mkdir -p %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{_sysconfdir}/target/
install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/targetd.service
install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/target/targetd.yaml
install -m 644 targetd.8.gz %{buildroot}%{_mandir}/man8/
%{__python3} setup.py install --skip-build --root %{buildroot}
install -m 644 targetd.yaml %{buildroot}%{_sysconfdir}/target/targetd.yaml
install -m 644 targetd.8 %{buildroot}%{_mandir}/man8/
install -m 644 targetd.yaml.5 %{buildroot}%{_mandir}/man5/
%pyproject_install
%pyproject_save_files -l targetd
%check
%pyproject_check_import
%post
%systemd_post targetd.service
@ -48,15 +52,129 @@ install -m 644 targetd.8.gz %{buildroot}%{_mandir}/man8/
%postun
%systemd_postun_with_restart targetd.service
%files
%files -f %{pyproject_files}
%{_bindir}/targetd
%{_unitdir}/targetd.service
%{python3_sitelib}/*
%doc LICENSE README.md API.md client
%{_mandir}/man8/targetd.8.gz
%doc README.md API.md client
%{_mandir}/man8/targetd.8*
%{_mandir}/man5/targetd.yaml.5*
%config(noreplace) %{_sysconfdir}/target/targetd.yaml
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 0.10.4-10
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 0.10.4-9
- Rebuilt for Python 3.14.0rc2 bytecode
* Thu Jul 24 2025 Tony Asleson <tasleson@redhat.com> - 0.10.4-8
- Workaround for: https://github.com/open-iscsi/rtslib-fb/issues/220
- Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2383084
* Mon Jun 09 2025 Python Maint <python-maint@redhat.com> - 0.10.4-7
- Rebuilt for Python 3.14
* Mon Jun 09 2025 Tony Asleson <tasleson@redhat.com> - 0.10.4-6
- Use pyproject macros
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 0.10.4-5
- Rebuilt for Python 3.14
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 0.10.4-2
- Rebuilt for Python 3.13
* Tue Mar 12 2024 Tony Asleson <tasleson@redhat.com> - 0.10.4-1
- New upstream release
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Dec 11 2023 Tony Asleson <tasleson@redhat.com> - 0.10.3-1
- New upstream release
* Fri Jul 21 2023 Tony Asleson <tasleson@redhat.com> - 0.10.2-3
- migrated to SPDX license
* Mon Jun 26 2023 Python Maint <python-maint@redhat.com> - 0.10.2-2
- Rebuilt for Python 3.12
* Sat Jun 24 2023 Tony Asleson <tasleson@redhat.com> - 0.10.2-1
- New upstream release which adds libblockdev 3.0 support
* Thu Jun 15 2023 Tony Asleson <tasleson@redhat.com> - 0.10.1-1
- New upstream release which includes a fix for python 3.12
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 0.10.0-8
- Rebuilt for Python 3.12
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.10.0-5
- Rebuilt for Python 3.11
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.10.0-2
- Rebuilt for Python 3.10
* Tue Apr 06 2021 Tony Asleson <tasleson@redhat.com> - 0.10.0-1
- New upstream release
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9.1-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 1 2020 Tony Asleson <tasleson@redhat.com> - 0.9.1-1
- New upstream release
* Thu Sep 10 2020 Tony Asleson <tasleson@redhat.com> - 0.9.0-1
- New upstream release
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 15 2020 Tony Asleson <tasleson@redhat.com> - 0.8.12-1
- New upstream release
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.8.11-2
- Rebuilt for Python 3.9
* Tue Feb 25 2020 Tony Asleson <tasleson@redhat.com> - 0.8.11-1
- New upstream release
- Add man page for targetd.yaml.8
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Nov 25 2019 Tony Asleson <tasleson@redhat.com> - 0.8.9-1
* Revive package and update to latest upstream release.
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.8.6-5
- Rebuilt for Python 3.7
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed May 3 2017 Tony Asleson <tasleson@redhat.com> 0.8.6-2
- Add and correct dependencies

View file

@ -9,6 +9,10 @@ password:
# defaults below; uncomment and edit
#block_pools: [vg-targetd/thin_pool] # just 1 by default, but can be more
#zfs_block_pools: [] # you can also use zfs as backend
#zfs_enable_copy: true # Enable if you want copy support, default is false
#fs_pools: [] # Path to btrfs FS, eg. /my_btrfs_mount
#user: admin
#target_name: iqn.2003-01.org.example.mach1:1234