Compare commits

..

22 Commits

Author SHA1 Message Date
František Zatloukal eda731c85b Release 0.9.2 2023-03-22 16:04:27 +01:00
Fedora Release Engineering 42fec94358 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 04:53:34 +00:00
František Zatloukal 429a860192 Release 0.8.2 2022-12-02 16:46:39 +01:00
Fedora Release Engineering 946c677c30 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 10:19:07 +00:00
František Zatloukal 2485d51c12 Release 0.8.1 2022-06-30 15:01:25 +01:00
František Zatloukal 36b3cd69bc Release 0.8.0 2022-06-24 11:59:13 +01:00
Python Maint 8047e14dfa Rebuilt for Python 3.11 2022-06-13 18:04:50 +02:00
František Zatloukal 371a14349c Release 0.7.1 2022-05-05 20:28:53 +02:00
František Zatloukal 2a3a8c2b9b Release 0.7.0 2022-05-02 12:32:29 +02:00
František Zatloukal 20a56f81f0 Release 0.6.4 2022-01-28 00:29:42 +01:00
Fedora Release Engineering f903c742da - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 02:32:40 +00:00
František Zatloukal 5b8a7f1283 Release 0.6.3 2021-12-01 12:19:50 +01:00
František Zatloukal cb3fe9aecc Release 0.6.2 2021-09-27 08:24:44 +02:00
Fedora Release Engineering 6f50913182 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 19:06:04 +00:00
František Zatloukal e782b24a59 Release 0.6.1 2021-07-21 11:54:01 +02:00
František Zatloukal 67787aaedc Release 0.6.0 2021-07-09 15:35:20 +02:00
Python Maint 32d6482e5d Rebuilt for Python 3.10 2021-06-04 21:16:26 +02:00
František Zatloukal c8816bf154 Release 0.5.0 2021-03-22 09:43:41 +01:00
Fedora Release Engineering 7921cb4505 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 21:48:16 +00:00
František Zatloukal 902dc2d853 Release 0.4.0 2020-12-16 15:27:43 +01:00
František Zatloukal 3529ac22e3 Release 0.3.7 2020-11-16 16:12:07 +01:00
František Zatloukal 0cbb530f27 Bring ExclusiveArch back 2020-11-03 14:27:50 +01:00
3 changed files with 208 additions and 15 deletions
+15
View File
@@ -20,3 +20,18 @@
/testcloud-0.3.4.tar.gz
/testcloud-0.3.5.tar.gz
/testcloud-0.3.6.tar.gz
/testcloud-0.3.7.tar.gz
/testcloud-0.4.0.tar.gz
/testcloud-0.5.0.tar.gz
/testcloud-0.6.0.tar.gz
/testcloud-0.6.1.tar.gz
/testcloud-0.6.2.tar.gz
/testcloud-0.6.3.tar.gz
/testcloud-0.6.4.tar.gz
/testcloud-0.7.0.tar.gz
/testcloud-0.7.1.tar.gz
/testcloud-0.8.0.tar.gz
/testcloud-0.8.1.tar.gz
/testcloud-0.8.2.tar.gz
/testcloud-0.9.1.tar.gz
/testcloud-0.9.2.tar.gz
+1 -1
View File
@@ -1 +1 @@
SHA512 (testcloud-0.3.6.tar.gz) = fd690dcce6184b6b6a1e488d9dce639b2b094e953cb52f66c13371faee0c46d967b924c63608492063872ebc02c8d49c43d12b870778025487a580cd68dee9fe
SHA512 (testcloud-0.9.2.tar.gz) = 74f74bcf313d7b1bf96d5b27729b631155b3cceec4157488d991ac9ec03e49c8eb286ebe7d5519812e87599e38d2f71fde16f6c8aabb334245e8552172388e08
+192 -14
View File
@@ -1,13 +1,6 @@
# Avoid warnings when bytecompiling settings.py in /etc
%global __python %{__python3}
# sitelib for noarch packages, sitearch for others (remove the unneeded one)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
Name: testcloud
# Update also version in testcloud/__init__.py and docs/source/conf.py when changing this!
Version: 0.3.6
Version: 0.9.2
Release: 1%{?dist}
Summary: Tool for running cloud images locally
@@ -15,6 +8,7 @@ License: GPLv2+
URL: https://pagure.io/testcloud
Source0: https://releases.pagure.org/testcloud/%{name}-%{version}.tar.gz
ExclusiveArch: %{kernel_arches} noarch
BuildArch: noarch
# Ensure we can create the testcloud group
@@ -37,20 +31,24 @@ Summary: Python 3 interface to testcloud
Obsoletes: python2-testcloud <= %{version}-%{release}
BuildRequires: bash-completion
BuildRequires: python3-libvirt
BuildRequires: python3-devel
BuildRequires: python3-jinja2
BuildRequires: python3-mock
BuildRequires: python3-pytest
BuildRequires: python3-pytest-cov
BuildRequires: python3-requests
BuildRequires: python3-setuptools
Requires: libvirt
Requires: libguestfs-tools-c
Requires: genisoimage
Requires: libvirt-daemon-config-network
Requires: libvirt-daemon-driver-qemu
Requires: libvirt-daemon-driver-storage-core
Requires: python3-requests
Requires: python3-libvirt
Requires: python3-jinja2
Recommends: butane
Suggests: python3-libguestfs
Suggests: libguestfs-tools-c
%description -n python3-%{name}
Python 3 interface to testcloud.
@@ -61,6 +59,8 @@ getent group testcloud >/dev/null || groupadd testcloud
%prep
%setup -q -n %{name}-%{version}
# Drop coverage testing
sed -i 's/ --cov-report=term-missing --cov testcloud//g' tox.ini
%build
%py3_build
@@ -68,6 +68,10 @@ getent group testcloud >/dev/null || groupadd testcloud
%install
%py3_install
# Docs
install -d %{buildroot}%{_mandir}/man1
install -p -m 0644 manpages/testcloud.1 %{buildroot}%{_mandir}/man1
# configuration files
mkdir -p %{buildroot}%{_sysconfdir}/testcloud/
install conf/settings-example.py %{buildroot}%{_sysconfdir}/testcloud/settings.py
@@ -88,14 +92,19 @@ install -d %{buildroot}/%{_sharedstatedir}/testcloud/instances
mkdir -p %{buildroot}%{_sysconfdir}/polkit-1/rules.d
install conf/99-testcloud-nonroot-libvirt-access.rules %{buildroot}%{_sysconfdir}/polkit-1/rules.d/99-testcloud-nonroot-libvirt-access.rules
# Copy bash completion script
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/
install conf/testcloud-bash %{buildroot}%{_datadir}/bash-completion/completions/testcloud
%check
%{__python3} setup.py test
%pytest
# Remove compiled .py files from /etc after os_install_post
rm -f %{buildroot}%{_sysconfdir}/testcloud/*.py{c,o}
rm -rf %{buildroot}%{_sysconfdir}/testcloud/__pycache__
%files
%doc README.rst
%doc README.md
%{_mandir}/man1/testcloud.1*
%license LICENSE
%dir %{_sysconfdir}/testcloud
@@ -108,12 +117,181 @@ rm -rf %{buildroot}%{_sysconfdir}/testcloud/__pycache__
%config(noreplace) %{_sysconfdir}/testcloud/settings.py
%{_bindir}/testcloud
%{_bindir}/t7d
%{_datadir}/bash-completion/completions/testcloud
%files -n python3-%{name}
%{python3_sitelib}/testcloud
%{python3_sitelib}/*.egg-info
%changelog
* Wed Mar 22 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.9.2-1
- Unbreak python <3.9
* Wed Mar 22 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.9.1-1
- setup.py: Include distro_utils too
- inherit from Exception instead of BaseException
- get_image_url: return str of supported images instead of dict_keys in errors
* Sat Mar 18 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.9.0-1
- image downloader: Try to detect failed downloads more aggressively
- CLI: Support download image
- CLI: Drop non-x86 warning
- CLI: Drop instance subcommand
- Rework images url handling
- CentOS 7: Bump image
- Vagrant: Support Fedora Boxes
- cli: Tune down default logging
- add disk_number param
- pc model: use q35
- memballoon: drop address spec
- Use unversioned machine models
- CentOS Stream: try to auto-detect the latest image
- support TPM2 device
- Prevent unbound url variable on failed Fedora rawhide/branched guess
- add mac_address param
- add qemu_cmds param for coreos testcases
- support to pass ignition file on platforms that doesn't support FW CFG
- Require libvirt-daemon-config-network as well
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Dec 02 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.8.2-1
- CentOS Stream {8,9}: bump image version
- Leave boot drive address guessing to libvirt
- Workaround libvirt/qemu PCI auto-assign issue
* Fri Sep 09 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.8.1-3
- Require libvirt-daemon-config-network as well
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jun 30 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.8.1-1
- CoreOS: Go on with COREOS_DATA replace failure
* Fri Jun 24 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.8.0-1
- Bump CentOS Stream versions
- Build seed image with genisoimage (mpitt)
- Reduce libvirt dependencies (mpitt)
- Drop libguestfs from Requires to Suggests (mpitt)
- util: except also requests.exceptions.JSONDecodeError
- _needs_legacy_net: try to guess based on image name with missing guestfs
- add coreos aarch64 support (lnie)
- Allow to configure download progress verbosity
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.7.1-2
- Rebuilt for Python 3.11
* Thu May 05 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.7.1-1
- Try qemu-kvm if there is nothing else...
* Mon May 02 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.7.0-1
- non-x86 support
- cli: Fixup crash on vm start in connection tip
- Handle missing testcloud group also while creating instances from local image
* Thu Jan 27 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.4-1
- fix selinux detection for image context (olichtne)
- Drop dependency on python-mock
- Drop coverage testing in rpm build
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Dec 01 2021 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.3-1
- Drop Atomic Host
- Simplify cli codepath, use cloud-user by default
- cli: allow to spearate OS version by "-"
- CentOS misc: improve error output on missing version
- Disable UseDNS, GSSAPI for faster SSH, allow ssh for root
- CentOS: Fix el7 based systems
- CentOS: update 7 build, add CentOS Stream 9
* Mon Sep 27 2021 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.2-1
- Workaround EL8 bug - waiting for sshd restart with user sessions
- Add a basic integration test and plan for tmt
- Fixes around backingstore cleanups
- get_fedora_image_url: Proper support for branched, cleanups
- get_fedora_image_url: Add info when user asks for wrong version
- Don't use hammer solution to all Vagrant boxes, force-install cloud-init to known broken images
- non-x86_64 support preparations and downloader code
- Don't rely on working qemu://system
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 21 2021 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.1-1
- Add wait and retry around dom.create()
- lazy_refcounts=on and cache=unsafe
- Bash completion (by lbrabec)
- Let's have also short t7d binary
- Add long project description for pypi
- Style: Let's not have lines with hundreds of characters...
- API: Add reboot function
- FileLock: Make sure we don't overwrite config_data.DATA_DIR
- Fix systems using systemd-networkd in user session mode
* Fri Jul 09 2021 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.0-1
- SPEC: Use pytest macro
- Merge downstream spec changes
- README: Let's believe in testcloud a bit more 😎
- Simplify cli warning wording a bit
- Remove forced reboot from cli for CentOS user sessions
- API: Allow to specify pci network device
- README: improve a tiny bit
- Make url mandatory, cleanup cli instance create a bit
- Allow to specify number of CPU cores to be assigned
- Change cli layout for instance create a bit (A LOT 😱 )
- get_debian_image_url: return None on fail
- Add a way to shutdown vms in a graceful way
- use if hasattr insteadd of try/except AttributeError
- Use virtio-net-pci instead of e1000 for hostfwd in qemu user sessions
- implement synchronization using file lock for user sessions
- Don't directly alter config_object, use a copy of it
- Fixup CentOS short handle
- Support Ubuntu and Debian images
- Update url for oraculum
- Bunch of code shuffling
- Bunch of improvements for get_fedora_image_url
- Fixup traceback for unknown distributions on un-defined variable
- Fixups around system x session instances handling
- Dont blow out traceback on image download 404, fixup connection tooltip for CentOS
- Support fetching the latest Fedora Rawhide iso as fedora:rawhide url
- Support CentOS and CentOS Stream versions (hardcoded urls)
- Support operating with Vagrant images
- check whether the instance existing before do the prepare work
- Make the code more robust
- Make list and clean functions more robust to handle both system and user sessions
- add coreos test function
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.5.0-2
- Rebuilt for Python 3.10
* Mon Mar 22 2021 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.5.0-1
- Fix crash in _handle_connection_tip
- Allow to create an instance without specifying a name
- Fix instance.image_path
- Make network working in qemu:///session
* Wed Dec 16 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.4.0-1
- Support creating instances by fedora:XX, fedora:latest and fedora:qa-matrix strings
- Implement auto cleaning of backingstore
- Make testcloud compatible with future Python 3.10
- Adapt to requests defaulting to simplejson if present
- Don't throw out exception when trying to create instance already existing in libvirt
- --all is now the default in testcloud instance list
- Show some hints to the users on instance create/start
- cleanup the instance bits when instance create fails
* Mon Nov 16 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.3.7-1
- Do not throw out ugly tracebacks if user uses cli (#1887815)
- Parse CMD_LINE_ARGS and add CMD_LINE_ENVS (https://pagure.io/testcloud/issue/49)
- Add try/except check to instance.prepare() as permissions error can occur there too
- Update documentation
- Add manpage
* Fri Oct 09 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.3.6-1
- Improve user experience when testcloud fails because of missing group