1
0
mirror of https://gitlab.com/libvirt/libvirt-python.git synced 2025-07-29 19:41:52 +03:00
Commit Graph

906 Commits

Author SHA1 Message Date
ed545f9fff examples: Refactor domipaddrs
This patch makes domipaddrs example compatible with Python3.

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2020-07-15 11:05:35 +01:00
c1b9384759 Fix PY_SSIZE_T_CLEAN deprecation warning
Seen running on fedora 32:

DeprecationWarning: PY_SSIZE_T_CLEAN will be required for '#' formats
  ret = libvirtmod.virDomainLookupByUUID(self._o, uuid)

This comes from here: https://bugs.python.org/issue36381
See the section about PY_SSIZE_T_CLEAN here:
https://docs.python.org/3/c-api/arg.html#strings-and-buffers

Solution is to use Py_ssize_t instead of int for unpacked '#' values,
combined with defined PY_SSIZE_T_CLEAN before importing Python.h. The
latter turns these deprecation warnings into runtime segfaults though
if we missed an instance.

I verified the virt-manager's test suite works fine after this change

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-07-06 11:01:01 +00:00
cecaa15b64 generator: Fix SyntaxWarning
$ ./setup.py build
running build
/usr/bin/pkg-config --print-errors --atleast-version=0.9.11 libvirt
/usr/bin/python3 generator.py libvirt /usr/share/libvirt/api/libvirt-api.xml
generator.py:1562: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if classname is "virStorageVol":
...

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-07-05 17:48:50 -04:00
d0ac75bb9c virStream: Use larger buffer for sendAll/recvAll methods
There are four methods which receive/send entire stream
(sendAll(), recvAll(), sparseSendAll() and sparseRecvAll()). All
these have an intermediary buffer which is either filled by
incoming stream and passed to a user provided callback to handle
the data, or the other way round - user fills it with data they
want to send and the buffer is handed over to virStream.

But the buffer is incredibly small which leads to smaller packets
being sent and thus increased overhead. What we can do is to use
the same buffer as their C counterparts do (e.g.
virStreamSendAll()) - they all use VIR_NET_MESSAGE_LEGACY_PAYLOAD_MAX
long buffer (which is the maximum size of a stream packet we
send) - this is almost exactly 256KiB (it's 256KiB - 24B for the
header).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2020-07-03 19:09:46 +02:00
11bb65bff3 MANIFEST: Distribute sparsestream.py example
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2020-07-03 19:09:45 +02:00
2ccc481c31 setup: post-release version bump to 6.5.0
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
v6.5.0
2020-06-08 16:43:39 +01:00
8c5879b44d ci: Test installation
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
v6.4.0
2020-05-22 18:35:19 +02:00
dc5edeb087 ci: Make job skips more flexible
Instead of hardcoding the names of the targets for which certain
steps should be skipped, use a separate variable to store that
information.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2020-05-22 18:29:22 +02:00
68f5bd0bbc examples: remove docs about non-existent XML files
The docs refers to XML files that don't exist in the python binding
since it was split off from the main libvirt.git repo.

Fixes #3
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-14 14:03:59 +01:00
54e99c9ec4 Drop largely empty and unused NEWS file
We bundle a git generated ChangeLog file in the dist, and never add
any entries to the NEWS file.

Fixes #2
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-14 10:43:41 +01:00
8cbcbf2a84 gitlab: add testing of the rpmbuild process
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-14 10:43:40 +01:00
6088ce10b9 gitlab: add CONTRIBUTING.rst file to indicate use of merge requests
With the introduction of automated CI pipelines, we are now ready to switch
to using merge requests for the project. With this switch we longer wish
to have patches sent to the mailing list, and thus the git-publish
config is removed.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-05 12:10:18 +01:00
11805dd7a6 setup: post-release version bump to 6.4.0
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-05 12:08:51 +01:00
4c7fc59e0a Release of libvirt-python 6.3.0
* setup.py: updated for the release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v6.3.0
2020-05-05 08:52:25 +02:00
ed74df4813 gitlab: fix typo s/perl/python/ in docker cached image name
Reported-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-01 17:09:13 +01:00
5ee6b3ac26 travis: delete redundant configuration
Now that we're standardizing on GitLab CI for both official gating CI
and developer CI, there's no compelling reason to continue to support
Travis CI.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-01 13:15:02 +01:00
76a8346643 gitlab: introduce CI jobs testing git master & distro libvirt
The python build needs to validate two axis

 - A variety of libvirt versions
 - A variety of python versions

