From e174b19ed3d3e9ca2235768bbd49368c5a37e440 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Wed, 17 May 2023 16:17:58 +0300 Subject: [PATCH] import virt-who-1.31.26-1.el9 --- .gitignore | 2 +- .virt-who.metadata | 2 +- ...-who-1.31.23-1-to-virt-who-1.31.23-2.patch | 161 ----------------- ...-who-1.31.23-2-to-virt-who-1.31.23-3.patch | 169 ------------------ SPECS/virt-who.spec | 33 ++-- 5 files changed, 19 insertions(+), 348 deletions(-) delete mode 100644 SOURCES/virt-who-1.31.23-1-to-virt-who-1.31.23-2.patch delete mode 100644 SOURCES/virt-who-1.31.23-2-to-virt-who-1.31.23-3.patch diff --git a/.gitignore b/.gitignore index 9e80574..f3a3171 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/virt-who-1.31.23.tar.gz +SOURCES/virt-who-1.31.26.tar.gz diff --git a/.virt-who.metadata b/.virt-who.metadata index e8a79e1..30718a3 100644 --- a/.virt-who.metadata +++ b/.virt-who.metadata @@ -1 +1 @@ -a4297e5c5709173c4e3bdb878784ab9844ff92c8 SOURCES/virt-who-1.31.23.tar.gz +97fc2e5eb684c0dfdc08fd38963046625211a94b SOURCES/virt-who-1.31.26.tar.gz diff --git a/SOURCES/virt-who-1.31.23-1-to-virt-who-1.31.23-2.patch b/SOURCES/virt-who-1.31.23-1-to-virt-who-1.31.23-2.patch deleted file mode 100644 index f87d067..0000000 --- a/SOURCES/virt-who-1.31.23-1-to-virt-who-1.31.23-2.patch +++ /dev/null @@ -1,161 +0,0 @@ -diff --git a/rel-eng/packages/virt-who b/rel-eng/packages/virt-who -index 2c0169e..30ea970 100644 ---- a/rel-eng/packages/virt-who -+++ b/rel-eng/packages/virt-who -@@ -1 +1 @@ --1.31.23-1 ./ -+1.31.23-2 ./ -diff --git a/rel-eng/releasers.conf b/rel-eng/releasers.conf -index 272f0ab..b233d99 100644 ---- a/rel-eng/releasers.conf -+++ b/rel-eng/releasers.conf -@@ -6,3 +6,11 @@ branches = main f35 f34 - releaser = tito.release.CentosGitReleaser - branches = c9s - required_bz_flags = release+ -+ -+[rhel-9.1] -+releaser = tito.release.DistGitReleaser -+branches = rhel-9.1.0 -+required_bz_flags = release+ -+# Change this if you wish to use a placeholder "rebase" bug if none -+# are found in the changelog. -+placeholder_bz = -diff --git a/virt-who.spec b/virt-who.spec -index 87baecc..cc0d876 100644 ---- a/virt-who.spec -+++ b/virt-who.spec -@@ -21,7 +21,7 @@ - - Name: virt-who - Version: 1.31.23 --Release: %{release_number}%{?dist} -+Release: 2%{?dist} - - Summary: Agent for reporting virtual guest IDs to subscription-manager - -@@ -165,6 +165,11 @@ fi - - - %changelog -+* Mon Nov 14 2022 William Poteat 1.31.23-2 -+- Added configuration for rhel-9.1 into releasers.conf (jhnidek@redhat.com) -+- 2127045: [1.31.23] Nutanix: Gather information about VMs correctly -+ (jhnidek@redhat.com) -+ - * Thu Apr 21 2022 William Poteat 1.31.23-1 - - 2054504: Use usedforsecurity=False for md5() calls to make suds work on FIPS - enabled systems (oalbrigt@redhat.com) -diff --git a/virtwho/virt/ahv/ahv_constants.py b/virtwho/virt/ahv/ahv_constants.py -index 4c78a10..f6d0911 100644 ---- a/virtwho/virt/ahv/ahv_constants.py -+++ b/virtwho/virt/ahv/ahv_constants.py -@@ -4,6 +4,7 @@ TASK_COMPLETE_MSG = ['SUCCEEDED', 'Succeeded'] - DEFAULT_PORT = 9440 - VERSION_2 = 'v2.0' - VERSION_3 = 'v3' -+NUM_OF_REQUESTED_VMS = 20 - - CMN_RST_CMD = { - 'get_vm': {'url': '/vms/%s', 'method': 'get'}, -diff --git a/virtwho/virt/ahv/ahv_interface.py b/virtwho/virt/ahv/ahv_interface.py -index 71f4d1f..ce30a00 100644 ---- a/virtwho/virt/ahv/ahv_interface.py -+++ b/virtwho/virt/ahv/ahv_interface.py -@@ -514,14 +514,30 @@ class AhvInterface(object): - self._logger.info("Getting the list of available vms") - is_pc = True if version == 'v3' else False - vm_uuid_list = [] -- length = 0 -+ length = ahv_constants.NUM_OF_REQUESTED_VMS -+ initial_offset = 0 - offset = 0 - total_matches = 0 - count = 1 - current = 0 -- (url, cmd_method) = self.get_diff_ver_url_and_method( -+ url, cmd_method = self.get_diff_ver_url_and_method( - cmd_key='list_vms', intf_version=version) -- res = self.make_rest_call(method=cmd_method, uri=url) -+ -+ kwargs = { -+ "method": cmd_method, -+ "uri": url -+ } -+ if is_pc is True: -+ kwargs["json"] = { -+ 'length': length, -+ 'offset': initial_offset -+ } -+ res = self.make_rest_call(**kwargs) -+ -+ if res is None: -+ self._logger.error("Unable to get list of VMs") -+ return vm_uuid_list -+ - data = res.json() - if "metadata" in data: - if "total_matches" in data["metadata"] and "length" in data["metadata"]: -@@ -539,8 +555,8 @@ class AhvInterface(object): - if length < total_matches: - self._logger.debug( - 'Number of vms %s returned from REST is less than the total' -- 'numberr:%s. Adjusting the offset and iterating over all' -- 'vms until evry vm is returned from the server.' % (length, total_matches) -+ 'number: %s. Adjusting the offset and iterating over all' -+ 'vms until all vms are returned from the server.' % (length, total_matches) - ) - count = math.ceil(total_matches/float(length)) - -@@ -557,12 +573,16 @@ class AhvInterface(object): - "Cannot access the uuid for the vm %s. " - "vm object: %s" % (vm_entity['name'], vm_entity) - ) -- -- body['offset'] = body['offset'] + length -- body_data = json.dumps(body, indent=4) -- self._logger.debug('next vm list call has this body: %s' % body) -- res = self.make_rest_call(method=cmd_method, uri=url, data=body_data) -- data = res.json() -+ if is_pc is True: -+ body['offset'] = body['offset'] + length -+ self._logger.debug('Next vm list call has this body: %s' % body) -+ kwargs["json"] = body -+ res = self.make_rest_call(**kwargs) -+ if res is not None: -+ data = res.json() -+ else: -+ self._logger.error(f"Unable to get list of VMs with offset: {body['offset']}") -+ data = {} - current += 1 - - self._logger.info("Total number of vms uuids found and saved for processing %s" % len(vm_uuid_list)) -@@ -713,13 +733,17 @@ class AhvInterface(object): - """ - if 'resources' in vm_entity: - if 'host_reference' in vm_entity['resources']: -- return vm_entity['resources']['host_reference']['uuid'] -+ vm_uuid = vm_entity['resources']['host_reference']['uuid'] -+ self._logger.debug(f"Host UUID {vm_uuid} found for VM: {vm_entity['uuid']}") -+ return vm_uuid - else: - self._logger.warning( -- "Did not find any host information for vm:%s" % vm_entity['uuid'] -+ "Did not find any host information for VM: %s" % vm_entity['uuid'] - ) - elif 'host_uuid' in vm_entity: -- return vm_entity['host_uuid'] -+ vm_uuid = vm_entity['host_uuid'] -+ self._logger.debug(f"Host UUID {vm_uuid} found for VM: {vm_entity['uuid']}") -+ return vm_uuid - else: - # Vm is off therefore no host is assigned to it. - self._logger.debug( -@@ -769,6 +793,7 @@ class AhvInterface(object): - - self._logger.info("Processing hosts for each vm.") - if len(vm_uuids) > 0: -+ # TODO: use threads for gathering information about VMs - for vm_uuid in vm_uuids: - vm_entity = self.get_vm(vm_uuid) - if vm_entity: diff --git a/SOURCES/virt-who-1.31.23-2-to-virt-who-1.31.23-3.patch b/SOURCES/virt-who-1.31.23-2-to-virt-who-1.31.23-3.patch deleted file mode 100644 index 40ab394..0000000 --- a/SOURCES/virt-who-1.31.23-2-to-virt-who-1.31.23-3.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git a/rel-eng/packages/virt-who b/rel-eng/packages/virt-who -index 30ea970..e143cea 100644 ---- a/rel-eng/packages/virt-who -+++ b/rel-eng/packages/virt-who -@@ -1 +1 @@ --1.31.23-2 ./ -+1.31.23-3 ./ -diff --git a/virt-who.spec b/virt-who.spec -index cc0d876..984fae9 100644 ---- a/virt-who.spec -+++ b/virt-who.spec -@@ -21,7 +21,7 @@ - - Name: virt-who - Version: 1.31.23 --Release: 2%{?dist} -+Release: 3%{?dist} - - Summary: Agent for reporting virtual guest IDs to subscription-manager - -@@ -165,6 +165,12 @@ fi - - - %changelog -+* Tue Feb 07 2023 Jiri Hnidek 1.31.23-3 -+- -+ -+* Tue Feb 07 2023 Jiri Hnidek 1.31.24-3 -+- 2165499: [1.31.23] Migrate virt-who.conf, when necessary (jhnidek@redhat.com) -+ - * Mon Nov 14 2022 William Poteat 1.31.23-2 - - Added configuration for rhel-9.1 into releasers.conf (jhnidek@redhat.com) - - 2127045: [1.31.23] Nutanix: Gather information about VMs correctly -diff --git a/virtwho/migrate/migrateconfiguration.py b/virtwho/migrate/migrateconfiguration.py -index b61039a..0b2c388 100644 ---- a/virtwho/migrate/migrateconfiguration.py -+++ b/virtwho/migrate/migrateconfiguration.py -@@ -1,23 +1,27 @@ - # -*- coding: utf-8 -*- - from __future__ import print_function --""" --For moving variables from system environment to general config file -- --Copyright (C) 2020 William Poteat -- --This program is free software; you can redistribute it and/or --modify it under the terms of the GNU General Public License --as published by the Free Software Foundation; either version 2 --of the License, or (at your option) any later version. - --This program is distributed in the hope that it will be useful, --but WITHOUT ANY WARRANTY; without even the implied warranty of --MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --GNU General Public License for more details. -+# For moving variables from system environment to general config file -+# -+# Copyright (C) 2020 William Poteat -+# -+# This program is free software; you can redistribute it and/or -+# modify it under the terms of the GNU General Public License -+# as published by the Free Software Foundation; either version 2 -+# of the License, or (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - --You should have received a copy of the GNU General Public License --along with this program; if not, write to the Free Software --Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+""" -+This module is used for merging environment variables (typically defined in -+/etc/sysconfig/virt-who) into generic configuration file (typically /etc/virt-who.conf) - """ - - import os -@@ -30,16 +34,22 @@ def main(): - migrate_env_to_config() - - --def migrate_env_to_config(sysconfig_filename=None, general_config_filename=None): -+def migrate_env_to_config(sysconfig_filename: str = None, general_config_filename: str = None) -> None: -+ """ -+ Try to merge sysconfig file (typically /etc/sysconfig/virt-who) with generic -+ virt-who configuration file (typically /etc/virt-who.conf). When sysconfig file -+ is not defined, then it tries to read know environment variables: 'VIRTWHO_INTERVAL', -+ 'VIRTWHO_DEBUG' and 'VIRTWHO_ONE_SHOT' -+ @param sysconfig_filename: path to sysconfig file -+ @param general_config_filename: path to generic virt-who configuration file -+ @return: None -+ """ -+ - if not sysconfig_filename: - sysconfig_filename = SYSCONFIG_FILENAME - if not general_config_filename: - general_config_filename = GENERAL_CONFIG_FILENAME - -- interval = None -- debug = None -- one_shot = None -- - # read know env variables - interval = os.environ.get('VIRTWHO_INTERVAL', None) - debug = os.environ.get('VIRTWHO_DEBUG', None) -@@ -65,6 +75,11 @@ def migrate_env_to_config(sysconfig_filename=None, general_config_filename=None) - if 'VIRTWHO_ONE_SHOT' in env_vars: - one_shot = env_vars.pop('VIRTWHO_ONE_SHOT') - -+ # When there is no environment variable or anything defined in sysconfig file, then -+ # there is also no need to merge anything to virt-who.conf file, and we can end here -+ if interval is None and debug is None and one_shot is None and len(env_vars) == 0: -+ return -+ - # read ini file at /etc/virt-who.conf - lines = [] - if os.path.exists(general_config_filename): -@@ -98,18 +113,29 @@ def migrate_env_to_config(sysconfig_filename=None, general_config_filename=None) - output.append('\n') - output.append('[global]\n') - add_global(output, interval, debug, one_shot) -+ - if not has_sys_env: - if len(env_vars) > 0: - if len(output) != 0: - output.append('\n') - output.append('[system_environment]\n') - add_system_environment(output, env_vars) -+ - # write /etc/virt-who.conf - with open(general_config_filename, "w") as conf: - conf.writelines(output) - - --def add_global(output, interval, debug, one_shot): -+def add_global(output: list, interval: str, debug: str, one_shot: str) -> None: -+ """ -+ Add some options to [global] section with comment that this -+ option was migrated -+ @param output: list of lines to be added to final configuration file -+ @param interval: value of interval option -+ @param debug: value of debug option -+ @param one_shot: value of one_shot option -+ @return: None -+ """ - if interval: - output.append("#migrated\ninterval=%s\n" % interval.strip()) - if debug: -@@ -118,7 +144,15 @@ def add_global(output, interval, debug, one_shot): - output.append("#migrated\noneshot=%s\n" % ('True' if one_shot.strip() == '1' else 'False')) - - --def add_system_environment(output, env_vars={}): -+def add_system_environment(output: list, env_vars: dict = None) -> None: -+ """ -+ Add other environment variables defined in sysconfig file to [system_environment] section -+ @param output: list of lines to be added to final configuration file -+ @param env_vars: dictionary with other environment variables defined in sysconfig file -+ @return: None -+ """ -+ if env_vars is None: -+ return - for key, value in env_vars.items(): - if key: - output.append("#migrated\n%s=%s\n" % (key, value.strip())) diff --git a/SPECS/virt-who.spec b/SPECS/virt-who.spec index 23de110..67d07d1 100644 --- a/SPECS/virt-who.spec +++ b/SPECS/virt-who.spec @@ -20,8 +20,8 @@ Name: virt-who -Version: 1.31.23 -Release: 3%{?dist} +Version: 1.31.26 +Release: %{release_number}%{?dist} Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -30,8 +30,6 @@ Group: System Environment/Base License: GPLv2+ and LGPLv3+ URL: https://github.com/candlepin/virt-who Source0: %{name}-%{version}.tar.gz -Patch0: virt-who-1.31.23-1-to-virt-who-1.31.23-2.patch -Patch1: virt-who-1.31.23-2-to-virt-who-1.31.23-3.patch BuildArch: noarch BuildRequires: %{python_ver}-devel @@ -89,8 +87,6 @@ report them to the subscription manager. %prep %setup -q -%patch0 -p1 -%patch1 -p1 %build %{python_exec} setup.py build --rpm-version=%{version}-%{release_number} @@ -172,16 +168,21 @@ fi * Wed Mar 15 2023 MSVSphere Packaging Team - 1.31.23-1 - Rebuilt for MSVSphere 9.1. -* Tue Feb 07 2023 Jiri Hnidek 1.31.23-3 -- - -* Tue Feb 07 2023 Jiri Hnidek 1.31.24-3 -- 2165499: [1.31.23] Migrate virt-who.conf, when necessary (jhnidek@redhat.com) - -* Mon Nov 14 2022 William Poteat 1.31.23-2 -- Added configuration for rhel-9.1 into releasers.conf (jhnidek@redhat.com) -- 2127045: [1.31.23] Nutanix: Gather information about VMs correctly - (jhnidek@redhat.com) +* Wed Feb 01 2023 Jiri Hnidek 1.31.26-1 +- Fix stylish issue in migrateconfiguration.py (jhnidek@redhat.com) +- Added next rhel-9.x subversion to releasers.conf file. (jhnidek@redhat.com) +- 2158710: Migrated virt-who.conf, when necessary (jhnidek@redhat.com) +- Added documentation for the 'rhsm_insecure' option, for insecure connections + (fernandez.santos.d@gmail.com) +- Added configuration for rhel-9.x into releasers.conf (jhnidek@redhat.com) + +* Thu Oct 06 2022 William Poteat 1.31.25-1 +- 2099925: Drop support for RHEVM on RHEL 9 (jhnidek@redhat.com) +- Update virt-who-config.5 (s10w.1ife.31@gmail.com) +- Big optimization and refactoring of Nutanix code (jhnidek@redhat.com) + +* Thu Sep 01 2022 William Poteat 1.31.24-1 +- 2118253: Nutanix: Gather information about VMs correctly (jhnidek@redhat.com) * Thu Apr 21 2022 William Poteat 1.31.23-1 - 2054504: Use usedforsecurity=False for md5() calls to make suds work on FIPS