[Libguestfs] [PATCH disk-sync 4/5] Require libnbd >= 0.9.8 and fail hard if it's an earlier version.
Martin Kletzander
mkletzan at redhat.com
Mon Aug 26 11:21:01 UTC 2019
On Thu, Aug 22, 2019 at 03:39:34PM +0100, Richard W.M. Jones wrote:
>This was the first version with the stable API and all the fixes
>required to make the Python bindings not crash when used
>asynchronously.
>---
> wrapper/disk_sync.py | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
>diff --git a/wrapper/disk_sync.py b/wrapper/disk_sync.py
>index e830193..e655ead 100644
>--- a/wrapper/disk_sync.py
>+++ b/wrapper/disk_sync.py
>@@ -4,6 +4,8 @@ from pyVmomi import vim
> from pyVim.connect import SmartConnect, Disconnect
> from pyVim.task import WaitForTask
>
>+from packaging import version
>+
This introduces a new dependency, but it should be fine. I added it to
requirements.txt.
> import nbd
>
> from six.moves.urllib.parse import urlparse, unquote
>@@ -15,6 +17,8 @@ import ssl
> import sys
> import json
>
>+NBD_MIN_VERSION = version.parse("0.9.8")
>+
> LOG_FORMAT_TIME = '[%(asctime)s] '
> LOG_FORMAT_MSG = ': %(message)s'
>
>@@ -582,6 +586,13 @@ def main():
> '''TODO: Add some description here '''
>
> args = parse_args()
>+
>+ nbd_version = version.parse(nbd.NBD().get_version())
>+ if nbd_version < NBD_MIN_VERSION:
>+ logging.error("version on libnbd is too old. Version found = %s. Min version required = %s" %
>+ (nbd_version, NBD_MIN_VERSION))
>+ sys.exit(1)
>+
I moved this after logging is initialized at which point it can just use
error().
Thanks.
> state = State(args).instance
> validate_state(args.sync_type)
> parse_input(args)
>--
>2.22.0
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20190826/293656ed/attachment.sig>
More information about the Libguestfs
mailing list