Hello community, here is the log from the commit of package python3-gcemetadata for openSUSE:Factory checked in at 2019-06-14 20:42:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-gcemetadata (Old) and /work/SRC/openSUSE:Factory/.python3-gcemetadata.new.4811 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-gcemetadata" Fri Jun 14 20:42:14 2019 rev:3 rq:709589 version:1.0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python3-gcemetadata/python3-gcemetadata.changes 2018-07-31 15:59:50.887592109 +0200 +++ /work/SRC/openSUSE:Factory/.python3-gcemetadata.new.4811/python3-gcemetadata.changes 2019-06-14 20:42:15.646407059 +0200 @@ -1,0 +2,11 @@ +Wed Jun 5 22:01:52 UTC 2019 - Robert Schweikert <rjsch...@suse.com> + +- Update to version 1.0.3 (bsc#1134510) + + Handle the condition where the identity data of the instance may + not be accessible from the metadata server and provide proper + error messaging +- From 1.0.2 + + Avoid traceback when not running in GCE, by testing access to the + metdata server first before performing othre operations + +------------------------------------------------------------------- Old: ---- gcemetadata-1.0.1.tar.bz2 New: ---- gcemetadata-1.0.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-gcemetadata.spec ++++++ --- /var/tmp/diff_new_pack.a5ipWI/_old 2019-06-14 20:42:16.206406109 +0200 +++ /var/tmp/diff_new_pack.a5ipWI/_new 2019-06-14 20:42:16.206406109 +0200 @@ -1,7 +1,7 @@ # # spec file for package python3-gcemetadata # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,13 +12,13 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define upstream_name gcemetadata Name: python3-gcemetadata -Version: 1.0.1 +Version: 1.0.3 Release: 0 Summary: Python module for collecting instance metadata from GCE License: GPL-3.0-or-later ++++++ gcemetadata-1.0.1.tar.bz2 -> gcemetadata-1.0.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gcemetadata-1.0.1/gcemetadata new/gcemetadata-1.0.3/gcemetadata --- old/gcemetadata-1.0.1/gcemetadata 2018-06-19 22:02:02.131563393 +0200 +++ new/gcemetadata-1.0.3/gcemetadata 2019-06-05 21:14:27.034117541 +0200 @@ -17,13 +17,12 @@ import getopt -import os import sys import gcemetadata.gcemetadata as gcemetadata import gcemetadata.gcemetautils as gcemetautils -from gcemetadata.gcemetaExceptions import * +from gcemetadata.gcemetaExceptions import GCEMetadataException general_options = ['api', 'help', 'identity-format=', 'listapis', 'output=', 'version', 'xml'] @@ -115,13 +114,13 @@ if api: try: meta = gcemetadata.GCEMetadata(api) - except gcemetadata.GCEMetadataException as e: + except GCEMetadataException as e: print(e, file=sys.stderr) sys.exit(1) else: try: meta = gcemetadata.GCEMetadata() - except gcemetadata.GCEMetadataException as e: + except GCEMetadataException as e: print(e, file=sys.stderr) sys.exit(1) @@ -138,6 +137,28 @@ if opt in opts_with_args: opt += '=' command_line_opts.append(opt) + # Special case for identity handling + # It is possible to have an instance that does not support access to + # the guest-attributes information from the metadata server. If this + # is the case the logically linked options of "identity-format" and + # "identity" cannot be handled properly as the "identity" option gets + # removed from the processed command line options. This leads to + # "identity-format" having the wrong value and triggering an + # incorrect message (Issue #2). + # This is the only place in the code where we know about + # the connection between the two options. + # Raising an error at a lower level would break the best effort + # nature of the command. One can still retrieve metadata + # on an instance that does not afford access to the guest-attributes + if ( + '--identity-format' in sys.argv[1:] and + 'identity' not in command_line_opts + ): + print( + 'Unable to access instance identity information', + file=sys.stderr + ) + sys.exit(1) opts, args = getopt.gnu_getopt( sys.argv[1:], 'hlo:vq:x', @@ -188,7 +209,7 @@ elif opt == '--diskid': try: meta.set_disk_device(val) - except gcemetadata.GCEMetadataException as e: + except GCEMetadataException as e: usage(meta.get_api_map(), meta.get_option_categories(), e) continue elif opt == '--identity': @@ -207,13 +228,13 @@ elif opt == '--licenseid': try: meta.set_license_id(val) - except gcemetadata.GCEMetadataException as e: + except GCEMetadataException as e: usage(meta.get_api_map(), meta.get_option_categories(), e) continue elif opt == '--netid': try: meta.set_net_device(val) - except gcemetadata.GCEMetadataException as e: + except GCEMetadataException as e: usage(meta.get_api_map(), meta.get_option_categories(), e) continue elif opt in ('-o', '--output'): @@ -223,13 +244,13 @@ found_query = 1 try: meta.set_data_category(val) - except gcemetadata.GCEMetadataException as e: + except GCEMetadataException as e: usage(meta.get_api_map(), meta.get_option_categories(), e) continue elif opt == '--subnetid': try: meta.set_subnet(val) - except gcemetadata.GCEMetadataException as e: + except GCEMetadataException as e: usage(meta.get_api_map(), meta.get_option_categories(), e) continue elif opt in ('-v', '--version'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gcemetadata-1.0.1/lib/gcemetadata/VERSION new/gcemetadata-1.0.3/lib/gcemetadata/VERSION --- old/gcemetadata-1.0.1/lib/gcemetadata/VERSION 2018-06-19 22:02:02.131563393 +0200 +++ new/gcemetadata-1.0.3/lib/gcemetadata/VERSION 2019-06-05 21:14:27.030117581 +0200 @@ -1 +1 @@ -1.0.1 +1.0.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gcemetadata-1.0.1/lib/gcemetadata/gcemetadata.py new/gcemetadata-1.0.3/lib/gcemetadata/gcemetadata.py --- old/gcemetadata-1.0.1/lib/gcemetadata/gcemetadata.py 2018-06-19 22:02:02.131563393 +0200 +++ new/gcemetadata-1.0.3/lib/gcemetadata/gcemetadata.py 2019-06-05 21:14:27.030117581 +0200 @@ -20,7 +20,7 @@ import time import urllib.request, urllib.error, urllib.parse -from gcemetadata.gcemetaExceptions import * +from gcemetadata.gcemetaExceptions import GCEMetadataException class GCEMetadata: @@ -52,14 +52,14 @@ self.server = 'metadata.google.internal' self.subnet_id = -1 - if apiv not in self.get_available_api_versions(): - msg = 'Given API version "%s" not available' % apiv - raise GCEMetadataException(msg) - if not self._test_connectivity(self.server, 80): msg = 'Could not connect to: %s' % self.server raise GCEMetadataException(msg) + if apiv not in self.get_available_api_versions(): + msg = 'Given API version "%s" not available' % apiv + raise GCEMetadataException(msg) + self._create_options_map() def _test_connectivity(self, addr, port): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gcemetadata-1.0.1/lib/gcemetadata/gcemetautils.py new/gcemetadata-1.0.3/lib/gcemetadata/gcemetautils.py --- old/gcemetadata-1.0.1/lib/gcemetadata/gcemetautils.py 2018-06-19 22:02:02.131563393 +0200 +++ new/gcemetadata-1.0.3/lib/gcemetadata/gcemetautils.py 2019-06-05 21:14:27.030117581 +0200 @@ -25,7 +25,7 @@ from io import IOBase import gcemetadata -from gcemetadata.gcemetaExceptions import * +from gcemetadata.gcemetaExceptions import GCEMetadataException def _clean_up_options(metadata, options): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gcemetadata-1.0.1/setup.py new/gcemetadata-1.0.3/setup.py --- old/gcemetadata-1.0.1/setup.py 2018-06-19 22:02:02.131563393 +0200 +++ new/gcemetadata-1.0.3/setup.py 2019-06-05 21:14:27.034117541 +0200 @@ -1,7 +1,7 @@ #!/usr/bin/env python """Setup module for gcemetadata""" -# Copyright (c) 2015 SUSE LLC +# Copyright (c) 2018 SUSE LLC # # This file is part of gcemetadata. #