We get coverage for both these axis by running a build against the
distro provided libvirt packages. All that is then missing is a build
against the latest libvirt git master, which only needs to be run on
a single distro, for which CentOS 8 is picked as a stable long life
base.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-01 13:14:55 +01:00
7d2715c0dd test: workaround missing VIR_TYPED_PARAM enums in API definition
On Ubuntu 18.04 with libvirt 4.0.0 libvirt-python build fails

running test
/usr/bin/python3 sanitytest.py build/lib.linux-x86_64-3.6 /usr/share/libvirt/api/libvirt-api.xml
Cannot get a value of enum VIR_TYPED_PARAM_BOOLEAN (originally VIR_DOMAIN_BLKIO_PARAM_BOOLEAN)
Cannot get a value of enum VIR_TYPED_PARAM_DOUBLE (originally VIR_DOMAIN_BLKIO_PARAM_DOUBLE)
Cannot get a value of enum VIR_TYPED_PARAM_INT (originally VIR_DOMAIN_BLKIO_PARAM_INT)
...snip...

The code generated for the binding is still correct and so we can just
whitelist this error scenario.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-05-01 13:13:13 +01:00
51d434cf03 gitlab: add CI job for validating DCO signoff
This job uses the shared "check-dco" image to validate that all
commits on a branch in a developer's repo fork have a suitable
Signed-off-by statement present.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-04-30 16:24:52 +01:00
4d99e8443c examples: Fix connection error handling 2
Fix two more cases in examples as
libvirt.open*() does not return None but raises an exception

Fixes: 283e2bc693
Signed-off-by: Philipp Hahn <hahn@univention.de>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2020-04-27 11:16:21 +02:00
4252e827e0 setup: require python >= 3.5 to build
Python 3.5 is the oldest Python version available across our supported
build platforms.

Reviewed-by: Philipp Hahn <hahn@univention.de>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-04-22 11:05:11 +01:00
283e2bc693 examples: Fix connection error handling
libvirt.open*() does not return None but raises an exception

Signed-off-by: Philipp Hahn <hahn@univention.de>
2020-04-20 13:21:55 +01:00
53565fe096 github: enable lockdown of issues and merge requests
Libvirt uses GitHub as an automated read-only mirror. The goals were to
have a disaster recovery backup for libvirt.org, a way to make it easy
for people to clone their own private copy of libvirt Git, and finally
as a way to interact with apps like Travis.

The project description was set to a message telling people that we
don't respond to pull requests. This was quite a negative message to
potential contributors, and also did not give them any guidance about
the right way to submit to libvirt. Many also missed the description and
submitted issues or pull requests regardless.

It is possible to disable the issue tracker in GitHub, but there is no
way to disable merge requests. Disabling the issue tracker would also
leave the problem of users not being given any positive information
about where they should be reporting instead.

There is a fairly new 3rd party application built for GitHub that
provides a bot which auto-responds to both issues and merge requests,
closing and locking them, with a arbitrary comment:

   https://github.com/apps/repo-lockdown

This commit adds a suitable configuration file for libvirt, which
tries to give a positive response to user's issue/pullreq and guide
them to the desired contribution path on GitLab.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-04-07 17:28:33 +01:00
85c5243497 Release of libvirt-python 6.2.0
* setup.py: bumped version to 6.2.0

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v6.2.0
2020-04-02 21:26:41 +02:00
eed36f8935 tox: Test with Python 3.6, 3.7 and 3.8
Support for Python 2.X has been dropped with commit b22e4f2.

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2020-03-30 12:33:17 +02:00
af65786ef5 Release of libvirt-python 6.1.0
* setup.py : updated for release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v6.1.0
2020-03-03 14:53:15 +01:00
95c1bb2fed gitpublish: add 'libvirt-' to subject prefix
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-01-16 15:44:34 +00:00
ae8e5b1de6 Release of libvirt-python-6.0.0
* setup.py: updated for the release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v6.0.0
2020-01-15 16:23:53 +01:00
56afc9b33f Add overrides for network port UUID getter/lookup methods
The generator creates broken code for all these methods.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-01-03 11:32:57 +00:00
7b18e3bae8 fix class type instantiated when listing network ports
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-01-03 11:32:55 +00:00
5efdfd042c setup: Accept 'nosetests3' as nosetests binary
This is the name used on Ubuntu.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-12-09 16:14:10 +01:00
c7239ca55b Fix RPM deps for centos 7
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-12-06 13:25:29 +00:00
b22e4f2441 Drop support for python 2
python2 will be end of life by the time of the next
libvirt release. All our supported build targets, including
CentOS7, have a python3 build available.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-12-04 12:14:51 +00:00
e3fa4f22d5 Release of libvirt-python 5.10.0
* setup.py: update for release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v5.10.0
2019-12-02 20:50:24 +01:00
fc76416248 generator.py: add mapping for VIR_DOMAIN_QEMU_AGENT_COMMAND_*
Libvirt commit <95f5ac9ae52455e9da47afc95fa31c9456ac27ae> changed the
VIR_DOMAIN_QEMU_AGENT_COMMAND_* enum values to use different enum values
instead of direct numbers.  We need to translate it back.

Traceback (most recent call last):
  File "generator.py", line 2143, in <module>
    qemuBuildWrappers(sys.argv[1])
  File "generator.py", line 2008, in qemuBuildWrappers
    items.sort(key=lambda i: (int(i[1]), i[0]))
  File "generator.py", line 2008, in <lambda>
    items.sort(key=lambda i: (int(i[1]), i[0]))
ValueError: invalid literal for int() with base 10: 'VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK'

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2019-11-28 10:55:18 +01:00
1236ff5386 Release of libvirt-python 5.9.0
* setup.py: update for release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v5.9.0
2019-11-06 15:42:37 +01:00
70ad5acdfd Release of libvirt-python 5.8.0
* setup.py: updated version

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v5.8.0
2019-10-05 09:55:23 +02:00
ebd352515d virDomainMigrate3Params: add missing parallel connections param
Introduced in libvirt 5.2.0 by commit <d3ea986af24>.

Reported-by: Liping Cheng <lcheng@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-09-23 13:58:37 +02:00
1c20685831 virDomainMigrate3Params: add missing bandwidth postcopy param
Introduced in libvirt 5.1.0 by commit <c830187a015>.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-09-23 13:58:27 +02:00
873e0ca7db Custom impl for virConnectSetIdentity which can't be generated
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-09-20 13:51:20 +01:00
d76c27e385 virDomainMemoryStats: include hugetlb pgalloc and pgfail
Introduced in libvirt 5.4.0 by commit <a699b19f6c3>.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1683516

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-09-20 12:58:35 +02:00
b0a7747ddd virDomainMemoryStats: include disk caches
Introduced in libvirt 4.6.0 by commit <aee04655089>.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1683516

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-09-20 12:58:30 +02:00
6b2b3b7ea2 sanitytest: whitelist 'network' method as having no C impl
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-09-12 16:09:58 +01:00
6dff8e4f3f generator: fix constructor for virNetworkPort
The virNetworkPort class is passed both the virNetwork parent
python class and the virNetworkPort C object. This needs special
handling in the generator, similar to how virDomainSnapshots are
dealt with.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-09-12 15:28:13 +01:00
5fe311f1f3 Fix -Wsign-compare warnings
libvirt-override.c: In function ‘libvirt_virConnectBaselineHypervisorCPU’:
libvirt-override.c:9946:23: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
libvirt-override.c:9961:19: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]

Use ssize_t as was similarly done in 75ec2acb61

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2019-09-05 14:04:17 -04:00
162df20172 Release of libvirt-python 5.7.0
Signed-off-by: Daniel Veillard <veillard@redhat.com>
v5.7.0
2019-09-03 17:30:40 +02:00
9dc11ea157 spec: Build python2 package in fedora < 31
Since commit ee0cfbe65c (spec: Unconditionally build python2 on
Fedora) python2-libvirt is not built on any Fedora version.

Fix the spec to drop python2-libvirt on Fedora 31.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Nir Soffer <nsoffer@redhat.com>
2019-09-03 10:42:36 -04:00
17937cc337 Implement virDomainGetGuestInfo
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-08-29 12:04:56 +02:00
d3e647e20b Release of libvirt-python-5.6.0
* setup.py: updated for new release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
v5.6.0
2019-08-05 19:21:45 +02:00
da9adbd3e5 Define virDomainCheckpointPtr typedef on old libvirt
Needed prior to 5.6.0

Signed-off-by: Eric Blake <eblake@redhat.com>
2019-07-29 14:22:16 -05:00