From 803219ec14b9813a36492fd81f16d220ed81c35b Mon Sep 17 00:00:00 2001 From: William Poteat Date: Thu, 18 Feb 2021 16:09:31 -0500 Subject: [PATCH 01/33] Update virt-who to 1.31.9-1 Resolves: #1924572 - Add insecure option to config template (wpoteat@redhat.com) --- .gitignore | 1 + sources | 4 ++-- virt-who.spec | 7 ++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a839e76..c979982 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /virt-who-1.31.6.tar.gz /virt-who-1.31.7.tar.gz /virt-who-1.31.8.tar.gz +/virt-who-1.31.9.tar.gz diff --git a/sources b/sources index e2bf81e..24d05ae 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-who-1.31.8.tar.gz) = 8a1496c14ee174f09d83dfb435ed369600ef884000776faa274eb29b000f8ac0c29463714002d6ae20bb8841bc9cf24925f36e70fe31fab59d08775ecc0c85e7 -SHA512 (build-rpm-no-ahv.patch) = f7bdfe5522619d1c1e299c842dd2a686d12ebe9783398e45c1b94d4040e004ddf549e65c8b91516a29d326490ec94bb9d3c83b61a71df1c0ec5eadd5877d1eca +SHA512 (virt-who-1.31.9.tar.gz) = 967c908c5f363ba45b68150f989cb9d09a919560859aea5ffe46a12aed667553aa18ddc017b13c35c3fd5f1fb6997b354699400e1013c773a8fc0e1fef70ce7d +SHA512 (build-rpm-no-ahv.patch) = 9c109f534653c4f4d6cf370579212532cb7ce26db782d20fe4d3443ed18c55fecafd6755ac1c32df1b75dd8d8d775bb93519d2d2b935775ff3e31aa4fe9220f1 diff --git a/virt-who.spec b/virt-who.spec index b0dfbf4..43d0346 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -20,7 +20,7 @@ Name: virt-who -Version: 1.31.8 +Version: 1.31.9 Release: %{release_number}%{?dist} Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -169,6 +169,11 @@ fi %changelog +* Thu Feb 18 2021 William Poteat 1.31.9-1 +- Man page update to describe the migration script (wpoteat@redhat.com) +- 1924572: Add insecure option to config template (wpoteat@redhat.com) +- Add Fedora 34 to releaser list (wpoteat@redhat.com) + * Thu Jan 28 2021 William Poteat 1.31.8-1 - Update AHV patch for Kubevirt change (wpoteat@redhat.com) From 15e2e0da605bebbe94e7ac8e501a93e0e186d639 Mon Sep 17 00:00:00 2001 From: William Poteat Date: Thu, 18 Feb 2021 16:12:09 -0500 Subject: [PATCH 02/33] Update virt-who to 1.31.9-1 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 24d05ae..1f54840 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (virt-who-1.31.9.tar.gz) = 967c908c5f363ba45b68150f989cb9d09a919560859aea5ffe46a12aed667553aa18ddc017b13c35c3fd5f1fb6997b354699400e1013c773a8fc0e1fef70ce7d -SHA512 (build-rpm-no-ahv.patch) = 9c109f534653c4f4d6cf370579212532cb7ce26db782d20fe4d3443ed18c55fecafd6755ac1c32df1b75dd8d8d775bb93519d2d2b935775ff3e31aa4fe9220f1 +SHA512 (build-rpm-no-ahv.patch) = f7bdfe5522619d1c1e299c842dd2a686d12ebe9783398e45c1b94d4040e004ddf549e65c8b91516a29d326490ec94bb9d3c83b61a71df1c0ec5eadd5877d1eca From 667af11923cbc390320c6582996baaa6663fb5ed Mon Sep 17 00:00:00 2001 From: Christopher Snyder Date: Thu, 18 Feb 2021 16:35:37 -0500 Subject: [PATCH 03/33] Update virt-who to 1.31.9-1 Resolves: #1924572 - Add insecure option to config template (wpoteat@redhat.com) --- .gitignore | 1 + sources | 2 +- virt-who.spec | 7 ++++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a839e76..c979982 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /virt-who-1.31.6.tar.gz /virt-who-1.31.7.tar.gz /virt-who-1.31.8.tar.gz +/virt-who-1.31.9.tar.gz diff --git a/sources b/sources index e2bf81e..1f54840 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-who-1.31.8.tar.gz) = 8a1496c14ee174f09d83dfb435ed369600ef884000776faa274eb29b000f8ac0c29463714002d6ae20bb8841bc9cf24925f36e70fe31fab59d08775ecc0c85e7 +SHA512 (virt-who-1.31.9.tar.gz) = 967c908c5f363ba45b68150f989cb9d09a919560859aea5ffe46a12aed667553aa18ddc017b13c35c3fd5f1fb6997b354699400e1013c773a8fc0e1fef70ce7d SHA512 (build-rpm-no-ahv.patch) = f7bdfe5522619d1c1e299c842dd2a686d12ebe9783398e45c1b94d4040e004ddf549e65c8b91516a29d326490ec94bb9d3c83b61a71df1c0ec5eadd5877d1eca diff --git a/virt-who.spec b/virt-who.spec index b0dfbf4..43d0346 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -20,7 +20,7 @@ Name: virt-who -Version: 1.31.8 +Version: 1.31.9 Release: %{release_number}%{?dist} Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -169,6 +169,11 @@ fi %changelog +* Thu Feb 18 2021 William Poteat 1.31.9-1 +- Man page update to describe the migration script (wpoteat@redhat.com) +- 1924572: Add insecure option to config template (wpoteat@redhat.com) +- Add Fedora 34 to releaser list (wpoteat@redhat.com) + * Thu Jan 28 2021 William Poteat 1.31.8-1 - Update AHV patch for Kubevirt change (wpoteat@redhat.com) From d6e1ec66a515edf6913ad5fe8a649205769349ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:12:03 +0100 Subject: [PATCH 04/33] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- virt-who.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 43d0346..15a5cca 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.9 -Release: %{release_number}%{?dist} +Release: %{release_number}%{?dist}.1 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -169,6 +169,10 @@ fi %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.31.9-1.1 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Thu Feb 18 2021 William Poteat 1.31.9-1 - Man page update to describe the migration script (wpoteat@redhat.com) - 1924572: Add insecure option to config template (wpoteat@redhat.com) From e663c6338ce51b44ece44080f4f52bf1e9c21c67 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 21:19:30 +0200 Subject: [PATCH 05/33] Rebuilt for Python 3.10 --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 15a5cca..1adbd97 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.9 -Release: %{release_number}%{?dist}.1 +Release: %{release_number}%{?dist}.2 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -169,6 +169,9 @@ fi %changelog +* Fri Jun 04 2021 Python Maint - 1.31.9-1.2 +- Rebuilt for Python 3.10 + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.31.9-1.1 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. From 62d99c020119cf08114b5739085a40c574e51348 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 20:34:09 +0000 Subject: [PATCH 06/33] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 1adbd97..4a025b5 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.9 -Release: %{release_number}%{?dist}.2 +Release: %{release_number}%{?dist}.3 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -169,6 +169,9 @@ fi %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 1.31.9-1.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri Jun 04 2021 Python Maint - 1.31.9-1.2 - Rebuilt for Python 3.10 From 07210e99e25ff336f2d597992ea15e070097d3a9 Mon Sep 17 00:00:00 2001 From: William Poteat Date: Thu, 16 Dec 2021 14:22:17 -0500 Subject: [PATCH 07/33] Update virt-who to 1.31.18-1 Resolves: #2000019 - Convert non-latin1 username/password to bytes (jhnidek@redhat.com) Resolves: #2018052 - Fix virt-who -s, when Hyper-V with new API is used Resolves: #2000922 - Add the suds code to virt-who in place of python3-suds package Resolves: #1981249 - Stop using NTLM which requires MD4 (OpenSSL 3.0) Resolves: #1989877 - Status command does not reach actual credentials checking Resolves: #1990550 - Add the description for nutanix mode in man virt-who and man virt- Resolves: #1990337 - The guest state in mapping should be uniform with other hypervisors Resolves: #1989646 - Get UnboundLocalError when configured hypervisor_id=hwuuid Resolves: #1989645 - Add dmi.system.uuid to ahv facts (wpoteat@redhat.com) Resolves: #1974624 - proxy error with https (wpoteat@redhat.com) Resolves: #1986973 - Take out AHV removal patch mechanism (wpoteat@redhat.com) Resolves: #1965320 - Clear previous report hash when hypervisor count is zero Resolves: #1951347 - Update patch for xen removal (wpoteat@redhat.com) Resolves: #1951347 - Remove Xen from hypervisor types (wpoteat@redhat.com) Resolves: #1920322 - Uncomment section header on migrate (wpoteat@redhat.com) --- .gitignore | 1 + build-rpm-no-ahv.patch | 1772 ---------------------------------------- sources | 3 +- virt-who.spec | 84 +- 4 files changed, 71 insertions(+), 1789 deletions(-) delete mode 100644 build-rpm-no-ahv.patch diff --git a/.gitignore b/.gitignore index c979982..5b5dc02 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /virt-who-1.31.7.tar.gz /virt-who-1.31.8.tar.gz /virt-who-1.31.9.tar.gz +/virt-who-1.31.18.tar.gz diff --git a/build-rpm-no-ahv.patch b/build-rpm-no-ahv.patch deleted file mode 100644 index 833a2f2..0000000 --- a/build-rpm-no-ahv.patch +++ /dev/null @@ -1,1772 +0,0 @@ -From d782073fe7c7e06fba327ffad6f3902e03c99e6b Mon Sep 17 00:00:00 2001 -From: Kevin Howell -Date: Fri, 18 Oct 2019 09:54:54 -0400 -Subject: [PATCH] Remove AHV support - ---- - tests/test_ahv.py | 566 --------------------- - virtwho/config.py | 4 +- - virtwho/parser.py | 4 +- - virtwho/virt/ahv/__init__.py | 6 - - virtwho/virt/ahv/ahv.py | 258 ---------- - virtwho/virt/ahv/ahv_constants.py | 21 - - virtwho/virt/ahv/ahv_interface.py | 804 ------------------------------ - virtwho/virt/virt.py | 1 - - 8 files changed, 3 insertions(+), 1661 deletions(-) - delete mode 100644 tests/test_ahv.py - delete mode 100644 virtwho/virt/ahv/__init__.py - delete mode 100644 virtwho/virt/ahv/ahv.py - delete mode 100644 virtwho/virt/ahv/ahv_constants.py - delete mode 100644 virtwho/virt/ahv/ahv_interface.py - -diff --git a/tests/test_ahv.py b/tests/test_ahv.py -deleted file mode 100644 -index d8ccbc8..0000000 ---- a/tests/test_ahv.py -+++ /dev/null -@@ -1,566 +0,0 @@ --from __future__ import print_function -- --import six -- --from base import TestBase --from mock import patch, call, ANY, MagicMock --from requests import Session --from six.moves.queue import Queue --from threading import Event -- --from virtwho import DefaultInterval --from virtwho.datastore import Datastore --from virtwho.virt.ahv.ahv import AhvConfigSection --from virtwho.virt import Virt, VirtError, Guest, Hypervisor -- -- -- --MY_SECTION_NAME = 'test-ahv' --DefaultUpdateInterval = 1800 --# Values used for testing AhvConfigSection. --PE_SECTION_VALUES = { -- 'type': 'ahv', -- 'server': '10.10.10.10', -- 'username': 'root', -- 'password': 'root_password', -- 'owner': 'nutanix', -- 'hypervisor_id': 'uuid', -- 'is_hypervisor': True, -- 'internal_debug': False, -- 'update_interval': 60 --} -- --HOST_UVM_MAP = \ -- {u'08469de5-be42-43e6-8c32-20167d3b58f7': -- {u'oplog_disk_pct': 3.4, -- u'memory_capacity_in_bytes': 135009402880, -- u'has_csr': False, -- u'default_vm_storage_container_uuid': None, -- u'hypervisor_username': u'root', -- u'key_management_device_to_certificate_status': {}, -- u'service_vmnat_ip': None, -- u'hypervisor_key': u'10.53.97.188', -- u'acropolis_connection_state': u'kConnected', -- u'management_server_name': u'10.53.97.188', -- u'failover_cluster_fqdn': None, -- u'serial': u'OM155S016008', -- u'bmc_version': u'01.92', -- u'hba_firmwares_list': -- [{u'hba_model': u'LSI Logic SAS3008', -- u'hba_version': u'MPTFW-06.00.00.00-IT'}], -- u'hypervisor_state': u'kAcropolisNormal', -- u'num_cpu_threads': 32, -- u'monitored': True, -- u'uuid': u'08469de5-be42-43e6-8c32-20167d3b58f7', -- u'reboot_pending': False, -- u'cpu_capacity_in_hz': 38384000000, -- u'num_cpu_sockets': 2, -- u'host_maintenance_mode_reason': None, -- u'hypervisor_address': u'10.53.97.188', -- u'host_gpus': None, -- u'failover_cluster_node_state': None, -- u'state': u'NORMAL', -- u'num_cpu_cores': 16, -- 'guest_list': -- [{u'vm_features': -- {u'AGENT_VM': False, -- u'VGA_CONSOLE': True}, -- u'name': u'am2', u'num_cores_per_vcpu': 1, -- u'gpus_assigned': False, u'num_vcpus': 2, -- u'memory_mb': 4096, -- u'power_state': u'on', -- u'ha_priority': 0, -- u'allow_live_migrate': True, -- u'timezone': u'America/Los_Angeles', -- u'vm_logical_timestamp': 48, -- u'host_uuid': u'08469de5-be42-43e6-8c32-20167d3b58f7', -- u'uuid': u'01dcfc0b-3092-4f1b-94fb-81b44ed352be'}, -- {u'vm_features': -- {u'AGENT_VM': False, u'VGA_CONSOLE': True}, -- u'name': u'am3', -- u'num_cores_per_vcpu': 1, -- u'gpus_assigned': False, -- u'num_vcpus': 2, u'memory_mb': 4096, -- u'power_state': u'on', -- u'ha_priority': 0, -- u'allow_live_migrate': True, -- u'timezone': u'America/Los_Angeles', -- u'vm_logical_timestamp': 3, -- u'host_uuid': u'08469de5-be42-43e6-8c32-20167d3b58f7', -- u'uuid': u'422f9171-db1f-48b0-a3de-b0bb92a8f559'}, -- {u'vm_features': -- {u'AGENT_VM': False, -- u'VGA_CONSOLE': True}, -- u'name': u'win_vm', -- u'num_cores_per_vcpu': 1, -- u'gpus_assigned': False, -- u'num_vcpus': 2, -- u'memory_mb': 4096, -- u'power_state': u'on', -- u'ha_priority': 0, -- u'allow_live_migrate': True, -- u'timezone': u'America/Los_Angeles', -- u'vm_logical_timestamp': 3, -- u'host_uuid': u'08469de5-be42-43e6-8c32-20167d3b58f7', -- u'uuid': u'98839f35-bd62-4255-a7cd-7668bc143554'}], -- u'cpu_model': u'Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz', -- u'ipmi_username': u'ADMIN', -- u'service_vmid': u'0005809e-62e4-75c7-611b-0cc47ac3b354::7', -- u'bmc_model': u'X10_ATEN', -- u'host_nic_ids': [], -- u'cluster_uuid': u'0005809e-62e4-75c7-611b-0cc47ac3b354', -- u'ipmi_password': None, -- u'cpu_frequency_in_hz': 2399000000, -- u'stats': -- {u'num_read_io': u'8', -- u'controller_read_io_bandwidth_kBps': u'0', -- u'content_cache_hit_ppm': u'1000000', -- }, -- u'num_vms': 4, u'default_vm_storage_container_id': None, -- u'metadata_store_status': u'kNormalMode', -- u'name': u'foyt-4', u'hypervisor_password': None, -- u'service_vmnat_port': None, -- u'hypervisor_full_name': u'Nutanix 20180802.100874', -- u'is_degraded': False, u'host_type': u'HYPER_CONVERGED', -- u'default_vhd_storage_container_uuid': None, -- u'block_serial': u'15SM60250038', -- u'disk_hardware_configs': -- {u'1': -- { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/BTHC506101XL480MGN', -- }, -- u'3': -- { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8E6QE', -- }, -- u'2': -- { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/BTHC50610246480MGN', -- }, -- u'5': -- { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8E835', -- }, -- u'4': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8E8B1', -- }, -- u'6': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8E7B3', -- }}, -- u'ipmi_address': u'10.49.27.28', u'bios_model': u'0824', -- u'default_vm_location': None, u'hypervisor_type': u'kKvm', -- u'service_vmexternal_ip': u'10.53.97.192', -- u'controller_vm_backplane_ip': u'10.53.97.192'}, -- u'54830446-b55e-4f16-aa74-7b6a9ac9a7a4': -- {u'oplog_disk_pct': 3.4, -- u'memory_capacity_in_bytes': 135009402880, u'has_csr': False, -- u'default_vm_storage_container_uuid': None, -- u'hypervisor_username': u'root', -- u'service_vmnat_ip': None, u'hypervisor_key': u'10.53.97.187', -- u'acropolis_connection_state': u'kConnected', -- u'hypervisor_state': u'kAcropolisNormal', -- u'num_cpu_threads': 32, u'monitored': True, -- u'uuid': u'54830446-b55e-4f16-aa74-7b6a9ac9a7a4', -- u'reboot_pending': False, u'cpu_capacity_in_hz': 38384000000, -- u'num_cpu_sockets': 2, u'host_maintenance_mode_reason': None, -- u'hypervisor_address': u'10.53.97.187', u'host_gpus': None, -- u'failover_cluster_node_state': None, u'state': u'NORMAL', -- u'num_cpu_cores': 16, u'block_model': u'UseLayout', -- 'guest_list': -- [{u'vm_features': -- {u'AGENT_VM': False, u'VGA_CONSOLE': True}, -- u'name': u'PC', u'num_cores_per_vcpu': 1, -- u'gpus_assigned': False, u'num_vcpus': 4, -- u'memory_mb': 16384, u'power_state': u'on', -- u'ha_priority': 0, u'allow_live_migrate': True, -- u'timezone': u'UTC', u'vm_logical_timestamp': 10, -- u'host_uuid': u'54830446-b55e-4f16-aa74-7b6a9ac9a7a4', -- u'uuid': u'd90b5443-97f0-47eb-986d-f14e062448d4'}, -- {u'vm_features': -- {u'AGENT_VM': False, u'VGA_CONSOLE': True}, -- u'name': u'am1', u'num_cores_per_vcpu': 1, -- u'gpus_assigned': False, u'num_vcpus': 2, -- u'memory_mb': 4096, u'power_state': u'on', -- u'ha_priority': 0, u'allow_live_migrate': True, -- u'timezone': u'America/Los_Angeles', -- u'vm_logical_timestamp': 14, -- u'host_uuid': u'54830446-b55e-4f16-aa74-7b6a9ac9a7a4', -- u'uuid': u'0af0a010-0ad0-4fba-aa33-7cc3d0b6cb7e'}], -- u'cpu_model': u'Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz', -- u'ipmi_username': u'ADMIN', -- u'service_vmid': u'0005809e-62e4-75c7-611b-0cc47ac3b354::6', -- u'bmc_model': u'X10_ATEN', u'host_nic_ids': [], -- u'cluster_uuid': u'0005809e-62e4-75c7-611b-0cc47ac3b354', -- u'stats': -- {u'num_read_io': u'27', -- u'controller_read_io_bandwidth_kBps': u'0', -- u'content_cache_hit_ppm': u'1000000', -- }, u'backplane_ip': None, -- u'vzone_name': u'', u'default_vhd_location': None, -- u'metadata_store_status_message': u'Metadata store enabled on the node', -- u'num_vms': 3, u'default_vm_storage_container_id': None, -- u'metadata_store_status': u'kNormalMode', u'name': u'foyt-3', -- u'hypervisor_password': None, u'service_vmnat_port': None, -- u'hypervisor_full_name': u'Nutanix 20180802.100874', -- u'is_degraded': False, u'host_type': u'HYPER_CONVERGED', -- u'default_vhd_storage_container_uuid': None, -- u'block_serial': u'15SM60250038', -- u'disk_hardware_configs': -- {u'1': -- { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/BTHC506101ST480MGN', -- }, -- u'3': -- { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8DXYY', -- }, -- u'2': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/BTHC506101D4480MGN', -- }, -- u'5': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8DQRM', -- }, -- u'4': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8DJ7E', -- }, -- u'6': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG8DVGG', -- }}, -- u'ipmi_address': u'10.49.27.27', u'bios_model': u'0824', -- u'hypervisor_type': u'kKvm', -- u'service_vmexternal_ip': u'10.53.97.191', -- u'controller_vm_backplane_ip': u'10.53.97.191' -- }, -- u'acc819fe-e0ff-4963-93a4-5a0e1d3c77d3': -- {u'oplog_disk_pct': 3.4, -- u'memory_capacity_in_bytes': 270302969856, u'has_csr': False, -- u'default_vm_storage_container_uuid': None, -- u'hypervisor_username': u'root', -- u'key_management_device_to_certificate_status': {}, -- u'service_vmnat_ip': None, u'hypervisor_key': u'10.53.96.75', -- u'acropolis_connection_state': u'kConnected', -- u'management_server_name': u'10.53.96.75', -- u'failover_cluster_fqdn': None, u'serial': u'ZM162S002621', -- u'bmc_version': u'01.97', -- u'hba_firmwares_list': -- [{u'hba_model': u'LSI Logic SAS3008', -- u'hba_version': u'MPTFW-10.00.03.00-IT'}], -- u'hypervisor_state': u'kAcropolisNormal', -- u'num_cpu_threads': 32, u'monitored': True, -- u'uuid': u'acc819fe-e0ff-4963-93a4-5a0e1d3c77d3', -- u'num_cpu_sockets': 2, u'host_maintenance_mode_reason': None, -- u'hypervisor_address': u'10.53.96.75', -- 'guest_list': -- [{u'vm_features': {u'AGENT_VM': False, u'VGA_CONSOLE': True}, -- u'name': u'am_RH_satellite', u'num_cores_per_vcpu': 2, -- u'gpus_assigned': False, u'num_vcpus': 4, u'memory_mb': 16384, -- u'power_state': u'on', u'ha_priority': 0, -- u'allow_live_migrate': True, u'timezone': u'America/Los_Angeles', -- u'vm_logical_timestamp': 5, -- u'host_uuid': u'acc819fe-e0ff-4963-93a4-5a0e1d3c77d3', -- u'uuid': u'e30f381d-d4bc-4958-a88c-79448efe5112'}, -- {u'vm_features': {u'AGENT_VM': False, u'VGA_CONSOLE': True}, -- u'name': u'am4', u'num_cores_per_vcpu': 1, -- u'gpus_assigned': False, u'num_vcpus': 2, u'memory_mb': 4096, -- u'power_state': u'on', u'ha_priority': 0, -- u'allow_live_migrate': True, u'timezone': u'America/Los_Angeles', -- u'vm_logical_timestamp': 2, -- u'host_uuid': u'acc819fe-e0ff-4963-93a4-5a0e1d3c77d3', -- u'uuid': u'f1e3362b-0377-4d70-bccd-63d2a1c09225'}], -- u'dynamic_ring_changing_node': None, -- u'cpu_model': u'Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz', -- u'ipmi_username': u'ADMIN', -- u'cluster_uuid': u'0005809e-62e4-75c7-611b-0cc47ac3b354', -- u'ipmi_password': None, u'cpu_frequency_in_hz': 2400000000, -- u'stats': {u'num_read_io': u'47', -- u'controller_read_io_bandwidth_kBps': u'0', -- u'content_cache_hit_ppm': u'1000000', -- }, u'backplane_ip': None, -- u'num_vms': 3, -- u'name': u'watermelon02-4', u'hypervisor_password': None, -- u'hypervisor_full_name': u'Nutanix 20180802.100874', -- u'is_degraded': False, u'host_type': u'HYPER_CONVERGED', -- u'default_vhd_storage_container_uuid': None, -- u'block_serial': u'16AP60170033', u'usage_stats': { -- }, -- u'disk_hardware_configs': { -- u'1': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/BTHC549209M3480MGN', -- }, -- u'3': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG9TRZQ'}, -- u'2': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/BTHC550503XF480MGN', -- }, -- u'5': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG9TS0N', -- }, -- u'4': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG9TSF7', -- }, -- u'6': { -- u'mount_path': u'/home/nutanix/data/stargate-storage/disks/9XG9TREW', -- }}, u'ipmi_address': u'10.49.26.188', -- u'bios_model': u'0824', u'default_vm_location': None, -- u'hypervisor_type': u'kKvm', -- u'position': {u'ordinal': 4, u'physical_position': None, -- u'name': u''}, -- u'service_vmexternal_ip': u'10.53.96.79', -- u'controller_vm_backplane_ip': u'10.53.96.79'}} -- -- --class TestAhvConfigSection(TestBase): -- """ -- Test base for testing class AhvConfigSection. -- """ -- -- def __init__(self, *args, **kwargs): -- super(TestAhvConfigSection, self).__init__(*args, **kwargs) -- self.ahv_config = None -- -- def init_virt_config_section(self, is_pc=False): -- """ -- Method executed before each unit test. -- """ -- self.ahv_config = AhvConfigSection(MY_SECTION_NAME, None) -- if is_pc: -- self.ahv_config['prism_central'] = True -- # We need to set values using this way, because we need -- # to trigger __setitem__ of virt_config. -- for key, value in PE_SECTION_VALUES.items(): -- self.ahv_config[key] = value -- -- def test_validate_ahv_PE_config(self): -- """ -- Test validation of ahv section. -- """ -- # PE validation. -- self.init_virt_config_section() -- result = self.ahv_config.validate() -- self.assertEqual(len(result), 0) -- -- # PC validation. -- self.init_virt_config_section(is_pc=True) -- result = self.ahv_config.validate() -- self.assertEqual(len(result), 0) -- -- def test_validate_ahv_invalid_server_ip(self): -- """ -- Test validation of ahv config. Invalid server IP. -- """ -- self.init_virt_config_section() -- self.ahv_config['server'] = '10.0.0.' -- result = self.ahv_config.validate() -- expected_result = ['Invalid server IP address provided'] -- six.assertCountEqual(self, expected_result, result) -- -- def test_validate_ahv_config_missing_username_password(self): -- """ -- Test validation of ahv config. Username and password is required. -- """ -- self.init_virt_config_section() -- del self.ahv_config['username'] -- del self.ahv_config['password'] -- result = self.ahv_config.validate() -- expected_result = [ -- ('error', 'Required option: "username" not set.'), -- ('error', 'Required option: "password" not set.') -- ] -- six.assertCountEqual(self, expected_result, result) -- -- def test_validate_ahv_config_invalid_internal_debug_flag(self): -- """ -- Test validation of ahv config. If update_interval and internal debug -- are not set then we get a warning message for each flag. -- """ -- self.init_virt_config_section() -- self.ahv_config['update_interval'] = 40 -- result = self.ahv_config.validate() -- message = "Interval value can't be lower than {min} seconds. " \ -- "Default value of {min} " \ -- "seconds will be used.".format(min=DefaultUpdateInterval) -- expected_result = [("warning", message)] -- six.assertCountEqual(self, expected_result, result) -- -- --class TestAhv(TestBase): -- -- @staticmethod -- def create_config(name, wrapper, **kwargs): -- config = AhvConfigSection(name, wrapper) -- config.update(**kwargs) -- config.validate() -- return config -- -- def setUp(self, is_pc=False): -- config = self.create_config(name='test', wrapper=None, type='ahv', -- server='10.10.10.10', username='username', -- password='password', owner='owner', -- prism_central=is_pc) -- self.ahv = Virt.from_config(self.logger, config, Datastore(), -- interval=DefaultInterval) -- -- @patch('virtwho.virt.ahv.ahv_interface.AhvInterface._progressbar') -- def run_once(self, queue=None): -- """Run AHV in oneshot mode.""" -- self.ahv._oneshot = True -- self.ahv.dest = queue or Queue() -- self.ahv._terminate_event = Event() -- self.ahv._oneshot = True -- self.ahv._interval = 0 -- self.ahv._run() -- -- @patch.object(Session, 'get') -- def test_connect_PE(self, mock_get): -- mock_get.return_value.status_code = 200 -- self.run_once() -- -- self.assertEqual(mock_get.call_count, 3) -- call_list = [ -- call('https://10.10.10.10:9440/api/nutanix/v2.0/clusters', -- data=ANY, headers=ANY, timeout=ANY, verify=ANY), -- call('https://10.10.10.10:9440/api/nutanix/v2.0/vms', -- data=ANY, headers=ANY, timeout=ANY, verify=ANY), -- call('https://10.10.10.10:9440/api/nutanix/v2.0/hosts', -- data=ANY, headers=ANY, timeout=ANY, verify=ANY) -- ] -- mock_get.assert_has_calls(call_list, any_order=True) -- -- @patch.object(Session, 'post') -- def test_connect_PC(self, mock_post): -- self.setUp(is_pc=True) -- -- mock_post.return_value.status_code = 200 -- self.run_once() -- -- self.assertEqual(mock_post.call_count, 3) -- call_list = [ -- call('https://10.10.10.10:9440/api/nutanix/v3/clusters/list', -- data=ANY, headers=ANY, timeout=ANY, verify=ANY), -- call('https://10.10.10.10:9440/api/nutanix/v3/vms/list', -- data=ANY, headers=ANY, timeout=ANY, verify=ANY), -- call('https://10.10.10.10:9440/api/nutanix/v3/hosts/list', -- data=ANY, headers=ANY, timeout=ANY, verify=ANY) -- ] -- mock_post.assert_has_calls(call_list, any_order=True) -- -- @patch.object(Session, 'get') -- def test_invalid_login_PE(self, mock_get): -- mock_get.return_value.ok = False -- mock_get.return_value.status_code = 401 -- self.assertRaises(VirtError, self.run_once) -- -- mock_get.return_value.status_code = 403 -- self.assertRaises(VirtError, self.run_once) -- -- @patch.object(Session, 'post') -- def test_invalid_login_PC(self, mock_post): -- self.setUp(is_pc=True) -- mock_post.return_value.ok = False -- mock_post.return_value.status_code = 401 -- self.assertRaises(VirtError, self.run_once) -- -- mock_post.return_value.status_code = 403 -- self.assertRaises(VirtError, self.run_once) -- -- @patch.object(Session, 'get') -- def test_connection_conflict_PE(self, mock_get): -- mock_get.return_value.ok = False -- mock_get.return_value.status_code = 409 -- self.assertRaises(VirtError, self.run_once) -- -- @patch.object(Session, 'post') -- def test_connection_conflict_PC(self, mock_post): -- self.setUp(is_pc=True) -- mock_post.return_value.ok = False -- mock_post.return_value.status_code = 409 -- self.assertRaises(VirtError, self.run_once) -- -- @patch('virtwho.virt.ahv.ahv_interface.AhvInterface.get_vm', return_value=None) -- @patch.object(Session, 'get') -- def test_no_retry_http_erros_PE(self, mock_get, mock_get_vm): -- mock_get.return_value.ok = False -- mock_get.return_value.status_code = 400 -- mock_get.return_value.text = 'Bad Request' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_get.return_value.status_code = 404 -- mock_get.return_value.text = 'Not Found Error' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_get.return_value.status_code = 500 -- mock_get.return_value.text = 'Internal Server Error' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_get.return_value.status_code = 502 -- mock_get.return_value.tex = 'Bad Gateway' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_get.return_value.status_code = 503 -- mock_get.return_value.text = 'Service Unavailable ' -- self.assertEqual(mock_get_vm.return_value, None) -- -- @patch('virtwho.virt.ahv.ahv_interface.AhvInterface.get_vm', return_value=None) -- @patch.object(Session, 'post') -- def test_no_retry_http_erros_PC(self, mock_post, mock_get_vm): -- self.setUp(is_pc=True) -- mock_post.return_value.ok = False -- mock_post.return_value.status_code = 400 -- mock_post.return_value.text = 'Bad Request' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_post.return_value.status_code = 404 -- mock_post.return_value.text = 'Not Found Error' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_post.return_value.status_code = 500 -- mock_post.return_value.text = 'Internal Server Error' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_post.return_value.status_code = 502 -- mock_post.return_value.tex = 'Bad Gateway' -- self.assertEqual(mock_get_vm.return_value, None) -- -- mock_post.return_value.status_code = 503 -- mock_post.return_value.text = 'Service Unavailable ' -- self.assertEqual(mock_get_vm.return_value, None) -- -- @patch('virtwho.virt.ahv.ahv_interface.AhvInterface.build_host_to_uvm_map') -- def test_getHostGuestMapping(self, host_to_uvm_map): -- host_to_uvm_map.return_value = HOST_UVM_MAP -- -- expected_result = [] -- -- for host_uuid in HOST_UVM_MAP: -- host = HOST_UVM_MAP[host_uuid] -- hypervisor_id = host_uuid -- host_name = host['name'] -- cluster_uuid = host['cluster_uuid'] -- guests = [] -- for guest_vm in host['guest_list']: -- state = guest_vm['power_state'] -- guests.append(Guest(guest_vm['uuid'], self.ahv.CONFIG_TYPE, -- state)) -- -- facts = { -- Hypervisor.CPU_SOCKET_FACT: '2', -- Hypervisor.HYPERVISOR_TYPE_FACT: u'kKvm', -- Hypervisor.HYPERVISOR_VERSION_FACT: 'Nutanix 20180802.100874', -- Hypervisor.HYPERVISOR_CLUSTER: str(cluster_uuid) -- } -- -- expected_result.append(Hypervisor( -- name=host_name, -- hypervisorId=hypervisor_id, -- guestIds=guests, -- facts=facts -- )) -- -- result = self.ahv.getHostGuestMapping()['hypervisors'] -- -- self.assertEqual(len(result), len(expected_result), 'lists length ' -- 'do not match') -- for index in range(0, len(result)): -- self.assertEqual(expected_result[index].toDict(), -- result[index].toDict()) -- -diff --git a/virtwho/config.py b/virtwho/config.py -index 3740e28..fdff5dd 100644 ---- a/virtwho/config.py -+++ b/virtwho/config.py -@@ -50,7 +50,7 @@ logger = log.getLogger(name='config', queue=False) - _effective_config = None - - VW_CONF_DIR = "/etc/virt-who.d/" --VW_TYPES = ("libvirt", "esx", "rhevm", "hyperv", "fake", "xen", "kubevirt", "ahv") -+VW_TYPES = ("libvirt", "esx", "rhevm", "hyperv", "fake", "xen", "kubevirt") - VW_GENERAL_CONF_PATH = "/etc/virt-who.conf" - VW_GLOBAL = "global" - VW_VIRT_DEFAULTS_SECTION_NAME = "defaults" -@@ -1151,7 +1151,7 @@ class VirtConfigSection(ConfigSection): - result = None - sm_type = self._values['sm_type'] - virt_type = self._values.get('type') -- if sm_type == 'sam' and virt_type in ('esx', 'rhevm', 'hyperv', 'xen', 'ahv'): -+ if sm_type == 'sam' and virt_type in ('esx', 'rhevm', 'hyperv', 'xen'): - if key not in self: - result = ( - 'warning', -diff --git a/virtwho/parser.py b/virtwho/parser.py -index 5b12d41..dd70af2 100644 ---- a/virtwho/parser.py -+++ b/virtwho/parser.py -@@ -47,7 +47,6 @@ SAT5_VM_DISPATCHER = { - 'rhevm': {'owner': False, 'server': True, 'username': True}, - 'hyperv': {'owner': False, 'server': True, 'username': True}, - 'kubevirt': {'owner': False, 'server': False, 'username': False, 'kubeconfig': True, 'kubeversion': False, 'insecure': False}, -- 'ahv' : {'owner': False, 'server': False, 'username': False}, - } - - SAT6_VM_DISPATCHER = { -@@ -57,7 +56,6 @@ SAT6_VM_DISPATCHER = { - 'rhevm': {'owner': True, 'server': True, 'username': True}, - 'hyperv': {'owner': True, 'server': True, 'username': True}, - 'kubevirt': {'owner': True, 'server': False, 'username': False, 'kubeconfig': True, 'kubeversion': False, 'insecure': False}, -- 'ahv' : {'owner': False, 'server': False, 'username': False}, - } - - class OptionError(Exception): -@@ -75,7 +73,7 @@ class StoreGroupArgument(Action): - def __call__(self, parser, namespace, values, option_string=None): - """ - When the argument from group is used, then this argument has to match -- virtualization backend [--libvirt|--esx|--rhevm|--hyperv|--xen|--kubevirt|--ahv] -+ virtualization backend [--libvirt|--esx|--rhevm|--hyperv|--xen|--kubevirt] - """ - options = vars(namespace) - virt_type = options['virt_type'] -diff --git a/virtwho/virt/ahv/__init__.py b/virtwho/virt/ahv/__init__.py -deleted file mode 100644 -index 01a19f8..0000000 ---- a/virtwho/virt/ahv/__init__.py -+++ /dev/null -@@ -1,6 +0,0 @@ --# -*- coding: utf-8 -*- --from __future__ import absolute_import, print_function -- --from .ahv import Ahv -- --__all__ = ['Ahv'] -diff --git a/virtwho/virt/ahv/ahv.py b/virtwho/virt/ahv/ahv.py -deleted file mode 100644 -index 47a786d..0000000 ---- a/virtwho/virt/ahv/ahv.py -+++ /dev/null -@@ -1,258 +0,0 @@ --import socket -- --from . import ahv_constants --from .ahv_interface import AhvInterface, Failure --from time import time --from virtwho import virt --from virtwho.config import VirtConfigSection --from virtwho.virt import Hypervisor, Guest -- --DefaultUpdateInterval = 1800 --MinimumUpdateInterval = 60 -- --class Ahv(virt.Virt): -- "AHV Rest client" -- CONFIG_TYPE = "ahv" -- def __init__(self, logger, config, dest, interval=None, -- terminate_event=None, oneshot=False): -- """ -- Args: -- logger (Logger): Framework logger. -- config (onfigSection): Virtwho configuration. -- dest (Datastore): Data store for destination. -- interval (Int): Wait interval for continuous run. -- terminate_event (Event): Event on termination. -- one_shot (bool): Flag to run virtwho as onetime or continuously. -- Returns: -- None. -- """ -- super(Ahv, self).__init__(logger, config, dest, -- terminate_event=terminate_event, -- interval=interval, -- oneshot=oneshot) -- self.config = config -- self.version = ahv_constants.VERSION_2 -- self.is_pc = False -- if 'prism_central' in self.config: -- if self.config['prism_central']: -- self.version = ahv_constants.VERSION_3 -- self.is_pc = True -- -- self.port = ahv_constants.DEFAULT_PORT -- self.url = ahv_constants.SERVER_BASE_URIL % (self.config['server'], -- self.port, self.version) -- self.port = ahv_constants.DEFAULT_PORT -- self.username = self.config['username'] -- self.password = self.config['password'] -- self.update_interval = self.config['update_interval'] -- self._interface = AhvInterface(logger, self.url, self.username, -- self.password, self.port, -- internal_debug=self.config['internal_debug']) -- -- def prepare(self): -- """ -- Prepare for obtaining information from AHV server. -- Args: -- None -- Returns: -- None -- """ -- self.logger.debug("Logging into Acropolis server %s" % self.url) -- self._interface.login(self.version) -- -- def _wait_for_update(self, timeout): -- """ -- Wait for an update from AHV. -- Args: -- timeout (int): timeout -- Returns: -- task list (list): List of vm or host related tasks. -- """ -- try: -- end_time = time() + timeout -- timestamp = int(time() * 1e6) -- while time() < end_time and not self.is_terminated(): -- try: -- response = self._interface.get_tasks(timestamp, self.version, -- self.is_pc) -- if len(response) == 0: -- # No events, continue to wait -- continue -- self.logger.debug('AHV event found: %s\n' % response) -- return response -- except Failure as e: -- if 'timeout' not in e.details: -- raise -- except Exception: -- self.logger.exception("Waiting on AHV events failed: ") -- -- return [] -- -- def getHostGuestMapping(self): -- """ -- Get a dict of host to uvm mapping. -- Args: -- None. -- Returns: -- None. -- """ -- mapping = {'hypervisors': []} -- -- host_uvm_map = self._interface.build_host_to_uvm_map(self.version) -- -- for host_uuid in host_uvm_map: -- host = host_uvm_map[host_uuid] -- -- try: -- if self.config['hypervisor_id'] == 'uuid': -- hypervisor_id = host_uuid -- elif self.config['hypervisor_id'] == 'hostname': -- hypervisor_id = host['name'] -- -- except KeyError: -- self.logger.debug("Host '%s' doesn't have hypervisor_id property", -- host_uuid) -- continue -- -- guests = [] -- if 'guest_list' in host and len(host['guest_list']) > 0: -- for guest_vm in host['guest_list']: -- try: -- state = guest_vm['power_state'] -- except KeyError: -- self.logger.warning("Guest %s is missing power state. Perhaps they" -- " are powered off", guest_vm['uuid']) -- continue -- guests.append(Guest(guest_vm['uuid'], self.CONFIG_TYPE, state)) -- else: -- self.logger.debug("Host '%s' doesn't have any vms", host_uuid) -- -- cluster_uuid = self._interface.get_host_cluster_uuid(host) -- host_version = self._interface.get_host_version(host) -- host_name = host['name'] -- -- facts = { -- Hypervisor.CPU_SOCKET_FACT: str(host['num_cpu_sockets']), -- Hypervisor.HYPERVISOR_TYPE_FACT: host.get('hypervisor_type', 'AHV'), -- Hypervisor.HYPERVISOR_VERSION_FACT: str(host_version), -- Hypervisor.HYPERVISOR_CLUSTER: str(cluster_uuid)} -- -- mapping['hypervisors'].append(virt.Hypervisor(hypervisorId=hypervisor_id, -- guestIds=guests, -- name=host_name, -- facts=facts)) -- return mapping -- -- def _run(self): -- """ -- Continuous run loop for virt-who on AHV. -- Args: -- None. -- Returns: -- None. -- """ -- self.prepare() -- next_update = time() -- initial = True -- wait_result = None -- while self._oneshot or not self.is_terminated(): -- -- delta = next_update - time() -- -- if initial: -- assoc = self.getHostGuestMapping() -- self._send_data(virt.HostGuestAssociationReport(self.config, assoc)) -- initial = False -- continue -- -- if delta > 0: -- # Wait for update. -- wait_result = self._wait_for_update(60 if initial else delta) -- if wait_result: -- events = wait_result -- else: -- events = [] -- else: -- events = [] -- -- if len(events) > 0 or delta > 0: -- assoc = self.getHostGuestMapping() -- self._send_data(virt.HostGuestAssociationReport(self.config, assoc)) -- -- if self._oneshot: -- break -- else: -- next_update = time() + self.update_interval -- --class AhvConfigSection(VirtConfigSection): -- """Class for intializing and processing AHV config""" -- VIRT_TYPE = 'ahv' -- HYPERVISOR_ID = ('uuid', 'hwuuid', 'hostname') -- -- def __init__(self, *args, **kwargs): -- """ -- Initialize AHV config and add config keys. -- Args: -- args: args -- kwargs : kwargs -- Returns: -- None. -- """ -- super(AhvConfigSection, self).__init__(*args, **kwargs) -- self.add_key('server', validation_method=self._validate_server, -- required=True) -- self.add_key('username', validation_method=self._validate_username, -- required=True) -- self.add_key('password', -- validation_method=self._validate_unencrypted_password, -- required=True) -- self.add_key('is_hypervisor', validation_method=self._validate_str_to_bool, -- default=True) -- self.add_key('prism_central', validation_method=self._validate_str_to_bool, -- default=None) -- self.add_key('internal_debug', validation_method=self._validate_str_to_bool, -- default=False) -- self.add_key('update_interval', -- validation_method=self._validate_update_interval, -- default=DefaultUpdateInterval) -- -- def _validate_server(self, key): -- """ -- Validate the server IP address. -- Args: -- key (Str): server Ip address. -- Returns: -- Socket error is returned in case of an invalid ip. -- """ -- error = super(AhvConfigSection, self)._validate_server(key) -- try: -- ip = self._values[key] -- socket.inet_aton(ip) -- except socket.error: -- error = 'Invalid server IP address provided' -- return error -- -- def _validate_update_interval(self, key): -- """ -- Validate the update internal flag. -- Args: -- key (Int): Update internal value. -- Returns: -- A warning is returned in case interval is not valid. -- """ -- result = None -- try: -- self._values[key] = int(self._values[key]) -- -- if self._values[key] < MinimumUpdateInterval: -- message = "Interval value can't be lower than {min} seconds. " \ -- "Default value of {min} " \ -- "seconds will be used.".format(min=DefaultUpdateInterval) -- result = ("warning", message) -- self._values['interval'] = DefaultUpdateInterval -- except KeyError: -- result = ('warning', '%s is missing' % key) -- except (TypeError, ValueError) as e: -- result = ( -- 'warning', '%s was not set to a valid integer: %s' % (key, str(e))) -- return result -diff --git a/virtwho/virt/ahv/ahv_constants.py b/virtwho/virt/ahv/ahv_constants.py -deleted file mode 100644 -index 95534a0..0000000 ---- a/virtwho/virt/ahv/ahv_constants.py -+++ /dev/null -@@ -1,21 +0,0 @@ --SERVER_BASE_URIL = 'https://%s:%d/api/nutanix/%s' --AHV_HYPERVIRSOR = ['kKvm', 'AHV', 'ahv', 'kvm'] --TASK_COMPLETE_MSG = ['SUCCEEDED', 'Succeeded'] --DEFAULT_PORT = 9440 --VERSION_2 = 'v2.0' --VERSION_3 = 'v3' -- --CMN_RST_CMD = {'get_vm': {'url': '/vms/%s', 'method': 'get'}, -- 'get_host': {'url': '/hosts/%s', 'method': 'get'}, -- 'get_tasks': {'url': '/tasks/list', 'method': 'post'}, -- 'get_task': {'url': '/tasks/%s', 'method': 'get'}} -- --REST_CMD = {VERSION_2: {'list_vms': {'url': '/vms', 'method': 'get'}, -- 'list_hosts': {'url': '/hosts', 'method': 'get'}, -- 'list_clusters' : {'url': '/clusters', -- 'method': 'get'}}, -- VERSION_3: {'list_vms': {'url': '/vms/list', 'method': 'post'}, -- 'list_hosts': {'url': '/hosts/list', 'method': 'post'}, -- 'list_clusters' : {'url': '/clusters/list', -- 'method': 'post'}}} -- -diff --git a/virtwho/virt/ahv/ahv_interface.py b/virtwho/virt/ahv/ahv_interface.py -deleted file mode 100644 -index 8b75cb6..0000000 ---- a/virtwho/virt/ahv/ahv_interface.py -+++ /dev/null -@@ -1,804 +0,0 @@ --import json --import math --import time --import sys --from . import ahv_constants --from requests import Session --from requests.exceptions import ConnectionError, ReadTimeout --from virtwho import virt -- --class AhvInterface(object): -- """ AHV REST Api interface class""" -- NO_RETRY_HTTP_CODES = [400, 404, 500, 502, 503] -- event_types = ['node', 'vm'] -- -- def __init__(self, logger, url, username, password, port, **kwargs): -- """ -- Args: -- logger (Log): Logger. -- url (str): Rest server url. -- username (str): Username. -- password (str): Password for rest client. -- port (int): Port number for ssp. -- kwargs(dict): Accepts following arguments: -- timeout(optional, int): Max seconds to wait before HTTP connection -- times-out. Default 30 seconds. -- retries (optional, int): Maximum number of retires. Default: 5. -- retry_interval (optional, int): Time to sleep between retry intervals. -- internal_debug (optional, bool): Detail log of the rest calls. -- Default: 5 seconds. -- """ -- self._session = Session() -- self._timeout = kwargs.get('timeout', 30) -- self._retries = kwargs.get('retries', 5) -- self._retry_interval = kwargs.get('retry_interval', 30) -- self._logger = logger -- self._url = url -- self._user = username -- self._password = password -- self._port = port -- self._internal_debug = kwargs.get('internal_debug', False) -- self._create_session(self._user, self._password) -- -- def _create_session(self, user=None, password=None): -- """ -- Creates rest session. -- Args: -- user (str): Username. -- password (str): Password for rest session. -- Returns: -- None. -- """ -- if user is None: -- user = self._user -- if password is None: -- password = self._password -- self._session.auth = (user, password) -- -- def _make_url(self, uri, *args): -- """ -- Creates base url. -- uri would always begin with a slash -- Args: -- uri (str): Uri. -- args (list): Args. -- Returns: -- url (str): Url with uri. -- """ -- if not uri.startswith("/"): -- uri = "/%s" % uri -- url = "%s%s" % (self._url, uri) -- for arg in args: -- url += "/%s" % str(arg) -- return url -- -- def _format_response(self, data): -- """ -- Format the data based on the response's version. -- Args: -- data (dict): Data dictionary. -- Returns: -- formatted_data (dict): Formatted dictionary. -- """ -- if 'entities' in data: -- return self._process_entities_list(data['entities']) -- else: -- return self._process_dict_response(data) -- -- def _process_dict_response(self, data): -- """ -- Format the data when we only have a dictionary. -- Args: -- data (dict): Data dictionary. -- Returns: -- formatted_data (dict): Formatted data. -- """ -- formatted_data = data -- if 'status' in data and 'metadata' in data: -- formatted_data = dict(data['status'], **data['metadata']) -- -- if 'resources' in formatted_data: -- if 'power_state' in formatted_data['resources']: -- formatted_data['power_state'] = \ -- formatted_data['resources']['power_state'] -- if 'num_cpu_sockets' in formatted_data['resources']: -- formatted_data['num_cpu_sockets'] = \ -- formatted_data['resources']['num_cpu_sockets'] -- -- return formatted_data -- -- def _process_entities_list(self, data): -- """ -- Format data for the list of entities. -- Args: -- data (list): List of entities dictionary. -- Returns: -- formatted_data (dict): Formatted data after processing list fo entities. -- """ -- formatted_data = data -- initial = True -- for entity in data: -- if 'status' in entity and 'metadata' in entity: -- if initial: -- formatted_data = [] -- initial = False -- formatted_data.append(dict(entity['status'], **entity['metadata'])) -- -- for ent_obj in formatted_data: -- if 'resources' in ent_obj: -- if 'nodes' in ent_obj['resources']: -- nodes = ent_obj['resources']['nodes'] -- if 'hypervisor_server_list' in nodes: -- ent_obj['hypervisor_types'] = [] -- for server in nodes['hypervisor_server_list']: -- ent_obj['hypervisor_types'].append(server['type']) -- -- if 'kind' in ent_obj: -- if ent_obj['kind'] == 'cluster': -- if 'uuid' in ent_obj: -- ent_obj['cluster_uuid'] = ent_obj['uuid'] -- -- return formatted_data -- -- def _progressbar(self, it, prefix="", size=60, file=sys.stdout, total=0, is_pc=False): -- count = total -- cursor = 0 -- def show(j): -- x = int(size*j/count) -- file.write("%s[%s%s] %i/%i\r" % (prefix, "#"*x, "."*(size-x), j, count)) -- file.flush() -- show(0) -- -- for i, item in enumerate(it): -- if is_pc: -- yield item -- for i in range(20): -- show(cursor+1) -- cursor += 1 -- if cursor == count: -- break -- time.sleep(0.1) -- else: -- show(i+1) -- -- yield item -- file.write("\n") -- file.flush() -- -- def login(self, version): -- """ -- Login to the rest server and ensure connection succeeds. -- Args: -- version (Str): Interface version. -- Returns: -- None. -- """ -- (url, cmd_method) = self.get_diff_ver_url_and_method( -- cmd_key='list_clusters', intf_version=version) -- self.make_rest_call(method=cmd_method, uri=url) -- self._logger.info("Successfully logged into the AHV REST server") -- -- def get_hypervisor_type(self, version, host_entity=None, vm_entity=None): -- """ -- Get the hypervisor type of the guest vm. -- Args: -- version (Str): API version. -- host_entity (Dict): Host info dict. -- vm_entity (Dict): Vm info dict. -- Returns: -- hypervisor_type (str): Vm hypervisor type. -- """ -- hypervisor_type = None -- if version == 'v2.0': -- if host_entity: -- hypervisor_type = host_entity['hypervisor_type'] -- else: -- self._logger.warning("Cannot retrieve the host type. Version:%s" -- % version) -- else: -- if vm_entity: -- if 'resources' in vm_entity: -- if 'hypervisor_type' in vm_entity['resources']: -- hypervisor_type = vm_entity['resources']['hypervisor_type'] -- else: -- self._logger.debug("Hypervisor type of the %s is not available" -- % vm_entity['uuid']) -- else: -- self._logger.warning("No vm entity is provided for version %s. " -- "Therefore it's unable to retrieve host type" -- % version) -- return hypervisor_type -- -- def get_common_ver_url_and_method(self, cmd_key): -- """ -- Gets the correct cmd name based on its corresponding version. -- Args: -- cmd_key (str): Key name to search for in the command dict. -- Returns: -- (str, str) : Tuple of (command, rest_type). -- """ -- return (ahv_constants.CMN_RST_CMD[cmd_key]['url'], -- ahv_constants.CMN_RST_CMD[cmd_key]['method']) -- -- def get_diff_ver_url_and_method(self, cmd_key, intf_version): -- """ -- Gets the correct cmd name based on its corresponding version -- Args: -- cmd_key (str): Key name to search for in the command dict. -- intf_version (str): Interface version. -- Returns: -- (str, str) : Tuple of (command, rest_type). -- """ -- return (ahv_constants.REST_CMD[intf_version][cmd_key]['url'], -- ahv_constants.REST_CMD[intf_version][cmd_key]['method']) -- -- def get(self, uri, *args, **kwargs): -- """ -- Args are appended to the url as components. -- /arg1/arg2/arg3 -- Send a get request with kwargs to the server. -- Args: -- uri (str): Uri. -- args (list): Args. -- kwargs (dict): Dictionary of params. -- Returns: -- Response (requests.Response): rsp. -- """ -- url = self._make_url(uri, *args) -- return self._send('get', url, **kwargs) -- -- def post(self, uri, **kwargs): -- """ -- Send a Post request to the server. -- Body can be either the dict or passed as kwargs -- headers is a dict. -- Args: -- uri (str): Uri. -- kwargs (dict): Dictionary of params. -- Returns: -- Response (requests.Response): rsp. -- """ -- url = self._make_url(uri) -- return self._send('post', url, **kwargs) -- -- def make_rest_call(self, method, uri, *args, **kwargs): -- """This method calls the appropriate rest method based on the arguments. -- -- Args: -- method (str): HTTP method. -- uri (str): Relative_uri. -- args(any): Arguments. -- kwargs(dict): Key value pair for the additional args. -- -- Returns: -- rsp (dict): The response content loaded as a JSON. -- """ -- func = getattr(self, method) -- return func(uri, *args, **kwargs) -- -- def _send(self, method, url, **kwargs): -- """This private method acting as proxy for all http methods. -- Args: -- method (str): The http method type. -- url (str): The URL to for the Request -- kwargs (dict): Keyword args to be passed to the requests call. -- retries (int): The retry count in case of HTTP errors. -- Except the codes in the list NO_RETRY_HTTP_CODES. -- -- Returns: -- Response (requests.Response): The response object. -- """ -- kwargs['verify'] = kwargs.get('verify', False) -- if 'timeout' not in kwargs: -- kwargs['timeout'] = self._timeout -- if 'data' not in kwargs: -- body = {} -- kwargs['data'] = json.dumps(body) -- content_dict = {'content-type': 'application/json'} -- kwargs.setdefault('headers', {}) -- kwargs['headers'].update(content_dict) -- -- func = getattr(self._session, method) -- response = None -- -- retries = kwargs.pop("retries", None) -- retry_interval = kwargs.pop("retry_interval", self._retry_interval) -- retry_count = retries if retries else self._retries -- for ii in range(retry_count): -- try: -- response = func(url, **kwargs) -- if self._internal_debug: -- self._logger.debug("%s method The request url sent: %s" % ( -- method.upper(), response.request.url)) -- self._logger.debug('Response status: %d' % response.status_code) -- self._logger.debug('Response: %s' % json.dumps(response.json(), -- indent=4)) -- -- except (ConnectionError, ReadTimeout) as e: -- self._logger.warning("Request failed with error: %s" % e) -- if ii != retry_count - 1: -- time.sleep(retry_interval) -- continue -- finally: -- self._session.close() -- if response.ok: -- return response -- if response.status_code in [401, 403]: -- raise virt.VirtError('HTTP Auth Failed %s %s. \n res: response: %s' % -- (method, url, response)) -- elif response.status_code == 409: -- raise virt.VirtError('HTTP conflict with the current state of the ' -- 'target resource %s %s. \n res: %s' % -- (method, url, response)) -- elif response.status_code in self.NO_RETRY_HTTP_CODES: -- break -- if ii != retry_count - 1: -- time.sleep(retry_interval) -- -- if response is not None: -- msg = 'HTTP %s %s failed: ' % (method, url) -- if hasattr(response, "text") and response.text: -- msg = "\n".join([msg, response.text]).encode('utf-8') -- self._logger.error(msg) -- else: -- self._logger.error("Failed to make the HTTP request (%s, %s)" % -- (method, url)) -- -- def get_tasks(self, timestamp, version, is_pc=False): -- """ -- Returns a list of AHV tasks which happened after timestamp. -- Args: -- timestamp (int): Current timestamp. -- version (str): Interface version. -- is_pc (bool): Flag to determine f we need to poll for PC tasks. -- Returns: -- Task list (list): list of tasks. -- """ -- ahv_clusters = self.get_ahv_cluster_uuids(version) -- (uri, cmd_method) = self.get_common_ver_url_and_method(cmd_key='get_tasks') -- # For task return. Use fv2.0 for now. update the url to use v2.0. -- url = self._url[:(self._url).rfind('v')] + 'v2.0' + uri -- -- res = self._send(method=cmd_method, url=url) -- data = res.json() -- -- if is_pc: -- return self.get_pc_tasks(data, timestamp, ahv_clusters) -- else: -- return self.get_pe_tasks(data, timestamp, ahv_clusters) -- -- def get_pc_tasks(self, data, timestamp, ahv_clusters): -- """ -- Returns a list of AHV tasks on PC which happened after timestamp. -- Args: -- data (json): Rest response in json format. -- timestamp (str): Current timestamp. -- ahv_clusters (list): List of ahv clusters uuid. -- Returns: -- task_list (list): list of tasks on PC. -- """ -- (uri, cmd_method) = self.get_common_ver_url_and_method(cmd_key='get_task') -- # For task return. Use fv2.0 for now. update the url to use v2.0. -- url = self._url[:(self._url).rfind('v')] + 'v2.0' + uri -- -- task_completed = False -- task_list = [] -- if 'entities' in data: -- for task in data['entities']: -- if 'start_time_usecs' in task: -- if task['start_time_usecs'] > timestamp: -- -- if 'progress_status' in task: -- if task['progress_status'] in ahv_constants.TASK_COMPLETE_MSG: -- task_completed = True -- elif 'status' in task: -- if task['status'] in ahv_constants.TASK_COMPLETE_MSG: -- task_completed = True -- -- if task_completed: -- task_completed=False -- if 'subtask_uuid_list' in task: -- for subtask in task['subtask_uuid_list']: -- url = url % subtask -- subtask_resp = self._send(cmd_method, url) -- subtask_data = subtask_resp.json() -- -- if 'progress_status' in subtask_data: -- if subtask_data['progress_status'] in \ -- ahv_constants.TASK_COMPLETE_MSG: -- -- if 'cluster_uuid' in subtask_data: -- cluster_uuid = subtask_data['cluster_uuid'] -- else: -- # Task does not have any cluster associated with it, -- # skip it. -- continue -- -- if cluster_uuid in ahv_clusters: -- if 'entity_list' in task: -- entity_type_list = task['entity_list'] -- else: -- # Task doesn't have any entity list, skip it. -- continue -- -- if entity_type_list: -- for ent_type in entity_type_list: -- if 'entity_type' in ent_type: -- if (str(ent_type['entity_type'])).lower() \ -- in self.event_types: -- task_list.append(task) -- task_list.append(subtask_data) -- -- else: -- # Task has not finished or it failed, skip it and continue -- # the loop -- continue -- -- return task_list -- -- -- -- def get_pe_tasks(self, data, timestamp, ahv_clusters): -- """ -- Returns a list of AHV tasks on PE which happened after timestamp. -- Args: -- data (json): rest response in json format. -- timestamp (str): Current timestamp. -- ahv_clusters (list): list of ahv clusters uuid. -- Returns: -- task_list (list): list of tasks on PE. -- """ -- task_completed = False -- task_list = [] -- -- if 'entities' in data: -- for task in data['entities']: -- if 'start_time_usecs' in task: -- if task['start_time_usecs'] > timestamp: -- -- if 'progress_status' in task: -- if task['progress_status'] in ahv_constants.TASK_COMPLETE_MSG: -- task_completed = True -- elif 'status' in task: -- if task['status'] in ahv_constants.TASK_COMPLETE_MSG: -- task_completed = True -- -- if task_completed: -- task_completed = False -- if 'cluster_reference' in task: -- if 'uuid' in task['cluster_reference']: -- cluster_uuid = task['cluster_reference']['uuid'] -- elif 'cluster_uuid' in task: -- cluster_uuid = task['cluster_uuid'] -- else: -- # Task does not have any cluster associated with it, skip it. -- continue -- -- if cluster_uuid in ahv_clusters: -- if 'entity_list' in task: -- entity_type_list = task['entity_list'] -- elif 'entity_reference_list' in task: -- entity_type_list = task['entity_reference_list'] -- else: -- # Task doesn't have any entity list, skip it. -- continue -- -- for ent_type in entity_type_list: -- if 'entity_type' in ent_type: -- if (str(ent_type['entity_type'])).lower() \ -- in self.event_types: -- task_list.append(task) -- elif 'kind' in ent_type: -- if (str(ent_type['kind'])).lower() in self.event_types: -- task_list.append(task) -- else: -- # Task doesn't have any event type associated to it. -- continue -- return task_list -- -- def get_vms_uuid(self, version): -- """ -- Returns the list of vms uuid. -- Args: -- version (str): Interface version. -- Returns: -- vm_uuid_list (list): list of vm's uuid. -- """ -- self._logger.info("Getting the list of available vms") -- is_pc=True if version == 'v3' else False -- vm_uuid_list = [] -- length = 0 -- offset = 0 -- total_matches = 0 -- count = 1 -- current = 0 -- (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) -- data = res.json() -- if 'metadata' in data: -- if 'total_matches' in data['metadata'] and 'length' in data['metadata']: -- length = data['metadata']['length'] -- total_matches = data['metadata']['total_matches'] -- elif 'count' in data['metadata'] and \ -- 'grand_total_entities' in data['metadata'] and \ -- 'total_entities' in data['metadata']: -- -- total_matches = data['metadata']['grand_total_entities'] -- count = data['metadata']['count'] -- length = data['metadata']['total_entities'] -- -- 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)) -- count = math.ceil(total_matches/float(length)) -- -- body = {'length': length, 'offset': offset} -- for i in self._progressbar(range(int(count)), "Finding vms uuid: ", total=int(total_matches), is_pc=is_pc): -- if 'entities' in data: -- for vm_entity in data['entities']: -- if 'metadata' in vm_entity: -- vm_uuid_list.append(vm_entity['metadata']['uuid']) -- elif 'uuid' in vm_entity: -- vm_uuid_list.append(vm_entity['uuid']) -- else: -- self._logger.warning("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() -- current += 1 -- -- self._logger.info("Total number of vms uuids found and saved for processing %s" % len(vm_uuid_list)) -- return vm_uuid_list -- -- def get_hosts_uuid(self, version): -- """ -- Returns the list of host uuid. -- Args: -- version (str): Interface version. -- Returns: -- host_uuid_list (list): list of host's uuid. -- """ -- host_uuid_list = [] -- (url, cmd_method) = self.get_diff_ver_url_and_method( -- cmd_key='list_hosts', intf_version=version) -- -- res = self.make_rest_call(method=cmd_method, uri=url) -- data = res.json() -- if 'entities' in data: -- for host_entity in data['entities']: -- if 'status' in host_entity and'metadata' in host_entity: -- # Check if a physical host, not a cluster. -- if 'cpu_model' in host_entity['status']: -- host_uuid_list.append(host_entity['metadata']['uuid']) -- elif 'uuid' in host_entity: -- host_uuid_list.append(host_uuid_list['uuid']) -- else: -- self._logger.warning("Cannot access the uuid for the. " -- "host object: %s" % (host_entity)) -- -- -- def get_host_cluster_uuid(self, host_info): -- """ -- Returns host's cluster UUID. -- Args: -- host_info (dict): Host info dict. -- Returns: -- host_cluster_uuid (uuid): host's cluster uuid. -- """ -- if 'cluster_uuid' in host_info: -- return host_info['cluster_uuid'] -- elif 'cluster_reference' in host_info: -- return host_info['cluster_reference']['uuid'] -- -- def get_ahv_cluster_uuids(self, version): -- """ -- Returns list of ahv cluster uuids. -- Args: -- version (str): Interface version. -- Returns: -- ahv_host_cluster_uuids (List): Returns list of ahv cluster uuids. -- """ -- ahv_host_cluster_uuids = [] -- seen = set(ahv_host_cluster_uuids) -- -- (url, cmd_method) = self.get_diff_ver_url_and_method( -- cmd_key='list_clusters', intf_version=version) -- res = self.make_rest_call(method=cmd_method, uri=url) -- data = res.json() -- -- formatted_data = self._format_response(data) -- -- for cluster in formatted_data: -- if 'hypervisor_types' in cluster and 'cluster_uuid' in cluster: -- for hypevirsor_type in cluster['hypervisor_types']: -- if hypevirsor_type in ahv_constants.AHV_HYPERVIRSOR: -- cluster_uuid = cluster['cluster_uuid'] -- if cluster_uuid not in seen: -- seen.add(cluster_uuid) -- ahv_host_cluster_uuids.append(cluster['cluster_uuid']) -- break -- -- return ahv_host_cluster_uuids -- -- def get_host_version(self, host_info): -- """ -- Returns host's version. -- Args: -- host_info (dict): Host info dict. -- Returns: -- host_version (Str): Host version if found, None otherwise. -- """ -- host_version = None -- if 'resources' in host_info: -- host_resources = host_info['resources'] -- if 'hypervisor' in host_resources: -- if 'hypervisor_full_name' in host_resources['hypervisor']: -- host_version = host_resources['hypervisor']['hypervisor_full_name'] -- elif 'hypervisor_full_name' in host_info: -- host_version = host_info['hypervisor_full_name'] -- else: -- self._logger.warning("Cannot get host version for %s" -- % host_info['uuid']) -- -- return host_version -- -- def get_vm(self, uuid): -- """ -- Returns vm information -- Args: -- uuid (str): Vm uuid. -- Return: -- data (dict): Vm information. -- """ -- (url, cmd_method) = self.get_common_ver_url_and_method(cmd_key='get_vm') -- url = url % uuid -- res = self.make_rest_call(method=cmd_method, uri=url) -- if res: -- data = res.json() -- return self._format_response(data) -- return None -- -- def get_host(self, uuid): -- """ -- Returns host information -- Args: -- uuid (str): Host uuid. -- Return: -- data (dict): Host information. -- """ -- (url, cmd_method) = self.get_common_ver_url_and_method(cmd_key='get_host') -- url = url % uuid -- res = self.make_rest_call(method=cmd_method, uri=url) -- if res: -- data = res.json() -- return self._format_response(data) -- else: -- return None -- -- def get_vm_host_uuid_from_vm(self, vm_entity): -- """ -- Get the host uuid from the vm_entity response -- Args: -- vm_entity (dict): Vm info. -- Returns: -- host uuid (str): Vm host uuid if found, none otherwise. -- """ -- if 'resources' in vm_entity: -- if 'host_reference' in vm_entity['resources']: -- return vm_entity['resources']['host_reference']['uuid'] -- else: -- self._logger.warning("Did not find any host information for vm:%s" -- % vm_entity['uuid']) -- elif 'host_uuid' in vm_entity: -- return vm_entity['host_uuid'] -- else: -- # Vm is off therefore no host is assigned to it. -- self._logger.debug('Cannot get the host uuid of the vm:%s. ' -- 'perhaps the vm is powered off' % vm_entity['uuid']) -- return None -- -- def is_ahv_host(self, version, host_uuid, vm_entity=None): -- """ -- Determine if a given host is a AHV host. -- host uuid should match the host uuid in vm_entity. -- Args: -- version (str): API version. -- host_uuid (str): uuid of a host. -- vm_entity (dict): For v3 -- Returns: -- bool : True if host is ahv; false otehrwise. -- """ -- if version == 'v2.0': -- host = self.get_host(host_uuid) -- if 'hypervisor_type' in host: -- return host['hypervisor_type'] in ahv_constants.AHV_HYPERVIRSOR -- else: -- if 'resources' in vm_entity: -- if 'hypervisor_type' in vm_entity['resources']: -- return vm_entity['resources']['hypervisor_type'] in \ -- ahv_constants.AHV_HYPERVIRSOR -- self._logger.debug('Hypervisor type not found. \nversion:%s, ' -- '\nhost_uuid:%s, \nvm_entity:%s' -- % (version, host_uuid, vm_entity)) -- return False -- -- def build_host_to_uvm_map(self, version): -- """ -- Builds a dictionary of every ahv host along with the vms they are hosting -- Args: -- version (Str): API version -- Returns: -- host_uvm_map (dict): Dict of ahv host with its uvms. -- """ -- host_uvm_map = {} -- vm_entity = None -- host_uuid = None -- vm_uuids = self.get_vms_uuid(version) -- -- self._logger.info("Processing hosts for each vm.") -- if len(vm_uuids) > 0: -- for vm_uuid in vm_uuids: -- vm_entity = self.get_vm(vm_uuid) -- if vm_entity: -- host_uuid = self.get_vm_host_uuid_from_vm(vm_entity) -- if host_uuid: -- if self.is_ahv_host(version, host_uuid, vm_entity): -- host = self.get_host(host_uuid) -- if host: -- if host_uuid not in host_uvm_map: -- host_uvm_map[host_uuid] = host -- if 'guest_list' in host_uvm_map[host_uuid]: -- host_uvm_map[host_uuid]['guest_list'].append(vm_entity) -- else: -- host_uvm_map[host_uuid]['guest_list'] = [] -- host_uvm_map[host_uuid]['guest_list'].append(vm_entity) -- else: -- self._logger.warning("unable to read information for host %s" % host_uuid) -- continue -- else: -- self._logger.debug("Host %s is not ahv, skipping it." % host_uuid) -- continue -- host_type = self.get_hypervisor_type(version, host, vm_entity) -- host_uvm_map[host_uuid]['hypervisor_type'] = host_type -- else: -- self._logger.warning("No available vms found") -- try: -- host_uuids = self.get_hosts_uuid(version) -- if len(host_uuids) > 0: -- for host_uuid in host_uuids: -- host = self.get_host(host_uuid) -- if host_uuid not in host_uvm_map: -- host_uvm_map[host_uuid] = host -- host_uvm_map[host_uuid]['guest_list'] = [] -- -- else: -- self._logger.warning("No Available AHV host found") -- except TypeError: -- # In case there is no cluster registered to the PC. -- self._logger.warning("Unable to find any AHV hosts.") -- -- return host_uvm_map -- --class Failure(Exception): -- -- def __init__(self, details): -- self.details = details -- -- def __str__(self): -- try: -- return str(self.details) -- except Exception as exn: -- import sys -- print(exn) -- return "AHV-API failure: %s" % str(self.details) -- -- def _details_map(self): -- return dict([(str(i), self.details[i]) for i in range(len(self.details))]) -diff --git a/virtwho/virt/virt.py b/virtwho/virt/virt.py -index 5495657..466dc90 100644 ---- a/virtwho/virt/virt.py -+++ b/virtwho/virt/virt.py -@@ -923,7 +923,6 @@ class Virt(IntervalThread): - import virtwho.virt.hyperv # flake8: noqa - import virtwho.virt.fakevirt # flake8: noqa - import virtwho.virt.kubevirt # flake8: noqa -- import virtwho.virt.ahv # flake8: noqa - - return [subcls for subcls in cls.__subclasses__()] - --- -2.26.2 - diff --git a/sources b/sources index 1f54840..fdc2a23 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (virt-who-1.31.9.tar.gz) = 967c908c5f363ba45b68150f989cb9d09a919560859aea5ffe46a12aed667553aa18ddc017b13c35c3fd5f1fb6997b354699400e1013c773a8fc0e1fef70ce7d -SHA512 (build-rpm-no-ahv.patch) = f7bdfe5522619d1c1e299c842dd2a686d12ebe9783398e45c1b94d4040e004ddf549e65c8b91516a29d326490ec94bb9d3c83b61a71df1c0ec5eadd5877d1eca +SHA512 (virt-who-1.31.18.tar.gz) = 9dff7d4dc2f5b7512cc15db2e6e62bb8fb92b546c3abb4082e25764c08788b91d7937ff55cc03fdc45f5cc77f9d54981d483ca4cc46e64ac9ca01fcebccc078b diff --git a/virt-who.spec b/virt-who.spec index 4a025b5..ef7e694 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -20,8 +20,8 @@ Name: virt-who -Version: 1.31.9 -Release: %{release_number}%{?dist}.3 +Version: 1.31.18 +Release: %{release_number}%{?dist} Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -29,7 +29,6 @@ Group: System Environment/Base License: GPLv2+ URL: https://github.com/candlepin/virt-who Source0: %{name}-%{version}.tar.gz -Patch1: build-rpm-no-ahv.patch BuildArch: noarch BuildRequires: %{python_ver}-devel @@ -50,8 +49,6 @@ Requires: python3-subscription-manager-rhsm > 1.25.6 %else Requires: subscription-manager-rhsm > 1.25.6 %endif -# python-suds is required for vSphere support -Requires: %{python_ver}-suds # m2crypto OR python3-cryptography is required for Hyper-V support %if %{use_python3} Requires: python3-cryptography @@ -88,9 +85,6 @@ report them to the subscription manager. %prep %setup -q -%if 0%{?rhel} -%patch1 -p1 -%endif %build %{python_exec} setup.py build --rpm-version=%{version}-%{release_number} @@ -169,15 +163,75 @@ fi %changelog -* Fri Jul 23 2021 Fedora Release Engineering - 1.31.9-1.3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +* Thu Dec 16 2021 William Poteat 1.31.18-1 +- 2000019: Convert non-latin1 username/password to bytes (jhnidek@redhat.com) +- 2018052: Fix virt-who -s, when Hyper-V with new API is used + (jhnidek@redhat.com) +- ENT-4511: Remove six package from requirements (mhorky@redhat.com) +- ENT-4511: Drop Python 2 only tests (mhorky@redhat.com) +- ENT-4511: Drop six usage in suds tests (mhorky@redhat.com) +- ENT-4511: Drop six usage in tests (mhorky@redhat.com) +- ENT-4511: Drop six usage in virt-who code (mhorky@redhat.com) +- ENT-4511: Drop OrderedDict implementation (mhorky@redhat.com) +- Update for deprecation of MutableMapping (wpoteat@redhat.com) +- Only query the VM related taks in AHV hypervisors. (amir.eibagi@nutanix.com) +- Remove unused NTLM code as only basic auth is used (wpoteat@redhat.com) -* Fri Jun 04 2021 Python Maint - 1.31.9-1.2 -- Rebuilt for Python 3.10 +* Tue Sep 14 2021 William Poteat 1.31.17-1 +- Bypass stylish check on suds code (wpoteat@redhat.com) +- 2000922: Add the suds code to virt-who in place of python3-suds package + (wpoteat@redhat.com) +- ENT-4004: Fix flake8 issues for test files (mhorky@redhat.com) +- ENT-4004: Use four spaces for indentation (mhorky@redhat.com) +- ENT-4004: Fix flake8 issues (mhorky@redhat.com) +- ENT-4004: Add stylish tests (mhorky@redhat.com) +- Cannot use ESX where python3-suds is not available (wpoteat@redhat.com) +- 1981249: Stop using NTLM which requires MD4 (OpenSSL 3.0) + (csnyder@redhat.com) +- 1989877: Status command does not reach actual credentials checking + (wpoteat@redhat.com) +- Make changes to follow Conscious language initiative (mhorky@redhat.com) -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.31.9-1.1 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. +* Fri Aug 06 2021 William Poteat 1.31.16-1 +- 1990550: Add the description for nutanix mode in man virt-who and man virt- + who-config (wpoteat@redhat.com) +- 1990337: The guest state in mapping should be uniform with other hypervisors + 1990338: The guest shows wrong active value "0" in mapping when it's running + (wpoteat@redhat.com) +- 1989646: Get UnboundLocalError when configured hypervisor_id=hwuuid + (wpoteat@redhat.com) +- 1989645: Add dmi.system.uuid to ahv facts (wpoteat@redhat.com) +- 1974624: proxy error with https (wpoteat@redhat.com) + +* Tue Aug 03 2021 William Poteat 1.31.15-1 +- 1986973: Take out AHV removal patch mechanism (wpoteat@redhat.com) +- Update AHV patch (wpoteat@redhat.com) + +* Fri Jul 16 2021 William Poteat 1.31.14-1 +- Merge run data into report (wpoteat@redhat.com) +- Update the man page for the status mode (wpoteat@redhat.com) +- Status execution (wpoteat@redhat.com) +- Record last dates of succcess for sources and destinations + (wpoteat@redhat.com) +- Update certs for complex tests (wpoteat@redhat.com) + +* Thu Jun 03 2021 William Poteat 1.31.13-1 +- 1965320: Clear previous report hash when hypervisor count is zero + (wpoteat@redhat.com) +- Added support for Packit service (jhnidek@redhat.com) +- Convert CI from Travis to Jenkins (wpoteat@redhat.com) + +* Fri May 21 2021 William Poteat 1.31.12-1 +- 1951347: Update patch for xen removal (wpoteat@redhat.com) + +* Thu May 20 2021 William Poteat 1.31.11-1 +- 1951347: Remove Xen from hypervisor types (wpoteat@redhat.com) +- Releaser for Centos (wpoteat@redhat.com) + +* Mon May 17 2021 William Poteat 1.31.10-1 +- 1920322: Uncomment section header on migrate (wpoteat@redhat.com) +- Update CI link to use branch name main (wpoteat@redhat.com) +- Fedora master branch name changed to main (wpoteat@redhat.com) * Thu Feb 18 2021 William Poteat 1.31.9-1 - Man page update to describe the migration script (wpoteat@redhat.com) From 7c51e7edb6acdc3363f49086ebff645f07d1e30b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 04:04:55 +0000 Subject: [PATCH 08/33] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index ef7e694..dbd7a95 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.18 -Release: %{release_number}%{?dist} +Release: %{release_number}%{?dist}.1 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 1.31.18-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Dec 16 2021 William Poteat 1.31.18-1 - 2000019: Convert non-latin1 username/password to bytes (jhnidek@redhat.com) - 2018052: Fix virt-who -s, when Hyper-V with new API is used From 66350d4d3469b67e60b0d2586e759b897181539a Mon Sep 17 00:00:00 2001 From: William Poteat Date: Mon, 31 Jan 2022 10:02:05 -0500 Subject: [PATCH 09/33] Update virt-who to 1.31.19-1 Resolves: #1990562 - Remove the redundant 'update_interval' option from ahv config Resolves: #1990561 - rename configuration entry to show ahv specificity --- .gitignore | 1 + sources | 2 +- virt-who.spec | 11 +++++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 5b5dc02..a7d6c90 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ /virt-who-1.31.8.tar.gz /virt-who-1.31.9.tar.gz /virt-who-1.31.18.tar.gz +/virt-who-1.31.19.tar.gz diff --git a/sources b/sources index fdc2a23..ecd67a8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-who-1.31.18.tar.gz) = 9dff7d4dc2f5b7512cc15db2e6e62bb8fb92b546c3abb4082e25764c08788b91d7937ff55cc03fdc45f5cc77f9d54981d483ca4cc46e64ac9ca01fcebccc078b +SHA512 (virt-who-1.31.19.tar.gz) = 2abde9a168338142dde1260517d79f5748b8552b63d380f705c10367e35ebdd2bd53faea23cf8fdab8c5d48385ead19dac80e132ece8f060ea3bc273d3f1e01e diff --git a/virt-who.spec b/virt-who.spec index dbd7a95..0bed459 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -20,8 +20,8 @@ Name: virt-who -Version: 1.31.18 -Release: %{release_number}%{?dist}.1 +Version: 1.31.19 +Release: %{release_number}%{?dist} Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,8 +163,11 @@ fi %changelog -* Sat Jan 22 2022 Fedora Release Engineering - 1.31.18-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild +* Mon Jan 10 2022 William Poteat 1.31.19-1 +- 1990562: Remove the redundant 'update_interval' option from ahv config + (wpoteat@redhat.com) +- 1990561: rename configuration entry to show ahv specificity + (wpoteat@redhat.com) * Thu Dec 16 2021 William Poteat 1.31.18-1 - 2000019: Convert non-latin1 username/password to bytes (jhnidek@redhat.com) From d57149121c459acc35f1f47d775d24dd2fcd77cc Mon Sep 17 00:00:00 2001 From: William Poteat Date: Wed, 16 Feb 2022 10:35:31 -0500 Subject: [PATCH 10/33] Update virt-who to 1.31.21-1 Resolves: #1987247 - The connection value shows null for kubevirt mode in virt-who status Resolves: #2000415 - Nutanix config needs to handle bad server value (wpoteat@redhat.com) Resolves: #1996942 - Use cluster name instead of UUID for fabric consistency Resolves: #1990758 - Virt-who always prints YAMLLoadWarning for kubevirt mode Resolves: #1990563 - Move progress bar to stderr to keep stdout clean --- .gitignore | 1 + sources | 2 +- virt-who.spec | 26 +++++++++++++++++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a7d6c90..ad62fc0 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /virt-who-1.31.9.tar.gz /virt-who-1.31.18.tar.gz /virt-who-1.31.19.tar.gz +/virt-who-1.31.21.tar.gz diff --git a/sources b/sources index ecd67a8..ec0dee4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-who-1.31.19.tar.gz) = 2abde9a168338142dde1260517d79f5748b8552b63d380f705c10367e35ebdd2bd53faea23cf8fdab8c5d48385ead19dac80e132ece8f060ea3bc273d3f1e01e +SHA512 (virt-who-1.31.21.tar.gz) = e7294660d7cd5259f628cd7acd39fae4fcb10f1d56e5a9973626ea4c2e2f31d9988cf41abadcb5eb4656aa0c4347ba316ab0c25a46bbc07ac0d8206b8edfcd29 diff --git a/virt-who.spec b/virt-who.spec index 0bed459..461b224 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -20,7 +20,7 @@ Name: virt-who -Version: 1.31.19 +Version: 1.31.21 Release: %{release_number}%{?dist} Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,30 @@ fi %changelog +* Tue Feb 08 2022 William Poteat 1.31.21-1 +- 1987247: The connection value shows null for kubevirt mode in virt-who status + json (wpoteat@redhat.com) +- Addition of LGPLv3 license file from suds (wpoteat@redhat.com) +- 2000415: Nutanix config needs to handle bad server value (wpoteat@redhat.com) +- 1996942: Use cluster name instead of UUID for fabric consistency + (wpoteat@redhat.com) +- 1990758: Virt-who always prints YAMLLoadWarning for kubevirt mode + (wpoteat@redhat.com) +- 1990563: Move progress bar to stderr to keep stdout clean + (wpoteat@redhat.com) + +* Tue Feb 08 2022 William Poteat +- 1987247: The connection value shows null for kubevirt mode in virt-who status + json (wpoteat@redhat.com) +- Addition of LGPLv3 license file from suds (wpoteat@redhat.com) +- 2000415: Nutanix config needs to handle bad server value (wpoteat@redhat.com) +- 1996942: Use cluster name instead of UUID for fabric consistency + (wpoteat@redhat.com) +- 1990758: Virt-who always prints YAMLLoadWarning for kubevirt mode + (wpoteat@redhat.com) +- 1990563: Move progress bar to stderr to keep stdout clean + (wpoteat@redhat.com) + * Mon Jan 10 2022 William Poteat 1.31.19-1 - 1990562: Remove the redundant 'update_interval' option from ahv config (wpoteat@redhat.com) From 0fad99f477da2b07bbc5b9ba02611d7860f658a4 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 16:54:42 +0200 Subject: [PATCH 11/33] Rebuilt for Python 3.11 --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 461b224..38f899e 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.21 -Release: %{release_number}%{?dist} +Release: %{release_number}%{?dist}.1 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Mon Jun 13 2022 Python Maint - 1.31.21-1.1 +- Rebuilt for Python 3.11 + * Tue Feb 08 2022 William Poteat 1.31.21-1 - 1987247: The connection value shows null for kubevirt mode in virt-who status json (wpoteat@redhat.com) From 408f1db97ae4cd3888559e494ed807b69e9f98eb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 12:00:13 +0000 Subject: [PATCH 12/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 38f899e..6732545 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.21 -Release: %{release_number}%{?dist}.1 +Release: %{release_number}%{?dist}.2 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 1.31.21-1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon Jun 13 2022 Python Maint - 1.31.21-1.1 - Rebuilt for Python 3.11 From 01a9dffaba186c26bf7f30e67031114f62bcee03 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 06:24:04 +0000 Subject: [PATCH 13/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 6732545..3bd15c8 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.21 -Release: %{release_number}%{?dist}.2 +Release: %{release_number}%{?dist}.3 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 1.31.21-1.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jul 23 2022 Fedora Release Engineering - 1.31.21-1.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From dc22a70768a02aea3a418bd92542f4df3407e265 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 22:02:52 +0200 Subject: [PATCH 14/33] Rebuilt for Python 3.12 --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 3bd15c8..9b5b57c 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.21 -Release: %{release_number}%{?dist}.3 +Release: %{release_number}%{?dist}.4 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Tue Jun 13 2023 Python Maint - 1.31.21-1.4 +- Rebuilt for Python 3.12 + * Sat Jan 21 2023 Fedora Release Engineering - 1.31.21-1.3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 6356aefca3e8705d5b657fc7f3df5ba03da3a22a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 17:45:29 +0000 Subject: [PATCH 15/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 9b5b57c..561dd35 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.21 -Release: %{release_number}%{?dist}.4 +Release: %{release_number}%{?dist}.5 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 1.31.21-1.5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jun 13 2023 Python Maint - 1.31.21-1.4 - Rebuilt for Python 3.12 From 17aea8f335c3048d2dc201a65713fbedce7fdf00 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Fri, 4 Aug 2023 08:47:04 +0200 Subject: [PATCH 16/33] Import virt-who 1.31.26 --- .gitignore | 24 +----------------------- sources | 2 +- virt-who.spec | 39 ++++++++++++++++++++++++++------------- 3 files changed, 28 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index ad62fc0..015cf29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1 @@ -/virt-who-0.8.tar.gz -/virt-who-0.17.tar.gz -/virt-who-0.21.2.tar.gz -/virt-who-0.22.1.tar.gz -/virt-who-0.22.2.tar.gz -/virt-who-0.24.0.tar.gz -/virt-who-0.24.1.tar.gz -/virt-who-0.24.2.tar.gz -/virt-who-0.29.0.tar.gz -/virt-who-0.31.0.tar.gz -/build-rpm-no-ahv.patch -/virt-who-0.31.1.tar.gz -/virt-who-0.31.2.tar.gz -/virt-who-1.31.3.tar.gz -/virt-who-1.31.4.tar.gz -/virt-who-1.31.5.tar.gz -/virt-who-1.31.6.tar.gz -/virt-who-1.31.7.tar.gz -/virt-who-1.31.8.tar.gz -/virt-who-1.31.9.tar.gz -/virt-who-1.31.18.tar.gz -/virt-who-1.31.19.tar.gz -/virt-who-1.31.21.tar.gz +/virt-who-*.tar.gz diff --git a/sources b/sources index ec0dee4..87cb0de 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-who-1.31.21.tar.gz) = e7294660d7cd5259f628cd7acd39fae4fcb10f1d56e5a9973626ea4c2e2f31d9988cf41abadcb5eb4656aa0c4347ba316ab0c25a46bbc07ac0d8206b8edfcd29 +SHA512 (virt-who-1.31.26.tar.gz) = 3c412adc3063c4208c3975549166de5087dd07a78615bf9ddfc4a7e64ced7e3c397a5d0bc014a3573d2c3a37b0186f0eabe8d7a54f4882638c9672d9462afff7 diff --git a/virt-who.spec b/virt-who.spec index 561dd35..9612484 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -20,13 +20,14 @@ Name: virt-who -Version: 1.31.21 -Release: %{release_number}%{?dist}.5 +Version: 1.31.26 +Release: %{release_number}%{?dist} Summary: Agent for reporting virtual guest IDs to subscription-manager Group: System Environment/Base -License: GPLv2+ +# GPL for virt-who proper and LGPL for incorporated suds +License: GPLv2+ and LGPLv3+ URL: https://github.com/candlepin/virt-who Source0: %{name}-%{version}.tar.gz @@ -78,6 +79,7 @@ Requires(preun): chkconfig # This is for /sbin/service Requires(preun): initscripts %endif +Provides: bundled(python-suds) = 0.8.4 %description Agent that collects information about virtual guests present in the system and @@ -163,20 +165,31 @@ fi %changelog -* Sat Jul 22 2023 Fedora Release Engineering - 1.31.21-1.5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild +* 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) -* Tue Jun 13 2023 Python Maint - 1.31.21-1.4 -- Rebuilt for Python 3.12 +* 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) -* Sat Jan 21 2023 Fedora Release Engineering - 1.31.21-1.3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild +* Thu Sep 01 2022 William Poteat 1.31.24-1 +- 2118253: Nutanix: Gather information about VMs correctly (jhnidek@redhat.com) -* Sat Jul 23 2022 Fedora Release Engineering - 1.31.21-1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild +* 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) -* Mon Jun 13 2022 Python Maint - 1.31.21-1.1 -- Rebuilt for Python 3.11 +* Wed Mar 16 2022 William Poteat 1.31.22-1 +- 2060949: Indicate that virt-who provides python-suds in the spec file + (wpoteat@redhat.com) +- Run complex tests as forked for consistent results (wpoteat@redhat.com) +- Update releasers for current needs (wpoteat@redhat.com) * Tue Feb 08 2022 William Poteat 1.31.21-1 - 1987247: The connection value shows null for kubevirt mode in virt-who status From d9202c84d3b14baf77db29bbca2641415c9defd5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 07:58:52 +0000 Subject: [PATCH 17/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 9612484..68f464c 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist} +Release: %{release_number}%{?dist}.1 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -165,6 +165,9 @@ fi %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 1.31.26-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * 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) From f4c6ae1146d8f44acf38d639fdfe694699f1bb21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Tue, 13 Feb 2024 07:42:20 +0000 Subject: [PATCH 18/33] Migrate to SPDX license This is a part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_3 --- virt-who.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 68f464c..41782e0 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -27,7 +27,7 @@ Summary: Agent for reporting virtual guest IDs to subscription-manager Group: System Environment/Base # GPL for virt-who proper and LGPL for incorporated suds -License: GPLv2+ and LGPLv3+ +License: GPL-2.0-or-later AND LGPL-3.0-or-later URL: https://github.com/candlepin/virt-who Source0: %{name}-%{version}.tar.gz From 6306f27790dbfbd4476b7d3875c4a7470edaf40c Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 10:11:32 +0200 Subject: [PATCH 19/33] Rebuilt for Python 3.13 --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 41782e0..2caf626 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.1 +Release: %{release_number}%{?dist}.2 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -165,6 +165,9 @@ fi %changelog +* Fri Jun 07 2024 Python Maint - 1.31.26-1.2 +- Rebuilt for Python 3.13 + * Sat Jan 27 2024 Fedora Release Engineering - 1.31.26-1.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 0cd05d80c5d22aef649902aba2362f207fcc9901 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:53:38 +0000 Subject: [PATCH 20/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 2caf626..c393f02 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.2 +Release: %{release_number}%{?dist}.3 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -165,6 +165,9 @@ fi %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 1.31.26-1.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Fri Jun 07 2024 Python Maint - 1.31.26-1.2 - Rebuilt for Python 3.13 From 94581da7b47464a7a6246cd1bd980a7cec9991e9 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 7 Jan 2025 12:20:54 -0600 Subject: [PATCH 21/33] Orphaned for 6+ weeks --- .gitignore | 1 - dead.package | 1 + sources | 1 - virt-who.spec | 1025 ------------------------------------------------- 4 files changed, 1 insertion(+), 1027 deletions(-) delete mode 100644 .gitignore create mode 100644 dead.package delete mode 100644 sources delete mode 100644 virt-who.spec diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 015cf29..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/virt-who-*.tar.gz diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..5204a84 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Orphaned for 6+ weeks diff --git a/sources b/sources deleted file mode 100644 index 87cb0de..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (virt-who-1.31.26.tar.gz) = 3c412adc3063c4208c3975549166de5087dd07a78615bf9ddfc4a7e64ced7e3c397a5d0bc014a3573d2c3a37b0186f0eabe8d7a54f4882638c9672d9462afff7 diff --git a/virt-who.spec b/virt-who.spec deleted file mode 100644 index c393f02..0000000 --- a/virt-who.spec +++ /dev/null @@ -1,1025 +0,0 @@ -%define use_systemd (0%{?fedora} && 0%{?fedora} >= 18) || (0%{?rhel} && 0%{?rhel} >= 7) - -%define use_python3 0%{?fedora} || (0%{?rhel} && 0%{?rhel} > 7) -%if %{use_python3} -%global python_ver python3 -%global python_exec %{__python3} -%global python_sitelib %{python3_sitelib} -%else -%if !%{use_systemd} -%global __python2 %{__python} -%global python2_sitelib %{python_sitelib} -%endif -%global python_ver python -%global python_exec %{__python2} -%global python_sitelib %{python2_sitelib} -%endif -%global release_number 1 - -%global git_tag %{name}-%{version}-%{release_number} - - -Name: virt-who -Version: 1.31.26 -Release: %{release_number}%{?dist}.3 - -Summary: Agent for reporting virtual guest IDs to subscription-manager - -Group: System Environment/Base -# GPL for virt-who proper and LGPL for incorporated suds -License: GPL-2.0-or-later AND LGPL-3.0-or-later -URL: https://github.com/candlepin/virt-who -Source0: %{name}-%{version}.tar.gz - -BuildArch: noarch -BuildRequires: %{python_ver}-devel -BuildRequires: %{python_ver}-setuptools -BuildRequires: %{python_ver}-pyyaml - -Requires: %{python_ver}-setuptools -# libvirt python required for libvirt support -%if (0%{?rhel} && 0%{?rhel} > 7 || 0%{?fedora}) -Requires: %{python_ver}-libvirt -%else -Requires: libvirt-python -%endif -# python-rhsm 1.20 has the M2Crypto wrappers needed to replace M2Crypto -# with the python standard libraries where plausible -%if %{use_python3} -Requires: python3-subscription-manager-rhsm > 1.25.6 -%else -Requires: subscription-manager-rhsm > 1.25.6 -%endif -# m2crypto OR python3-cryptography is required for Hyper-V support -%if %{use_python3} -Requires: python3-cryptography -%else -Requires: m2crypto -%endif -Requires: %{python_ver}-requests -Requires: %{python_ver}-six -# python-argparse is required for Python 2.6 on EL6 -%{?el6:Requires: python-argparse} -Requires: openssl -Requires: %{python_ver}-pyyaml - -%if %{use_systemd} -%if %{use_python3} -Requires: python3-systemd -%else -Requires: systemd-python -%endif -BuildRequires: systemd -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd -%else -Requires(post): chkconfig -Requires(preun): chkconfig -# This is for /sbin/service -Requires(preun): initscripts -%endif -Provides: bundled(python-suds) = 0.8.4 - -%description -Agent that collects information about virtual guests present in the system and -report them to the subscription manager. - -%prep -%setup -q - -%build -%{python_exec} setup.py build --rpm-version=%{version}-%{release_number} - -%install -rm -rf $RPM_BUILD_ROOT -%{python_exec} setup.py install --root %{buildroot} -%{python_exec} setup.py install_config --root %{buildroot} -%{python_exec} setup.py install_man_pages --root %{buildroot} -%if %{use_systemd} -%{python_exec} setup.py install_systemd --root %{buildroot} -%else -%{python_exec} setup.py install_upstart --root %{buildroot} -%endif - -mkdir -p %{buildroot}/%{_sharedstatedir}/%{name}/ -touch %{buildroot}/%{_sharedstatedir}/%{name}/key - -mkdir -p %{buildroot}/%{_datadir}/zsh/site-functions -install -m 644 virt-who-zsh %{buildroot}/%{_datadir}/zsh/site-functions/_virt-who - -# Don't run test suite in check section, because it need the system to be -# registered to subscription-manager server - -%post -%if %{use_systemd} -%systemd_post virt-who.service -%else -# This adds the proper /etc/rc*.d links for the script -/sbin/chkconfig --add virt-who -%endif -# This moves parameters from old config to remaining general config file -%if (0%{?fedora} > 33 || 0%{?rhel} > 8) -%{python_exec} %{python_sitelib}/virtwho/migrate/migrateconfiguration.py -%endif - -%preun -%if %{use_systemd} -%systemd_preun virt-who.service -%else -if [ $1 -eq 0 ] ; then - /sbin/service virt-who stop >/dev/null 2>&1 - /sbin/chkconfig --del virt-who -fi -%endif - -%postun -%if %{use_systemd} -%systemd_postun_with_restart virt-who.service -%else -if [ "$1" -ge "1" ] ; then - /sbin/service virt-who condrestart >/dev/null 2>&1 || : -fi -%endif - - -%files -%doc README.md LICENSE README.hyperv -%{_bindir}/virt-who -%{_bindir}/virt-who-password -%{python_sitelib}/* -%if %{use_systemd} -%{_unitdir}/virt-who.service -%else -%{_sysconfdir}/rc.d/init.d/virt-who -%endif -%attr(700, root, root) %dir %{_sysconfdir}/virt-who.d -%{_mandir}/man8/virt-who.8.gz -%{_mandir}/man8/virt-who-password.8.gz -%{_mandir}/man5/virt-who-config.5.gz -%attr(700, root, root) %{_sharedstatedir}/%{name} -%ghost %{_sharedstatedir}/%{name}/key -%{_datadir}/zsh/site-functions/_virt-who -%{_sysconfdir}/virt-who.d/template.conf -%attr(600, root, root) %config(noreplace) %{_sysconfdir}/virt-who.conf - - -%changelog -* Sat Jul 20 2024 Fedora Release Engineering - 1.31.26-1.3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 07 2024 Python Maint - 1.31.26-1.2 -- Rebuilt for Python 3.13 - -* Sat Jan 27 2024 Fedora Release Engineering - 1.31.26-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* 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 - enabled systems (oalbrigt@redhat.com) - -* Wed Mar 16 2022 William Poteat 1.31.22-1 -- 2060949: Indicate that virt-who provides python-suds in the spec file - (wpoteat@redhat.com) -- Run complex tests as forked for consistent results (wpoteat@redhat.com) -- Update releasers for current needs (wpoteat@redhat.com) - -* Tue Feb 08 2022 William Poteat 1.31.21-1 -- 1987247: The connection value shows null for kubevirt mode in virt-who status - json (wpoteat@redhat.com) -- Addition of LGPLv3 license file from suds (wpoteat@redhat.com) -- 2000415: Nutanix config needs to handle bad server value (wpoteat@redhat.com) -- 1996942: Use cluster name instead of UUID for fabric consistency - (wpoteat@redhat.com) -- 1990758: Virt-who always prints YAMLLoadWarning for kubevirt mode - (wpoteat@redhat.com) -- 1990563: Move progress bar to stderr to keep stdout clean - (wpoteat@redhat.com) - -* Tue Feb 08 2022 William Poteat -- 1987247: The connection value shows null for kubevirt mode in virt-who status - json (wpoteat@redhat.com) -- Addition of LGPLv3 license file from suds (wpoteat@redhat.com) -- 2000415: Nutanix config needs to handle bad server value (wpoteat@redhat.com) -- 1996942: Use cluster name instead of UUID for fabric consistency - (wpoteat@redhat.com) -- 1990758: Virt-who always prints YAMLLoadWarning for kubevirt mode - (wpoteat@redhat.com) -- 1990563: Move progress bar to stderr to keep stdout clean - (wpoteat@redhat.com) - -* Mon Jan 10 2022 William Poteat 1.31.19-1 -- 1990562: Remove the redundant 'update_interval' option from ahv config - (wpoteat@redhat.com) -- 1990561: rename configuration entry to show ahv specificity - (wpoteat@redhat.com) - -* Thu Dec 16 2021 William Poteat 1.31.18-1 -- 2000019: Convert non-latin1 username/password to bytes (jhnidek@redhat.com) -- 2018052: Fix virt-who -s, when Hyper-V with new API is used - (jhnidek@redhat.com) -- ENT-4511: Remove six package from requirements (mhorky@redhat.com) -- ENT-4511: Drop Python 2 only tests (mhorky@redhat.com) -- ENT-4511: Drop six usage in suds tests (mhorky@redhat.com) -- ENT-4511: Drop six usage in tests (mhorky@redhat.com) -- ENT-4511: Drop six usage in virt-who code (mhorky@redhat.com) -- ENT-4511: Drop OrderedDict implementation (mhorky@redhat.com) -- Update for deprecation of MutableMapping (wpoteat@redhat.com) -- Only query the VM related taks in AHV hypervisors. (amir.eibagi@nutanix.com) -- Remove unused NTLM code as only basic auth is used (wpoteat@redhat.com) - -* Tue Sep 14 2021 William Poteat 1.31.17-1 -- Bypass stylish check on suds code (wpoteat@redhat.com) -- 2000922: Add the suds code to virt-who in place of python3-suds package - (wpoteat@redhat.com) -- ENT-4004: Fix flake8 issues for test files (mhorky@redhat.com) -- ENT-4004: Use four spaces for indentation (mhorky@redhat.com) -- ENT-4004: Fix flake8 issues (mhorky@redhat.com) -- ENT-4004: Add stylish tests (mhorky@redhat.com) -- Cannot use ESX where python3-suds is not available (wpoteat@redhat.com) -- 1981249: Stop using NTLM which requires MD4 (OpenSSL 3.0) - (csnyder@redhat.com) -- 1989877: Status command does not reach actual credentials checking - (wpoteat@redhat.com) -- Make changes to follow Conscious language initiative (mhorky@redhat.com) - -* Fri Aug 06 2021 William Poteat 1.31.16-1 -- 1990550: Add the description for nutanix mode in man virt-who and man virt- - who-config (wpoteat@redhat.com) -- 1990337: The guest state in mapping should be uniform with other hypervisors - 1990338: The guest shows wrong active value "0" in mapping when it's running - (wpoteat@redhat.com) -- 1989646: Get UnboundLocalError when configured hypervisor_id=hwuuid - (wpoteat@redhat.com) -- 1989645: Add dmi.system.uuid to ahv facts (wpoteat@redhat.com) -- 1974624: proxy error with https (wpoteat@redhat.com) - -* Tue Aug 03 2021 William Poteat 1.31.15-1 -- 1986973: Take out AHV removal patch mechanism (wpoteat@redhat.com) -- Update AHV patch (wpoteat@redhat.com) - -* Fri Jul 16 2021 William Poteat 1.31.14-1 -- Merge run data into report (wpoteat@redhat.com) -- Update the man page for the status mode (wpoteat@redhat.com) -- Status execution (wpoteat@redhat.com) -- Record last dates of succcess for sources and destinations - (wpoteat@redhat.com) -- Update certs for complex tests (wpoteat@redhat.com) - -* Thu Jun 03 2021 William Poteat 1.31.13-1 -- 1965320: Clear previous report hash when hypervisor count is zero - (wpoteat@redhat.com) -- Added support for Packit service (jhnidek@redhat.com) -- Convert CI from Travis to Jenkins (wpoteat@redhat.com) - -* Fri May 21 2021 William Poteat 1.31.12-1 -- 1951347: Update patch for xen removal (wpoteat@redhat.com) - -* Thu May 20 2021 William Poteat 1.31.11-1 -- 1951347: Remove Xen from hypervisor types (wpoteat@redhat.com) -- Releaser for Centos (wpoteat@redhat.com) - -* Mon May 17 2021 William Poteat 1.31.10-1 -- 1920322: Uncomment section header on migrate (wpoteat@redhat.com) -- Update CI link to use branch name main (wpoteat@redhat.com) -- Fedora master branch name changed to main (wpoteat@redhat.com) - -* Thu Feb 18 2021 William Poteat 1.31.9-1 -- Man page update to describe the migration script (wpoteat@redhat.com) -- 1924572: Add insecure option to config template (wpoteat@redhat.com) -- Add Fedora 34 to releaser list (wpoteat@redhat.com) - -* Thu Jan 28 2021 William Poteat 1.31.8-1 -- Update AHV patch for Kubevirt change (wpoteat@redhat.com) - -* Mon Jan 25 2021 William Poteat 1.31.7-1 -- 1917645: handle not running vms (piotr.kliczewski@gmail.com) -- Fedora 31 is no longer a build target (wpoteat@redhat.com) - -* Fri Jan 15 2021 William Poteat 1.31.6-1 -- 1910020: replace deprecated call (wpoteat@redhat.com) - -* Mon Jan 04 2021 William Poteat 1.31.5-1 -- 1909145: [RFE] Use single json format for input/output data - (wpoteat@redhat.com) -- 1855550: [Remote Libvirt] The Name in Stage Candlepin cannot update based on - hypervisor_id configuration (wpoteat@redhat.com) -- 1879329: List possible values for type in man page (wpoteat@redhat.com) - -* Tue Dec 08 2020 William Poteat 1.31.4-1 -- 1899652: Install script error when file does not exist (wpoteat@redhat.com) - -* Fri Dec 04 2020 William Poteat 1.31.3-1 -- 1899652: Update to ahv patch file (wpoteat@redhat.com) - -* Wed Dec 02 2020 William Poteat 0.31.2-1 -- 1896652: platform-python-setuptools is not in RHEL9 (wpoteat@redhat.com) - -* Tue Nov 17 2020 William Poteat 0.31.1-1 -- 1658440: Remove the use of environment variables for configuration - (wpoteat@redhat.com) -- Do not use deprecated isAlive() but use is_alive() (jhnidek@redhat.com) -- 1890421: New section of virt-who.conf file for environment variables - (wpoteat@redhat.com) - -* Thu Oct 22 2020 William Poteat 0.31.0-1 -- 1876927: virt-who fails to parse output from hypervisor (wpoteat@redhat.com) -- Additional copy of patch file needed for build Update of Fedora versions in - releaser file (wpoteat@redhat.com) -- Correction in patch builder for directory location (wpoteat@redhat.com) -- Update releasers (wpoteat@redhat.com) -- 1878136: Deprecation comment in config file (wpoteat@redhat.com) -- 1854829: rhsm_port and rhsm_password are missing in template.conf - (wpoteat@redhat.com) - -* Thu Oct 01 2020 William Poteat 0.30.0-1 -- Add patch to remove AHV bits for RHEL builds (wpoteat@redhat.com) -- 1878136: Deprecation warning for environment variables (wpoteat@redhat.com) -- 184506: virt-who should send its version in the User-Agent header - (wpoteat@redhat.com) -- 1806572: RHEVM API url needs version specified (wpoteat@redhat.com) -- 1847792: [ESX] Virt-who is failed when run with - "filter/exclude_host_parents=" option (wpoteat@redhat.com) -- 1809098: Convert UUID to big-endian for certain esx hardware versions - (wpoteat@redhat.com) -- 1835132: support milicpus (piotr.kliczewski@gmail.com) - -* Thu May 21 2020 William Poteat 0.29.2-1 -- NTLM: Fix compatibility issue with Python3.8 (jhnidek@redhat.com) -- 1806572: RHEVM should only use version 4 (wpoteat@redhat.com) -- Update to tests to match changes in Subscription Manager (jhnidek@redhat.com) -- 1461272: Filter virt-who hosts based on host_parents using wildcard - (wpoteat@redhat.com) - -* Fri May 08 2020 William Poteat 0.29.1-1 -- 1806572: virt-who using V3 APIs for communication with RHEVM which is - deprecated (wpoteat@redhat.com) -- Update Fedora releases (wpoteat@redhat.com) - -* Fri Apr 03 2020 William Poteat 0.29.0-1 -- Update releasers for RHEL-8.3 (wpoteat@redhat.com) -- 1775535: config option to override api version (piotr.kliczewski@gmail.com) -- 1780467: Validate rhevm password when unicode is not allowed - (wpoteat@redhat.com) -- 1727203: Validate server name for ASCII only in ESX (wpoteat@redhat.com) -- 1757985: better behavior of --config option; ENT-1713 (jhnidek@redhat.com) -- 1751441: Add command line path parameter (piotr.kliczewski@gmail.com) -- 1762780: fix bug, when reporter_id is empty; ENT-1706 (jhnidek@redhat.com) -- 1759869: Version file needs updating on rpm (wpoteat@redhat.com) -- 1776084 - Failed to run virt-who with Hyper-V (wpoteat@redhat.com) -- Proper placeholder (wpoteat@redhat.com) -- 1751441: remove strict need for kubeconfig (piotr.kliczewski@gmail.com) -- Update for 8.2 (wpoteat@redhat.com) -- 1748677: Improved timeout for esx (wpoteat@redhat.com) -- 1727130: Correct man page for default interval (wpoteat@redhat.com) -- 1743589: Content type header null coverage (wpoteat@redhat.com) -- 1751624: Allow unicode username only if python-requests allows it - (wpoteat@redhat.com) -- 1745768: Make message unicode safe (wpoteat@redhat.com) -- 1516209: Proper handling for empty server entry (wpoteat@redhat.com) -- 1733286: add connection/request timeout (piotr.kliczewski@gmail.com) -- Remove vdsm capability (wpoteat@redhat.com) -- 1720048: Template for general configuration not properly formatted - (wpoteat@redhat.com) -- Add AHV v3 lenght and offset for the API calls. (amir.eibagi@nutanix.com) -- 1530254: Update checking on environment variables (wpoteat@redhat.com) -- 1714456: Update description of 'print_' config option (wpoteat@redhat.com) -- 1499679: Check for duplicates in conf file; ENT-249 (jhnidek@redhat.com) -- 1720154: Provide SYSTEM_UUID_FACT (piotr.kliczewski@gmail.com) -- 1516120: Handling for incorrect config section headers (wpoteat@redhat.com) -- 1722560: Make heartbeat more robust (jhnidek@redhat.com) -- Update spec for build system (wpoteat@redhat.com) -- 1416298: Use unique guest attribute for state tracking (wpoteat@redhat.com) - -* Wed Jun 12 2019 William Poteat 0.25.4-1 -- 1718304: Fix issue when instance["BIOSGUID"] returns None - (phess@users.noreply.github.com) -- 1652549: Add heartbeat call to virt-who cycle (wpoteat@redhat.com) -- 1472727: Log error, when encrypted password is missing; ENT-1344 - (jhnidek@redhat.com) -- 1714133: can't set data property (piotr.kliczewski@gmail.com) -- Add Nutanix AHV support for RHSS + UTs. (amir00018@gmail.com) - -* Fri May 24 2019 William Poteat 0.25.3-1 -- 1530290: Remove enviroment as an input variable for the hypervisor check in - (wpoteat@redhat.com) -- 1523482: 1519704: Interval value set to empty string will revert to default - value (wpoteat@redhat.com) -- 1522384: Log at debug level when config uses default entries - (wpoteat@redhat.com) -- 1708524: update man page with kubevirt backend information - (piotr.kliczewski@gmail.com) -- 1708534: add kubeconfig to template (piotr.kliczewski@gmail.com) -- 1516209: Configuration should be deemed invalid when server is not specified - (wpoteat@redhat.com) -- 1640967: Add xen type listing in /etc/virt-who.d/template.conf - (wpoteat@redhat.com) - -* Tue May 14 2019 William Poteat 0.25.2-1 -- Update to spec for pyyaml package (wpoteat@redhat.com) - -* Tue May 14 2019 William Poteat -- Update to spec for pyyaml package (wpoteat@redhat.com) - -* Mon May 13 2019 William Poteat 0.25.0-1 -- Update releasers (wpoteat@redhat.com) -- 1641953: Virt-who fails if one hypervisor has wrong encrypted password - (wpoteat@redhat.com) -- 1506167: Ignore new SIGHUP signals during signal handling - (jhnidek@redhat.com) -- 1522661: Constrict is_hypervisor field to fake virt (wpoteat@redhat.com) -- 1695538: Provide support for hypervisor_id option - (piotr.kliczewski@gmail.com) -- 1695519: use correct uuid in kubevirt report (piotr.kliczewski@gmail.com) - -* Mon May 13 2019 William Poteat -- Update releasers (wpoteat@redhat.com) -- 1641953: Virt-who fails if one hypervisor has wrong encrypted password - (wpoteat@redhat.com) -- 1506167: Ignore new SIGHUP signals during signal handling - (jhnidek@redhat.com) -- 1522661: Constrict is_hypervisor field to fake virt (wpoteat@redhat.com) -- 1695538: Provide support for hypervisor_id option - (piotr.kliczewski@gmail.com) -- 1695519: use correct uuid in kubevirt report (piotr.kliczewski@gmail.com) - -* Wed Apr 03 2019 William Poteat 0.24.4-1 -- 1667522: Omit ESX host from report when no hostname is present - (wpoteat@redhat.com) -- 1693858: Send hardware uuid on every check in for system reconcilliation - (wpoteat@redhat.com) -- kubevirt: provide user authentication (piotr.kliczewski@gmail.com) -- 1486270: pass no_proxy from config files (wpoteat@redhat.com) -- kubevirt: drop kubernetes and kubevirt dependencies - (piotr.kliczewski@gmail.com) -- 1638250: Improved fix for http proxy issue (wpoteat@redhat.com) -- Update releaser (wpoteat@redhat.com) - -* Wed Apr 03 2019 William Poteat -- 1667522: Omit ESX host from report when no hostname is present - (wpoteat@redhat.com) -- 1693858: Send hardware uuid on every check in for system reconcilliation - (wpoteat@redhat.com) -- kubevirt: provide user authentication (piotr.kliczewski@gmail.com) -- 1486270: pass no_proxy from config files (wpoteat@redhat.com) -- kubevirt: drop kubernetes and kubevirt dependencies - (piotr.kliczewski@gmail.com) -- 1638250: Improved fix for http proxy issue (wpoteat@redhat.com) -- Update releaser (wpoteat@redhat.com) - -* Fri Dec 21 2018 William Poteat 0.24.2-1 -- 1657104: Remove references to removed command line options - (wpoteat@redhat.com) -- Fixing kubevirt config path argument (piotr.kliczewski@gmail.com) -- fix travis run (wpoteat@redhat.com) -- 1650133: setuptools naming change (wpoteat@redhat.com) -- 1638250: Proxy issue when https not specified (wpoteat@redhat.com) -- Update branch definition for RHEL 8.0 branch (wpoteat@redhat.com) -- ENT-896: Disable deprecated configuration options in python 3 - (wpoteat@redhat.com) -- 1637407: vCenter mapping info failure due to TypeError (wpoteat@redhat.com) - -* Mon Oct 29 2018 William Poteat 0.24.1-1 -- Merge in changes from Fedora packaging (wpoteat@redhat.com) -- ENT-826 Added correlation id to virt-who reports (nmoumoul@redhat.com) -- Releaser addition for rhel-7.7 (wpoteat@redhat.com) -- Install subscription-manager, not python-rhsm which is deprecated: - Removed - python-rhsm from the requirements, and added subscription-manager as - dependency. - Added some dependencies that travis requires to install - subscription-manager. (nmoumoul@redhat.com) - -* Wed Sep 19 2018 William Poteat 0.24.0-1 -- Automatic commit of package [virt-who] release [0.22.2-1]. - (wpoteat@redhat.com) -- kubevirt: warn user that dependencies are missing - (piotr.kliczewski@gmail.com) -- 1369634: Dont log proxy html errors for hyperv: - When hyperv gets an HTML - page as error response from a proxy, don't log the whole html, but try to - scrape the title off of it. - If scraping the title doesn't work, only log - the http error code. - Changed all variables named 'xml' to 'xml_doc' in - hyperv.py to avoid conflict with the new python keyword. - (nmoumoul@redhat.com) -- 1599725: Handle job status report errors (nmoumoul@redhat.com) -- 1557296: Warn of commented out lines prefixed with space/tab (ENT-606) - When - reading config files in python2, warn the user if a line continuation (starts - with space/tab) is followed by '#' (nmoumoul@redhat.com) -- kubevirt: Ignore vmis in Scheduling (piotr.kliczewski@gmail.com) -- kubevirt: Update config (piotr.kliczewski@gmail.com) -- Print/log debug information about filtered hosts (jhnidek@redhat.com) -- 1577954: Added config option filter_type; ENT-580 (jhnidek@redhat.com) -- Changed info about how filter_host_parents/exclude_host_parents filters work - (ktordeur@redhat.com) -- 1387800: set name of ESX cluster properly; ENT-793 (jhnidek@redhat.com) -- Add release entry for RHEL 8 (wpoteat@redhat.com) -- template update (wpinheir@iroman.home) -- template update (wpinheir@iroman.home) -- 1596041: Make python libvirt required (wpoteat@redhat.com) -- updating RHV/RHEV/XenServer information (wpinheir@iroman.home) -- 1581021: Decode error from unicode passwords (wpoteat@redhat.com) -- 1510920: Change the choreography for the job status check - (wpoteat@redhat.com) -- ENT-493: Add option to command line to return version - (adarshvritant@gmail.com) -- Update executor.py (all_bright@live.com) -- kubevirt: rename virtual machine instance (piotr.kliczewski@gmail.com) -- Update for build process (wpoteat@redhat.com) -- Fixed hyperv wmi query. Invalid response (500) - (njmiller@lakemichigancollege.edu) -- 1432140: Log when a duplicate hypervisor id is detected [ENT-568] - (wpoteat@redhat.com) -- 1368341: Warn that --sam/--satellite6 are unused & deprecated * Now logging a - warning when --sam/--satellite6 are used. * man page and --help output - updated to explaing that these options are unused and virt-who will report to - either sam/satellite/stage candlepin regardless of their being there. - (nmoumoul@redhat.com) -- 1455062: Partial fix of high CPU usage, when many conf files used - (jhnidek@redhat.com) -- Correction to the spec file condition for python 3 (wpoteat@redhat.com) -- ENT-554 Host reports for libvirt and rhevm include the system hardware uuid - (wpoteat@redhat.com) -- Add releaser for RHEL 7.6 (wpoteat@redhat.com) -- Remove f26 releaser (f26 is EOL) (csnyder@redhat.com) - -* Wed Sep 19 2018 William Poteat -- Automatic commit of package [virt-who] release [0.22.2-1]. - (wpoteat@redhat.com) -- kubevirt: warn user that dependencies are missing - (piotr.kliczewski@gmail.com) -- 1369634: Dont log proxy html errors for hyperv: - When hyperv gets an HTML - page as error response from a proxy, don't log the whole html, but try to - scrape the title off of it. - If scraping the title doesn't work, only log - the http error code. - Changed all variables named 'xml' to 'xml_doc' in - hyperv.py to avoid conflict with the new python keyword. - (nmoumoul@redhat.com) -- 1599725: Handle job status report errors (nmoumoul@redhat.com) -- 1557296: Warn of commented out lines prefixed with space/tab (ENT-606) - When - reading config files in python2, warn the user if a line continuation (starts - with space/tab) is followed by '#' (nmoumoul@redhat.com) -- kubevirt: Ignore vmis in Scheduling (piotr.kliczewski@gmail.com) -- kubevirt: Update config (piotr.kliczewski@gmail.com) -- Print/log debug information about filtered hosts (jhnidek@redhat.com) -- 1577954: Added config option filter_type; ENT-580 (jhnidek@redhat.com) -- Changed info about how filter_host_parents/exclude_host_parents filters work - (ktordeur@redhat.com) -- 1387800: set name of ESX cluster properly; ENT-793 (jhnidek@redhat.com) -- Add release entry for RHEL 8 (wpoteat@redhat.com) -- template update (wpinheir@iroman.home) -- template update (wpinheir@iroman.home) -- 1596041: Make python libvirt required (wpoteat@redhat.com) -- updating RHV/RHEV/XenServer information (wpinheir@iroman.home) -- 1581021: Decode error from unicode passwords (wpoteat@redhat.com) -- 1510920: Change the choreography for the job status check - (wpoteat@redhat.com) -- ENT-493: Add option to command line to return version - (adarshvritant@gmail.com) -- Update executor.py (all_bright@live.com) -- kubevirt: rename virtual machine instance (piotr.kliczewski@gmail.com) -- Update for build process (wpoteat@redhat.com) -- Fixed hyperv wmi query. Invalid response (500) - (njmiller@lakemichigancollege.edu) -- 1432140: Log when a duplicate hypervisor id is detected [ENT-568] - (wpoteat@redhat.com) -- 1368341: Warn that --sam/--satellite6 are unused & deprecated * Now logging a - warning when --sam/--satellite6 are used. * man page and --help output - updated to explaing that these options are unused and virt-who will report to - either sam/satellite/stage candlepin regardless of their being there. - (nmoumoul@redhat.com) -- 1455062: Partial fix of high CPU usage, when many conf files used - (jhnidek@redhat.com) -- Correction to the spec file condition for python 3 (wpoteat@redhat.com) -- ENT-554 Host reports for libvirt and rhevm include the system hardware uuid - (wpoteat@redhat.com) -- Add releaser for RHEL 7.6 (wpoteat@redhat.com) -- Remove f26 releaser (f26 is EOL) (csnyder@redhat.com) - -* Sat Jul 14 2018 Fedora Release Engineering - 0.22.2-1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 0.22.2-1.1 -- Rebuilt for Python 3.7 - -* Thu May 31 2018 William Poteat 0.22.2-1 -- Correct date ordering in changelog (wpoteat@redhat.com) -- 1575513: Re-add changelog entries that were merged out. (wpoteat@redhat.com) -- 1560598: Pass hostname to M2Crypto in STOMP client (khowell@redhat.com) -- Make vdsm respect RHSM_USE_M2CRYPTO var (khowell@redhat.com) -- Set up Travis CI to use Python 3 (jhnidek@redhat.com) -- Fixing python 2 -> 3 issue (wpoteat@redhat.com) -- kubevirt support (piotr.kliczewski@gmail.com) - -* Mon May 07 2018 William Poteat 0.22.1-1 -- 1542652: When the -c option is used, don't parse the default files - (nmoumoul@redhat.com) -- 1569299: try/exception needed for hypervisor_id check (wpoteat@redhat.com) -- Update tito releasers to include newer versions of fedora - (csnyder@redhat.com) -- 1560461: Make env and owner options required for approprite cases - (jhnidek@redhat.com) -- 1554228: Unicode issue on status update call (wpoteat@redhat.com) -- 1387800: [RFE] virt-who can report cluster in host-to-guest mapping - (jhnidek@redhat.com) -- Updates for future builds based on changing environments (wpoteat@redhat.com) -- limit version of libvirt-python (wpoteat@redhat.com) -- 1447022: Log warning, when wrong filter is in config file - (jhnidek@redhat.com) -- 1511644: Support running virt-who on python 3 (csnyder@redhat.com) -- 1520236: Do not log traceback, when server returns 429 http error - (jhnidek@redhat.com) -- 1492074: Enable login to ESX using password with UTF-8 string - (jhnidek@redhat.com) -- 1353119: Add JSON-RPC support for VDSM (khowell@redhat.com) -- 1509597: Enable to use virt-who wih VDSM again (jhnidek@redhat.com) -- 1522383: Remove global option background (jhnidek@redhat.com) -- 1523548: Options log_dir and log_file are not ignored (jhnidek@redhat.com) - -* Fri Feb 09 2018 Fedora Release Engineering - 0.17-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Dec 07 2017 Christopher Snyder 0.21.2-1 -- 1510310: Ensure that owner and env are required where necessary - (csnyder@redhat.com) -- 1512778: ESX should require username, password, and server values - (csnyder@redhat.com) - -* Tue Nov 28 2017 Kevin Howell 0.21.1-1 -- 1511308: Only ESX supports: exclude_host_parents and filter_host_parents. - (jhnidek@redhat.com) -- 1509596: Use qemu+ssh transport if not provided (libvirt) - (csnyder@redhat.com) -- 1511308: Xen and Hyper-V do not support some filter options - (jhnidek@redhat.com) -- 1510760: Ensure virt-who exits properly (w/ no good conf) - (csnyder@redhat.com) -- 1509606: Remove duplicate output of validation messages (csnyder@redhat.com) -- 1509597: Fix issue with cli consistancy check for vdsm (csnyder@redhat.com) -- 1509595: Only expect owner on HostGuestAssociationReports - (csnyder@redhat.com) - -* Mon Oct 30 2017 Christopher Snyder 0.21.0-1 -- Update hypervisorCheckInAsync test for new config sections - (csnyder@redhat.com) -- Update Config Refactor with changes from master (csnyder@redhat.com) -- Removed usage of old Config (not unit tests) (jhnidek@redhat.com) -- Further clean up of unit tests (jhnidek@redhat.com) -- Create Xen Config Subclass (jhnidek@redhat.com) -- Create Rhevm Config Subclass (jhnidek@redhat.com) -- Create VDSM config subclass (wpoteat@redhat.com) -- Clean up ConfigSection Unit tests (jhnidek@redhat.com) -- Adds FakeVirtConfigSection (csnyder@redhat.com) -- Configuration subclass for hyperv (wpoteat@redhat.com) -- Implement EsxConfigSection (khowell@redhat.com) -- Libvirtd ConfigSection Subclass (jhnidek@redhat.com) -- Adds EffectiveConfig, ConfigSection (csnyder@redhat.com) -- Adds warning message for deprecated env vars (csnyder@redhat.com) -- 1503700: Updates to the job polling frequency (csnyder@redhat.com) -- 1502821: Remove undocumented, broken env var "VIRTWHO_DISABLE_ASYNC" - (csnyder@redhat.com) -- 1466015: Warn of deprecation of command line options in next release - (wpoteat@redhat.com) -- remove non-existant variable fake_is_hypervisor (adarshvritant@gmail.com) -- 1485865: Do not replace /etc/virt-who.conf on rpm upgrade - (csnyder@redhat.com) -- Utilize the owner from the first report seen, if we do not know the owner - (csnyder@redhat.com) -- Updates based on review (use str.format) (csnyder@redhat.com) -- Fix example fake config in man docs (adarshvritant@gmail.com) -- Add m2crypto dependency (adarshvritant@gmail.com) -- 1211435: Don't send host-to-geust mapping, when env, owner are wrong - (jhnidek@redhat.com) -- 1408556: Log which owner updated mappings are being sent to - (csnyder@redhat.com) - -* Thu Jul 27 2017 Fedora Release Engineering - 0.17-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Jul 26 2017 Christopher Snyder 0.20.4-1 -- Point Source0 to GitHub (csnyder@redhat.com) - -* Thu Jul 13 2017 Christopher Snyder 0.20.2-1 -- 1458184: better reading of environment variables (jhnidek@redhat.com) -- 1401867: Enable logging of rhsm module to rhsm.log (jhnidek@redhat.com) -- 1404117: Check parameter consistency and refactoring (jhnidek@redhat.com) -- Adds a patch number to virt-who versioning (csnyder@redhat.com) -- 1401420: xen supports only uuid/hostname as hypervisor_id - (jhnidek@redhat.com) -- 1458674: Update use of result data to match the new async api - (csnyder@redhat.com) -- 1452436: virt-who prints host-to-quest mapping everytime (jhnidek@redhat.com) -- 1357761: Do not check passwords to be in latin1 encoding (jhnidek@redhat.com) -- 1457101: Continue running despite malformed configs (csnyder@redhat.com) -- 1409984: Retry initial report retrieval on connection timeout - (csnyder@redhat.com) - -* Fri Jun 09 2017 Christopher Snyder 0.20-1 -- 1389729: Add missing xml section for test (fran@caosdigital.com) -- 1389729: virt-who incorrectly reports 'name' instead of 'hostname' for RHEV - hosts (fran@caosdigital.com) -- 1450747: Continue running destination threads on internal failure - (csnyder@redhat.com) -- 1444718: Log name of config when duplicate reports are retrieved - (csnyder@redhat.com) -- 1447264: Keep running on InvalidPasswordFormat given other valid configs - (csnyder@redhat.com) -- 1448267: Fix polling behavior for oneshot, CTRL-C, 429 responses - (csnyder@redhat.com) -- 1369107: Update docs and log messages to show the *.conf requirement - (csnyder@redhat.com) -- 1436517: Fix api base detection for rhevm version 3 and 4 - (csnyder@redhat.com) -- 1442337: Send updates immediately the first run (csnyder@redhat.com) -- Do not join threads not started, fix up fake backend (csnyder@redhat.com) -- 1439317: Ensure reports are still sent despite duplicate configurations - (csnyder@redhat.com) -- DestinationThreads now send all reports (csnyder@redhat.com) -- Adds IntervalThread base class and refactors Virt classes - (csnyder@redhat.com) -- Remove reference to nonexistant method _set_option (csnyder@redhat.com) -- Update ConfigManager to produce destination and source mappings. - (csnyder@redhat.com) -- Implemements a threadsafe datastore (csnyder@redhat.com) -- Move from using processes to threads (csnyder@redhat.com) -- 1436517: Set Version header for version detect (pcreech@redhat.com) -- 1403640: Fix syntax error in exception handling (pcreech@redhat.com) -- Update the spec file for builds on more downstream platforms - (csnyder@redhat.com) -- Add releaser for rhel-7.4 (khowell@redhat.com) -- 1391512: Handle utf-8 within Xmlrpc transport (pcreech@redhat.com) - -* Thu Mar 02 2017 Christopher Snyder 0.19-1 -- 1415497: Support rhev4 auto detection and usage (pcreech@redhat.com) -- 1388577: Adding UTF-8 support (pcreech@redhat.com) -- 1410000: Include org_id in hv base channel (pcreech@redhat.com) -- 1400431: Fix AttributeError where val is missing (pcreech@redhat.com) -- 1405967: Filter host via glob or regex (pcreech@redhat.com) -- Adds --password option to virt-who-pasword (tstrachota@redhat.com) -- 1392390 Fix default interval handling (pcreech@redhat.com) -- BZ1405967 Add filter_hosts_regex, and exclude_hosts_regex to allow filtering - large numbers of hosts easily (chris@chrisprocter.co.uk) -- 1369107: Only load files with .conf extension (pcreech@redhat.com) -- 1383436: Obey the interval setting (csnyder@redhat.com) -- 1299643: Update virt-who-config man page to include NO_PROXY - (csnyder@redhat.com) - -* Sat Feb 11 2017 Fedora Release Engineering - 0.17-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Oct 11 2016 Radek Novacek 0.18-1 -- Version 0.18 - -* Tue Jul 19 2016 Fedora Release Engineering - 0.17-2 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Tue May 24 2016 Radek Novacek - 0.17-1 -- Rebase to 0.17 - -* Tue May 17 2016 Radek Novacek 0.17-1 -- Version 0.17 - -* Fri Feb 05 2016 Fedora Release Engineering - 0.8-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Dec 17 2015 Radek Novacek 0.16-1 -- Version 0.16 - -* Tue Aug 04 2015 Devan Goodwin 0.15-1 -- Update spec for renamed README.md. (dgoodwin@redhat.com) -- Moves fakevirt._decode() to util.decode() (csnyder@redhat.com) -- Adds the report.config.name to log message when refusing to send a report due - to lack of change (csnyder@redhat.com) -- VirtWho: Clears list of reports on reload (csnyder@redhat.com) -- Revises change detection tests to account for changes in master - (csnyder@redhat.com) -- Libvirtd: Sends a report on start up, and on events (csnyder@redhat.com) -- Removes trailing line at the end of the file (csnyder@redhat.com) -- Test_Esx: Test Oneshot to ensure it queues a report (csnyder@redhat.com) -- Esx: only queue data if the version has changed (csnyder@redhat.com) -- Test_VirtWho:Patches manager.Manager.fromOptions, removes unnecessary mocks - (csnyder@redhat.com) -- Removes unhelpful debug log message (csnyder@redhat.com) -- Fix spacing, remove unused imports (csnyder@redhat.com) -- Test_VirtWho: Adds test to show same report will not be sent twice - (csnyder@redhat.com) -- VirtWho: Adds basic change detection using report hashs (csnyder@redhat.com) -- Adds hash property to config (csnyder@redhat.com) -- Adds hash property to DomainListReport and HypervisorGuestAssociationReport - (csnyder@redhat.com) -- Hypervisor: Adds getHash class method (csnyder@redhat.com) -- Limits interval settings (wpoteat@redhat.com) -- Retry sending data to subscription manager multiple times before dropping - (rnovacek@redhat.com) -- SubscriptionManager: nicely order keys in debug report (rnovacek@redhat.com) -- Fix serialization of guest list in print mode (rnovacek@redhat.com) -- Do not exit oneshot mode if any job exists (rnovacek@redhat.com) -- SubscriptionManager: check if report result has failedUpdate item - (rnovacek@redhat.com) -- SubscriptionManager: minor logging fixes (rnovacek@redhat.com) -- SubscriptionManager: add env var to disable asynchronous reporting - (rnovacek@redhat.com) -- Check jobs status in increasing interval (rnovacek@redhat.com) -- Esx: report host even if it doesn't have any guests (rnovacek@redhat.com) -- Hypervisors reported by hyperv now include hostname. (csnyder@redhat.com) -- Removes completed jobs. (csnyder@redhat.com) -- Fix output format in print mode (rnovacek@redhat.com) -- Fix using empty list as default parameter value (rnovacek@redhat.com) -- satellite: support new hypervisor format (rnovacek@redhat.com) -- Fix tests failures (rnovacek@redhat.com) -- Removes timeouts for jobs. All jobs in the list are now executed just before - a new report is sent. (csnyder@redhat.com) -- The virtwho loop now blocks on the report queue with a one second timeout - (csnyder@redhat.com) -- Removes unnecessary imports and queue (csnyder@redhat.com) -- Rewrite readme to markdown syntax (rnovacek@redhat.com) -- CI: install unittest2 from pypi (rnovacek@redhat.com) -- CI: add -y option to add-apt-repository (rnovacek@redhat.com) -- CI: another attempt on cloud archive for libvirt (rnovacek@redhat.com) -- CI: try to install newer version of libvirt from cloud archive - (rnovacek@redhat.com) -- CI: add libvirt-dev dependency (rnovacek@redhat.com) -- CI: install libvirt-python via pip (rnovacek@redhat.com) -- CI: another attempt without site-packages (rnovacek@redhat.com) -- CI: install python-rhsm dependencies (rnovacek@redhat.com) -- Adds support for facts in Hypervisor profile. (csnyder@redhat.com) -- Adds count of unchanged mappings to the info logged for the result of an - async job (csnyder@redhat.com) -- Adds tests for jobs in virtwho, removes unnecessary tests for managerprocess. - (csnyder@redhat.com) -- Changes to ensure backwards compatibility with python-rhsm - (csnyder@redhat.com) -- Fixes RhevM.getHostGuestMapping() as suggested by rnovacek - (csnyder@redhat.com) -- Adds layer to hypervisorId. Removes completed TODO (csnyder@redhat.com) -- Moves all functionality of managerprocess into virtwho. (csnyder@redhat.com) -- CI: use python with system side packages enabled (rnovacek@redhat.com) -- CI: install m2crypto using apt instead of pip (rnovacek@redhat.com) -- CI: install python-libvirt using apt instead of pip (rnovacek@redhat.com) -- Add requirements.txt and .travis.yml for the CI (rnovacek@redhat.com) -- Adds tests to verify the hostGuestAssociation is generated correctly. - (csnyder@redhat.com) -- Updates libvirtd and tests to add host name to hypervisor profile - (csnyder@redhat.com) -- Updates managerprocess with better logging and changes for the new tests.~~ - (csnyder@redhat.com) -- Updates to use the new hypervisor class (csnyder@redhat.com) -- print mode: format debug message about found hypervisors - (rnovacek@redhat.com) -- Removing uncesasary comments (csnyder@redhat.com) -- Removes unused dictionary of jobs and associated methods. - (csnyder@redhat.com) -- Fixes tests data to include "status" key. (csnyder@redhat.com) -- Updates tests to make use of new Hypervisor class. (csnyder@redhat.com) -- Host name is now included in the hypervisor profile using the new Hypervisor - class (csnyder@redhat.com) -- Adds new Hypervisor class. (csnyder@redhat.com) -- Adds new test for the updates to subscriptionmanager.py (csnyder@redhat.com) -- Updates fakevirt to make use of virt.Guest classes (csnyder@redhat.com) -- Changes to ensure proper execution post-merge (csnyder@redhat.com) -- Removing more unnecessary prints (csnyder@redhat.com) -- Fixes oneshot mode for work with new managerprocess (csnyder@redhat.com) -- Cleaning up unneeded prints and adding more useful debug log messages - (csnyder@redhat.com) -- Adds async job status polling for use with the new report API - (csnyder@redhat.com) -- This (along with python-rhsm/csnyder/new_report_api ee38f15, allows - communication with new report api (csnyder@redhat.com) - -* Tue Jun 23 2015 Radek Novacek 0.14-1 -- Version 0.14 - -* Fri Jun 19 2015 Fedora Release Engineering - 0.8-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Tue Mar 17 2015 Radek Novacek 0.13-1 -- new package built with tito - -* Fri Feb 27 2015 Radek Novacek 0.12-1 -- Version 0.12 - -* Tue Feb 03 2015 Radek Novacek 0.8-11 -- Fix permission of /etc/sysconfig/virt-who file -- Resolves: #1186034 - -* Mon Sep 08 2014 Radek Novacek 0.11-1 -- Version 0.11 - -* Sun Jun 08 2014 Fedora Release Engineering - 0.8-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue May 20 2014 Radek Novacek 0.10-1 -- Add directory with configuration files -- Version 0.10 - -* Thu Mar 13 2014 Radek Novacek 0.9-1 -- Remove libvirt dependency -- Add dependency on m2crypto -- Version 0.9 - -* Sun Aug 04 2013 Fedora Release Engineering - 0.8-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Fri Jun 14 2013 Radek Novacek 0.8-8 -- Increase ESXi compatibility -- Resolves: rhbz#923760 - -* Fri Feb 15 2013 Fedora Release Engineering - 0.8-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Nov 27 2012 Radek Novacek 0.8-6 -- Add systemd support -- specfile cleanup - -* Thu Oct 25 2012 Radek Novacek 0.8-5 -- Fix adding https:// to ESX url - -* Wed Oct 24 2012 Radek Novacek 0.8-4 -- Help and manpage improvements - -* Wed Oct 17 2012 Radek Novacek 0.8-3 -- Fix bugs in Hyper-V support (patch rebased) -- Create PID file ASAP to prevent service stop fails - -* Thu Oct 11 2012 Radek Novacek 0.8-2 -- Add support for accessing Hyper-V - -* Wed Sep 26 2012 Radek Novacek 0.8-1 -- Upstream version 0.8 -- RFE: command line improvements -- Add support for accessing RHEV-M -- Fix printing tracebacks on terminal - -* Fri Sep 14 2012 Radek Novacek 0.8-1 -- Version 0.8 - -* Mon Jul 09 2012 Radek Novacek 0.7-1 -- Version 0.7 - -* Thu Apr 26 2012 Radek Novacek 0.6-6 -- Handle unknown libvirt event properly - -* Wed Apr 18 2012 Radek Novacek 0.6-5 -- Enable debug output to be written to stderr -- Log guest list to log even in non-debug mode - -* Tue Apr 17 2012 Radek Novacek 0.6-4 -- Fix regression in double fork patch - -* Wed Mar 28 2012 Radek Novacek 0.6-3 -- Do double fork when daemon is starting - -* Fri Mar 09 2012 Radek Novacek 0.6-2 -- Add python-suds require -- Requires python-rhsm >= 0.98.6 - -* Thu Mar 01 2012 Radek Novacek 0.6-1 -- Rebase to virt-who-0.6 - -* Mon Feb 13 2012 Radek Novacek 0.6-1 -- Version 0.6 - -* Fri Dec 09 2011 Radek Novacek 0.5-1 -- VSphere support -- Req: python-suds - -* Wed Nov 30 2011 Radek Novacek 0.4-1 -- Version 0.4 - -* Wed Oct 12 2011 Radek Novacek 0.3-3 -- Use updateConsumer API instead of updateConsumerFact (fixes limit 255 chars of uuid list) -- Requires python-rhsm >= 0.96.13 - -* Thu Oct 06 2011 Radek Novacek - 0.3-2 -- Requires python-rhsm >= 0.96.13 (contains fix for char limit in uuid list) - -* Wed Sep 07 2011 Radek Novacek - 0.3-2 -- Add upstream patch that prevents failure when server not implements /status/ command - -* Thu Sep 01 2011 Radek Novacek - 0.3-1 -- Add initscript and configuration file - -* Mon Aug 22 2011 Radek Novacek - 0.2-2 -- Bump release because of tagging in wrong branch - -* Mon Aug 22 2011 Radek Novacek - 0.2-1 -- Update to upstream version 0.2 -- Add Requires: libvirt - -* Fri Aug 19 2011 Radek Novacek - 0.1-2 -- Add BuildRoot tag (the package will be in RHEL5) - -* Wed Aug 10 2011 Radek Novacek - 0.1-1 -- initial import From 5ea29b1ca8c52a0606d73f4ebdcedbce76944f53 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 14 Jan 2025 10:35:13 +0000 Subject: [PATCH 22/33] Unretirement request: pagure.io/releng/issue/12526 Revert "Orphaned for 6+ weeks" This reverts commit 94581da7b47464a7a6246cd1bd980a7cec9991e9. Signed-off-by: Fedora Release Engineering --- .gitignore | 1 + dead.package | 1 - sources | 1 + virt-who.spec | 1025 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1027 insertions(+), 1 deletion(-) create mode 100644 .gitignore delete mode 100644 dead.package create mode 100644 sources create mode 100644 virt-who.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..015cf29 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/virt-who-*.tar.gz diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/sources b/sources new file mode 100644 index 0000000..87cb0de --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (virt-who-1.31.26.tar.gz) = 3c412adc3063c4208c3975549166de5087dd07a78615bf9ddfc4a7e64ced7e3c397a5d0bc014a3573d2c3a37b0186f0eabe8d7a54f4882638c9672d9462afff7 diff --git a/virt-who.spec b/virt-who.spec new file mode 100644 index 0000000..c393f02 --- /dev/null +++ b/virt-who.spec @@ -0,0 +1,1025 @@ +%define use_systemd (0%{?fedora} && 0%{?fedora} >= 18) || (0%{?rhel} && 0%{?rhel} >= 7) + +%define use_python3 0%{?fedora} || (0%{?rhel} && 0%{?rhel} > 7) +%if %{use_python3} +%global python_ver python3 +%global python_exec %{__python3} +%global python_sitelib %{python3_sitelib} +%else +%if !%{use_systemd} +%global __python2 %{__python} +%global python2_sitelib %{python_sitelib} +%endif +%global python_ver python +%global python_exec %{__python2} +%global python_sitelib %{python2_sitelib} +%endif +%global release_number 1 + +%global git_tag %{name}-%{version}-%{release_number} + + +Name: virt-who +Version: 1.31.26 +Release: %{release_number}%{?dist}.3 + +Summary: Agent for reporting virtual guest IDs to subscription-manager + +Group: System Environment/Base +# GPL for virt-who proper and LGPL for incorporated suds +License: GPL-2.0-or-later AND LGPL-3.0-or-later +URL: https://github.com/candlepin/virt-who +Source0: %{name}-%{version}.tar.gz + +BuildArch: noarch +BuildRequires: %{python_ver}-devel +BuildRequires: %{python_ver}-setuptools +BuildRequires: %{python_ver}-pyyaml + +Requires: %{python_ver}-setuptools +# libvirt python required for libvirt support +%if (0%{?rhel} && 0%{?rhel} > 7 || 0%{?fedora}) +Requires: %{python_ver}-libvirt +%else +Requires: libvirt-python +%endif +# python-rhsm 1.20 has the M2Crypto wrappers needed to replace M2Crypto +# with the python standard libraries where plausible +%if %{use_python3} +Requires: python3-subscription-manager-rhsm > 1.25.6 +%else +Requires: subscription-manager-rhsm > 1.25.6 +%endif +# m2crypto OR python3-cryptography is required for Hyper-V support +%if %{use_python3} +Requires: python3-cryptography +%else +Requires: m2crypto +%endif +Requires: %{python_ver}-requests +Requires: %{python_ver}-six +# python-argparse is required for Python 2.6 on EL6 +%{?el6:Requires: python-argparse} +Requires: openssl +Requires: %{python_ver}-pyyaml + +%if %{use_systemd} +%if %{use_python3} +Requires: python3-systemd +%else +Requires: systemd-python +%endif +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else +Requires(post): chkconfig +Requires(preun): chkconfig +# This is for /sbin/service +Requires(preun): initscripts +%endif +Provides: bundled(python-suds) = 0.8.4 + +%description +Agent that collects information about virtual guests present in the system and +report them to the subscription manager. + +%prep +%setup -q + +%build +%{python_exec} setup.py build --rpm-version=%{version}-%{release_number} + +%install +rm -rf $RPM_BUILD_ROOT +%{python_exec} setup.py install --root %{buildroot} +%{python_exec} setup.py install_config --root %{buildroot} +%{python_exec} setup.py install_man_pages --root %{buildroot} +%if %{use_systemd} +%{python_exec} setup.py install_systemd --root %{buildroot} +%else +%{python_exec} setup.py install_upstart --root %{buildroot} +%endif + +mkdir -p %{buildroot}/%{_sharedstatedir}/%{name}/ +touch %{buildroot}/%{_sharedstatedir}/%{name}/key + +mkdir -p %{buildroot}/%{_datadir}/zsh/site-functions +install -m 644 virt-who-zsh %{buildroot}/%{_datadir}/zsh/site-functions/_virt-who + +# Don't run test suite in check section, because it need the system to be +# registered to subscription-manager server + +%post +%if %{use_systemd} +%systemd_post virt-who.service +%else +# This adds the proper /etc/rc*.d links for the script +/sbin/chkconfig --add virt-who +%endif +# This moves parameters from old config to remaining general config file +%if (0%{?fedora} > 33 || 0%{?rhel} > 8) +%{python_exec} %{python_sitelib}/virtwho/migrate/migrateconfiguration.py +%endif + +%preun +%if %{use_systemd} +%systemd_preun virt-who.service +%else +if [ $1 -eq 0 ] ; then + /sbin/service virt-who stop >/dev/null 2>&1 + /sbin/chkconfig --del virt-who +fi +%endif + +%postun +%if %{use_systemd} +%systemd_postun_with_restart virt-who.service +%else +if [ "$1" -ge "1" ] ; then + /sbin/service virt-who condrestart >/dev/null 2>&1 || : +fi +%endif + + +%files +%doc README.md LICENSE README.hyperv +%{_bindir}/virt-who +%{_bindir}/virt-who-password +%{python_sitelib}/* +%if %{use_systemd} +%{_unitdir}/virt-who.service +%else +%{_sysconfdir}/rc.d/init.d/virt-who +%endif +%attr(700, root, root) %dir %{_sysconfdir}/virt-who.d +%{_mandir}/man8/virt-who.8.gz +%{_mandir}/man8/virt-who-password.8.gz +%{_mandir}/man5/virt-who-config.5.gz +%attr(700, root, root) %{_sharedstatedir}/%{name} +%ghost %{_sharedstatedir}/%{name}/key +%{_datadir}/zsh/site-functions/_virt-who +%{_sysconfdir}/virt-who.d/template.conf +%attr(600, root, root) %config(noreplace) %{_sysconfdir}/virt-who.conf + + +%changelog +* Sat Jul 20 2024 Fedora Release Engineering - 1.31.26-1.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 1.31.26-1.2 +- Rebuilt for Python 3.13 + +* Sat Jan 27 2024 Fedora Release Engineering - 1.31.26-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* 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 + enabled systems (oalbrigt@redhat.com) + +* Wed Mar 16 2022 William Poteat 1.31.22-1 +- 2060949: Indicate that virt-who provides python-suds in the spec file + (wpoteat@redhat.com) +- Run complex tests as forked for consistent results (wpoteat@redhat.com) +- Update releasers for current needs (wpoteat@redhat.com) + +* Tue Feb 08 2022 William Poteat 1.31.21-1 +- 1987247: The connection value shows null for kubevirt mode in virt-who status + json (wpoteat@redhat.com) +- Addition of LGPLv3 license file from suds (wpoteat@redhat.com) +- 2000415: Nutanix config needs to handle bad server value (wpoteat@redhat.com) +- 1996942: Use cluster name instead of UUID for fabric consistency + (wpoteat@redhat.com) +- 1990758: Virt-who always prints YAMLLoadWarning for kubevirt mode + (wpoteat@redhat.com) +- 1990563: Move progress bar to stderr to keep stdout clean + (wpoteat@redhat.com) + +* Tue Feb 08 2022 William Poteat +- 1987247: The connection value shows null for kubevirt mode in virt-who status + json (wpoteat@redhat.com) +- Addition of LGPLv3 license file from suds (wpoteat@redhat.com) +- 2000415: Nutanix config needs to handle bad server value (wpoteat@redhat.com) +- 1996942: Use cluster name instead of UUID for fabric consistency + (wpoteat@redhat.com) +- 1990758: Virt-who always prints YAMLLoadWarning for kubevirt mode + (wpoteat@redhat.com) +- 1990563: Move progress bar to stderr to keep stdout clean + (wpoteat@redhat.com) + +* Mon Jan 10 2022 William Poteat 1.31.19-1 +- 1990562: Remove the redundant 'update_interval' option from ahv config + (wpoteat@redhat.com) +- 1990561: rename configuration entry to show ahv specificity + (wpoteat@redhat.com) + +* Thu Dec 16 2021 William Poteat 1.31.18-1 +- 2000019: Convert non-latin1 username/password to bytes (jhnidek@redhat.com) +- 2018052: Fix virt-who -s, when Hyper-V with new API is used + (jhnidek@redhat.com) +- ENT-4511: Remove six package from requirements (mhorky@redhat.com) +- ENT-4511: Drop Python 2 only tests (mhorky@redhat.com) +- ENT-4511: Drop six usage in suds tests (mhorky@redhat.com) +- ENT-4511: Drop six usage in tests (mhorky@redhat.com) +- ENT-4511: Drop six usage in virt-who code (mhorky@redhat.com) +- ENT-4511: Drop OrderedDict implementation (mhorky@redhat.com) +- Update for deprecation of MutableMapping (wpoteat@redhat.com) +- Only query the VM related taks in AHV hypervisors. (amir.eibagi@nutanix.com) +- Remove unused NTLM code as only basic auth is used (wpoteat@redhat.com) + +* Tue Sep 14 2021 William Poteat 1.31.17-1 +- Bypass stylish check on suds code (wpoteat@redhat.com) +- 2000922: Add the suds code to virt-who in place of python3-suds package + (wpoteat@redhat.com) +- ENT-4004: Fix flake8 issues for test files (mhorky@redhat.com) +- ENT-4004: Use four spaces for indentation (mhorky@redhat.com) +- ENT-4004: Fix flake8 issues (mhorky@redhat.com) +- ENT-4004: Add stylish tests (mhorky@redhat.com) +- Cannot use ESX where python3-suds is not available (wpoteat@redhat.com) +- 1981249: Stop using NTLM which requires MD4 (OpenSSL 3.0) + (csnyder@redhat.com) +- 1989877: Status command does not reach actual credentials checking + (wpoteat@redhat.com) +- Make changes to follow Conscious language initiative (mhorky@redhat.com) + +* Fri Aug 06 2021 William Poteat 1.31.16-1 +- 1990550: Add the description for nutanix mode in man virt-who and man virt- + who-config (wpoteat@redhat.com) +- 1990337: The guest state in mapping should be uniform with other hypervisors + 1990338: The guest shows wrong active value "0" in mapping when it's running + (wpoteat@redhat.com) +- 1989646: Get UnboundLocalError when configured hypervisor_id=hwuuid + (wpoteat@redhat.com) +- 1989645: Add dmi.system.uuid to ahv facts (wpoteat@redhat.com) +- 1974624: proxy error with https (wpoteat@redhat.com) + +* Tue Aug 03 2021 William Poteat 1.31.15-1 +- 1986973: Take out AHV removal patch mechanism (wpoteat@redhat.com) +- Update AHV patch (wpoteat@redhat.com) + +* Fri Jul 16 2021 William Poteat 1.31.14-1 +- Merge run data into report (wpoteat@redhat.com) +- Update the man page for the status mode (wpoteat@redhat.com) +- Status execution (wpoteat@redhat.com) +- Record last dates of succcess for sources and destinations + (wpoteat@redhat.com) +- Update certs for complex tests (wpoteat@redhat.com) + +* Thu Jun 03 2021 William Poteat 1.31.13-1 +- 1965320: Clear previous report hash when hypervisor count is zero + (wpoteat@redhat.com) +- Added support for Packit service (jhnidek@redhat.com) +- Convert CI from Travis to Jenkins (wpoteat@redhat.com) + +* Fri May 21 2021 William Poteat 1.31.12-1 +- 1951347: Update patch for xen removal (wpoteat@redhat.com) + +* Thu May 20 2021 William Poteat 1.31.11-1 +- 1951347: Remove Xen from hypervisor types (wpoteat@redhat.com) +- Releaser for Centos (wpoteat@redhat.com) + +* Mon May 17 2021 William Poteat 1.31.10-1 +- 1920322: Uncomment section header on migrate (wpoteat@redhat.com) +- Update CI link to use branch name main (wpoteat@redhat.com) +- Fedora master branch name changed to main (wpoteat@redhat.com) + +* Thu Feb 18 2021 William Poteat 1.31.9-1 +- Man page update to describe the migration script (wpoteat@redhat.com) +- 1924572: Add insecure option to config template (wpoteat@redhat.com) +- Add Fedora 34 to releaser list (wpoteat@redhat.com) + +* Thu Jan 28 2021 William Poteat 1.31.8-1 +- Update AHV patch for Kubevirt change (wpoteat@redhat.com) + +* Mon Jan 25 2021 William Poteat 1.31.7-1 +- 1917645: handle not running vms (piotr.kliczewski@gmail.com) +- Fedora 31 is no longer a build target (wpoteat@redhat.com) + +* Fri Jan 15 2021 William Poteat 1.31.6-1 +- 1910020: replace deprecated call (wpoteat@redhat.com) + +* Mon Jan 04 2021 William Poteat 1.31.5-1 +- 1909145: [RFE] Use single json format for input/output data + (wpoteat@redhat.com) +- 1855550: [Remote Libvirt] The Name in Stage Candlepin cannot update based on + hypervisor_id configuration (wpoteat@redhat.com) +- 1879329: List possible values for type in man page (wpoteat@redhat.com) + +* Tue Dec 08 2020 William Poteat 1.31.4-1 +- 1899652: Install script error when file does not exist (wpoteat@redhat.com) + +* Fri Dec 04 2020 William Poteat 1.31.3-1 +- 1899652: Update to ahv patch file (wpoteat@redhat.com) + +* Wed Dec 02 2020 William Poteat 0.31.2-1 +- 1896652: platform-python-setuptools is not in RHEL9 (wpoteat@redhat.com) + +* Tue Nov 17 2020 William Poteat 0.31.1-1 +- 1658440: Remove the use of environment variables for configuration + (wpoteat@redhat.com) +- Do not use deprecated isAlive() but use is_alive() (jhnidek@redhat.com) +- 1890421: New section of virt-who.conf file for environment variables + (wpoteat@redhat.com) + +* Thu Oct 22 2020 William Poteat 0.31.0-1 +- 1876927: virt-who fails to parse output from hypervisor (wpoteat@redhat.com) +- Additional copy of patch file needed for build Update of Fedora versions in + releaser file (wpoteat@redhat.com) +- Correction in patch builder for directory location (wpoteat@redhat.com) +- Update releasers (wpoteat@redhat.com) +- 1878136: Deprecation comment in config file (wpoteat@redhat.com) +- 1854829: rhsm_port and rhsm_password are missing in template.conf + (wpoteat@redhat.com) + +* Thu Oct 01 2020 William Poteat 0.30.0-1 +- Add patch to remove AHV bits for RHEL builds (wpoteat@redhat.com) +- 1878136: Deprecation warning for environment variables (wpoteat@redhat.com) +- 184506: virt-who should send its version in the User-Agent header + (wpoteat@redhat.com) +- 1806572: RHEVM API url needs version specified (wpoteat@redhat.com) +- 1847792: [ESX] Virt-who is failed when run with + "filter/exclude_host_parents=" option (wpoteat@redhat.com) +- 1809098: Convert UUID to big-endian for certain esx hardware versions + (wpoteat@redhat.com) +- 1835132: support milicpus (piotr.kliczewski@gmail.com) + +* Thu May 21 2020 William Poteat 0.29.2-1 +- NTLM: Fix compatibility issue with Python3.8 (jhnidek@redhat.com) +- 1806572: RHEVM should only use version 4 (wpoteat@redhat.com) +- Update to tests to match changes in Subscription Manager (jhnidek@redhat.com) +- 1461272: Filter virt-who hosts based on host_parents using wildcard + (wpoteat@redhat.com) + +* Fri May 08 2020 William Poteat 0.29.1-1 +- 1806572: virt-who using V3 APIs for communication with RHEVM which is + deprecated (wpoteat@redhat.com) +- Update Fedora releases (wpoteat@redhat.com) + +* Fri Apr 03 2020 William Poteat 0.29.0-1 +- Update releasers for RHEL-8.3 (wpoteat@redhat.com) +- 1775535: config option to override api version (piotr.kliczewski@gmail.com) +- 1780467: Validate rhevm password when unicode is not allowed + (wpoteat@redhat.com) +- 1727203: Validate server name for ASCII only in ESX (wpoteat@redhat.com) +- 1757985: better behavior of --config option; ENT-1713 (jhnidek@redhat.com) +- 1751441: Add command line path parameter (piotr.kliczewski@gmail.com) +- 1762780: fix bug, when reporter_id is empty; ENT-1706 (jhnidek@redhat.com) +- 1759869: Version file needs updating on rpm (wpoteat@redhat.com) +- 1776084 - Failed to run virt-who with Hyper-V (wpoteat@redhat.com) +- Proper placeholder (wpoteat@redhat.com) +- 1751441: remove strict need for kubeconfig (piotr.kliczewski@gmail.com) +- Update for 8.2 (wpoteat@redhat.com) +- 1748677: Improved timeout for esx (wpoteat@redhat.com) +- 1727130: Correct man page for default interval (wpoteat@redhat.com) +- 1743589: Content type header null coverage (wpoteat@redhat.com) +- 1751624: Allow unicode username only if python-requests allows it + (wpoteat@redhat.com) +- 1745768: Make message unicode safe (wpoteat@redhat.com) +- 1516209: Proper handling for empty server entry (wpoteat@redhat.com) +- 1733286: add connection/request timeout (piotr.kliczewski@gmail.com) +- Remove vdsm capability (wpoteat@redhat.com) +- 1720048: Template for general configuration not properly formatted + (wpoteat@redhat.com) +- Add AHV v3 lenght and offset for the API calls. (amir.eibagi@nutanix.com) +- 1530254: Update checking on environment variables (wpoteat@redhat.com) +- 1714456: Update description of 'print_' config option (wpoteat@redhat.com) +- 1499679: Check for duplicates in conf file; ENT-249 (jhnidek@redhat.com) +- 1720154: Provide SYSTEM_UUID_FACT (piotr.kliczewski@gmail.com) +- 1516120: Handling for incorrect config section headers (wpoteat@redhat.com) +- 1722560: Make heartbeat more robust (jhnidek@redhat.com) +- Update spec for build system (wpoteat@redhat.com) +- 1416298: Use unique guest attribute for state tracking (wpoteat@redhat.com) + +* Wed Jun 12 2019 William Poteat 0.25.4-1 +- 1718304: Fix issue when instance["BIOSGUID"] returns None + (phess@users.noreply.github.com) +- 1652549: Add heartbeat call to virt-who cycle (wpoteat@redhat.com) +- 1472727: Log error, when encrypted password is missing; ENT-1344 + (jhnidek@redhat.com) +- 1714133: can't set data property (piotr.kliczewski@gmail.com) +- Add Nutanix AHV support for RHSS + UTs. (amir00018@gmail.com) + +* Fri May 24 2019 William Poteat 0.25.3-1 +- 1530290: Remove enviroment as an input variable for the hypervisor check in + (wpoteat@redhat.com) +- 1523482: 1519704: Interval value set to empty string will revert to default + value (wpoteat@redhat.com) +- 1522384: Log at debug level when config uses default entries + (wpoteat@redhat.com) +- 1708524: update man page with kubevirt backend information + (piotr.kliczewski@gmail.com) +- 1708534: add kubeconfig to template (piotr.kliczewski@gmail.com) +- 1516209: Configuration should be deemed invalid when server is not specified + (wpoteat@redhat.com) +- 1640967: Add xen type listing in /etc/virt-who.d/template.conf + (wpoteat@redhat.com) + +* Tue May 14 2019 William Poteat 0.25.2-1 +- Update to spec for pyyaml package (wpoteat@redhat.com) + +* Tue May 14 2019 William Poteat +- Update to spec for pyyaml package (wpoteat@redhat.com) + +* Mon May 13 2019 William Poteat 0.25.0-1 +- Update releasers (wpoteat@redhat.com) +- 1641953: Virt-who fails if one hypervisor has wrong encrypted password + (wpoteat@redhat.com) +- 1506167: Ignore new SIGHUP signals during signal handling + (jhnidek@redhat.com) +- 1522661: Constrict is_hypervisor field to fake virt (wpoteat@redhat.com) +- 1695538: Provide support for hypervisor_id option + (piotr.kliczewski@gmail.com) +- 1695519: use correct uuid in kubevirt report (piotr.kliczewski@gmail.com) + +* Mon May 13 2019 William Poteat +- Update releasers (wpoteat@redhat.com) +- 1641953: Virt-who fails if one hypervisor has wrong encrypted password + (wpoteat@redhat.com) +- 1506167: Ignore new SIGHUP signals during signal handling + (jhnidek@redhat.com) +- 1522661: Constrict is_hypervisor field to fake virt (wpoteat@redhat.com) +- 1695538: Provide support for hypervisor_id option + (piotr.kliczewski@gmail.com) +- 1695519: use correct uuid in kubevirt report (piotr.kliczewski@gmail.com) + +* Wed Apr 03 2019 William Poteat 0.24.4-1 +- 1667522: Omit ESX host from report when no hostname is present + (wpoteat@redhat.com) +- 1693858: Send hardware uuid on every check in for system reconcilliation + (wpoteat@redhat.com) +- kubevirt: provide user authentication (piotr.kliczewski@gmail.com) +- 1486270: pass no_proxy from config files (wpoteat@redhat.com) +- kubevirt: drop kubernetes and kubevirt dependencies + (piotr.kliczewski@gmail.com) +- 1638250: Improved fix for http proxy issue (wpoteat@redhat.com) +- Update releaser (wpoteat@redhat.com) + +* Wed Apr 03 2019 William Poteat +- 1667522: Omit ESX host from report when no hostname is present + (wpoteat@redhat.com) +- 1693858: Send hardware uuid on every check in for system reconcilliation + (wpoteat@redhat.com) +- kubevirt: provide user authentication (piotr.kliczewski@gmail.com) +- 1486270: pass no_proxy from config files (wpoteat@redhat.com) +- kubevirt: drop kubernetes and kubevirt dependencies + (piotr.kliczewski@gmail.com) +- 1638250: Improved fix for http proxy issue (wpoteat@redhat.com) +- Update releaser (wpoteat@redhat.com) + +* Fri Dec 21 2018 William Poteat 0.24.2-1 +- 1657104: Remove references to removed command line options + (wpoteat@redhat.com) +- Fixing kubevirt config path argument (piotr.kliczewski@gmail.com) +- fix travis run (wpoteat@redhat.com) +- 1650133: setuptools naming change (wpoteat@redhat.com) +- 1638250: Proxy issue when https not specified (wpoteat@redhat.com) +- Update branch definition for RHEL 8.0 branch (wpoteat@redhat.com) +- ENT-896: Disable deprecated configuration options in python 3 + (wpoteat@redhat.com) +- 1637407: vCenter mapping info failure due to TypeError (wpoteat@redhat.com) + +* Mon Oct 29 2018 William Poteat 0.24.1-1 +- Merge in changes from Fedora packaging (wpoteat@redhat.com) +- ENT-826 Added correlation id to virt-who reports (nmoumoul@redhat.com) +- Releaser addition for rhel-7.7 (wpoteat@redhat.com) +- Install subscription-manager, not python-rhsm which is deprecated: - Removed + python-rhsm from the requirements, and added subscription-manager as + dependency. - Added some dependencies that travis requires to install + subscription-manager. (nmoumoul@redhat.com) + +* Wed Sep 19 2018 William Poteat 0.24.0-1 +- Automatic commit of package [virt-who] release [0.22.2-1]. + (wpoteat@redhat.com) +- kubevirt: warn user that dependencies are missing + (piotr.kliczewski@gmail.com) +- 1369634: Dont log proxy html errors for hyperv: - When hyperv gets an HTML + page as error response from a proxy, don't log the whole html, but try to + scrape the title off of it. - If scraping the title doesn't work, only log + the http error code. - Changed all variables named 'xml' to 'xml_doc' in + hyperv.py to avoid conflict with the new python keyword. + (nmoumoul@redhat.com) +- 1599725: Handle job status report errors (nmoumoul@redhat.com) +- 1557296: Warn of commented out lines prefixed with space/tab (ENT-606) - When + reading config files in python2, warn the user if a line continuation (starts + with space/tab) is followed by '#' (nmoumoul@redhat.com) +- kubevirt: Ignore vmis in Scheduling (piotr.kliczewski@gmail.com) +- kubevirt: Update config (piotr.kliczewski@gmail.com) +- Print/log debug information about filtered hosts (jhnidek@redhat.com) +- 1577954: Added config option filter_type; ENT-580 (jhnidek@redhat.com) +- Changed info about how filter_host_parents/exclude_host_parents filters work + (ktordeur@redhat.com) +- 1387800: set name of ESX cluster properly; ENT-793 (jhnidek@redhat.com) +- Add release entry for RHEL 8 (wpoteat@redhat.com) +- template update (wpinheir@iroman.home) +- template update (wpinheir@iroman.home) +- 1596041: Make python libvirt required (wpoteat@redhat.com) +- updating RHV/RHEV/XenServer information (wpinheir@iroman.home) +- 1581021: Decode error from unicode passwords (wpoteat@redhat.com) +- 1510920: Change the choreography for the job status check + (wpoteat@redhat.com) +- ENT-493: Add option to command line to return version + (adarshvritant@gmail.com) +- Update executor.py (all_bright@live.com) +- kubevirt: rename virtual machine instance (piotr.kliczewski@gmail.com) +- Update for build process (wpoteat@redhat.com) +- Fixed hyperv wmi query. Invalid response (500) + (njmiller@lakemichigancollege.edu) +- 1432140: Log when a duplicate hypervisor id is detected [ENT-568] + (wpoteat@redhat.com) +- 1368341: Warn that --sam/--satellite6 are unused & deprecated * Now logging a + warning when --sam/--satellite6 are used. * man page and --help output + updated to explaing that these options are unused and virt-who will report to + either sam/satellite/stage candlepin regardless of their being there. + (nmoumoul@redhat.com) +- 1455062: Partial fix of high CPU usage, when many conf files used + (jhnidek@redhat.com) +- Correction to the spec file condition for python 3 (wpoteat@redhat.com) +- ENT-554 Host reports for libvirt and rhevm include the system hardware uuid + (wpoteat@redhat.com) +- Add releaser for RHEL 7.6 (wpoteat@redhat.com) +- Remove f26 releaser (f26 is EOL) (csnyder@redhat.com) + +* Wed Sep 19 2018 William Poteat +- Automatic commit of package [virt-who] release [0.22.2-1]. + (wpoteat@redhat.com) +- kubevirt: warn user that dependencies are missing + (piotr.kliczewski@gmail.com) +- 1369634: Dont log proxy html errors for hyperv: - When hyperv gets an HTML + page as error response from a proxy, don't log the whole html, but try to + scrape the title off of it. - If scraping the title doesn't work, only log + the http error code. - Changed all variables named 'xml' to 'xml_doc' in + hyperv.py to avoid conflict with the new python keyword. + (nmoumoul@redhat.com) +- 1599725: Handle job status report errors (nmoumoul@redhat.com) +- 1557296: Warn of commented out lines prefixed with space/tab (ENT-606) - When + reading config files in python2, warn the user if a line continuation (starts + with space/tab) is followed by '#' (nmoumoul@redhat.com) +- kubevirt: Ignore vmis in Scheduling (piotr.kliczewski@gmail.com) +- kubevirt: Update config (piotr.kliczewski@gmail.com) +- Print/log debug information about filtered hosts (jhnidek@redhat.com) +- 1577954: Added config option filter_type; ENT-580 (jhnidek@redhat.com) +- Changed info about how filter_host_parents/exclude_host_parents filters work + (ktordeur@redhat.com) +- 1387800: set name of ESX cluster properly; ENT-793 (jhnidek@redhat.com) +- Add release entry for RHEL 8 (wpoteat@redhat.com) +- template update (wpinheir@iroman.home) +- template update (wpinheir@iroman.home) +- 1596041: Make python libvirt required (wpoteat@redhat.com) +- updating RHV/RHEV/XenServer information (wpinheir@iroman.home) +- 1581021: Decode error from unicode passwords (wpoteat@redhat.com) +- 1510920: Change the choreography for the job status check + (wpoteat@redhat.com) +- ENT-493: Add option to command line to return version + (adarshvritant@gmail.com) +- Update executor.py (all_bright@live.com) +- kubevirt: rename virtual machine instance (piotr.kliczewski@gmail.com) +- Update for build process (wpoteat@redhat.com) +- Fixed hyperv wmi query. Invalid response (500) + (njmiller@lakemichigancollege.edu) +- 1432140: Log when a duplicate hypervisor id is detected [ENT-568] + (wpoteat@redhat.com) +- 1368341: Warn that --sam/--satellite6 are unused & deprecated * Now logging a + warning when --sam/--satellite6 are used. * man page and --help output + updated to explaing that these options are unused and virt-who will report to + either sam/satellite/stage candlepin regardless of their being there. + (nmoumoul@redhat.com) +- 1455062: Partial fix of high CPU usage, when many conf files used + (jhnidek@redhat.com) +- Correction to the spec file condition for python 3 (wpoteat@redhat.com) +- ENT-554 Host reports for libvirt and rhevm include the system hardware uuid + (wpoteat@redhat.com) +- Add releaser for RHEL 7.6 (wpoteat@redhat.com) +- Remove f26 releaser (f26 is EOL) (csnyder@redhat.com) + +* Sat Jul 14 2018 Fedora Release Engineering - 0.22.2-1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.22.2-1.1 +- Rebuilt for Python 3.7 + +* Thu May 31 2018 William Poteat 0.22.2-1 +- Correct date ordering in changelog (wpoteat@redhat.com) +- 1575513: Re-add changelog entries that were merged out. (wpoteat@redhat.com) +- 1560598: Pass hostname to M2Crypto in STOMP client (khowell@redhat.com) +- Make vdsm respect RHSM_USE_M2CRYPTO var (khowell@redhat.com) +- Set up Travis CI to use Python 3 (jhnidek@redhat.com) +- Fixing python 2 -> 3 issue (wpoteat@redhat.com) +- kubevirt support (piotr.kliczewski@gmail.com) + +* Mon May 07 2018 William Poteat 0.22.1-1 +- 1542652: When the -c option is used, don't parse the default files + (nmoumoul@redhat.com) +- 1569299: try/exception needed for hypervisor_id check (wpoteat@redhat.com) +- Update tito releasers to include newer versions of fedora + (csnyder@redhat.com) +- 1560461: Make env and owner options required for approprite cases + (jhnidek@redhat.com) +- 1554228: Unicode issue on status update call (wpoteat@redhat.com) +- 1387800: [RFE] virt-who can report cluster in host-to-guest mapping + (jhnidek@redhat.com) +- Updates for future builds based on changing environments (wpoteat@redhat.com) +- limit version of libvirt-python (wpoteat@redhat.com) +- 1447022: Log warning, when wrong filter is in config file + (jhnidek@redhat.com) +- 1511644: Support running virt-who on python 3 (csnyder@redhat.com) +- 1520236: Do not log traceback, when server returns 429 http error + (jhnidek@redhat.com) +- 1492074: Enable login to ESX using password with UTF-8 string + (jhnidek@redhat.com) +- 1353119: Add JSON-RPC support for VDSM (khowell@redhat.com) +- 1509597: Enable to use virt-who wih VDSM again (jhnidek@redhat.com) +- 1522383: Remove global option background (jhnidek@redhat.com) +- 1523548: Options log_dir and log_file are not ignored (jhnidek@redhat.com) + +* Fri Feb 09 2018 Fedora Release Engineering - 0.17-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Dec 07 2017 Christopher Snyder 0.21.2-1 +- 1510310: Ensure that owner and env are required where necessary + (csnyder@redhat.com) +- 1512778: ESX should require username, password, and server values + (csnyder@redhat.com) + +* Tue Nov 28 2017 Kevin Howell 0.21.1-1 +- 1511308: Only ESX supports: exclude_host_parents and filter_host_parents. + (jhnidek@redhat.com) +- 1509596: Use qemu+ssh transport if not provided (libvirt) + (csnyder@redhat.com) +- 1511308: Xen and Hyper-V do not support some filter options + (jhnidek@redhat.com) +- 1510760: Ensure virt-who exits properly (w/ no good conf) + (csnyder@redhat.com) +- 1509606: Remove duplicate output of validation messages (csnyder@redhat.com) +- 1509597: Fix issue with cli consistancy check for vdsm (csnyder@redhat.com) +- 1509595: Only expect owner on HostGuestAssociationReports + (csnyder@redhat.com) + +* Mon Oct 30 2017 Christopher Snyder 0.21.0-1 +- Update hypervisorCheckInAsync test for new config sections + (csnyder@redhat.com) +- Update Config Refactor with changes from master (csnyder@redhat.com) +- Removed usage of old Config (not unit tests) (jhnidek@redhat.com) +- Further clean up of unit tests (jhnidek@redhat.com) +- Create Xen Config Subclass (jhnidek@redhat.com) +- Create Rhevm Config Subclass (jhnidek@redhat.com) +- Create VDSM config subclass (wpoteat@redhat.com) +- Clean up ConfigSection Unit tests (jhnidek@redhat.com) +- Adds FakeVirtConfigSection (csnyder@redhat.com) +- Configuration subclass for hyperv (wpoteat@redhat.com) +- Implement EsxConfigSection (khowell@redhat.com) +- Libvirtd ConfigSection Subclass (jhnidek@redhat.com) +- Adds EffectiveConfig, ConfigSection (csnyder@redhat.com) +- Adds warning message for deprecated env vars (csnyder@redhat.com) +- 1503700: Updates to the job polling frequency (csnyder@redhat.com) +- 1502821: Remove undocumented, broken env var "VIRTWHO_DISABLE_ASYNC" + (csnyder@redhat.com) +- 1466015: Warn of deprecation of command line options in next release + (wpoteat@redhat.com) +- remove non-existant variable fake_is_hypervisor (adarshvritant@gmail.com) +- 1485865: Do not replace /etc/virt-who.conf on rpm upgrade + (csnyder@redhat.com) +- Utilize the owner from the first report seen, if we do not know the owner + (csnyder@redhat.com) +- Updates based on review (use str.format) (csnyder@redhat.com) +- Fix example fake config in man docs (adarshvritant@gmail.com) +- Add m2crypto dependency (adarshvritant@gmail.com) +- 1211435: Don't send host-to-geust mapping, when env, owner are wrong + (jhnidek@redhat.com) +- 1408556: Log which owner updated mappings are being sent to + (csnyder@redhat.com) + +* Thu Jul 27 2017 Fedora Release Engineering - 0.17-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jul 26 2017 Christopher Snyder 0.20.4-1 +- Point Source0 to GitHub (csnyder@redhat.com) + +* Thu Jul 13 2017 Christopher Snyder 0.20.2-1 +- 1458184: better reading of environment variables (jhnidek@redhat.com) +- 1401867: Enable logging of rhsm module to rhsm.log (jhnidek@redhat.com) +- 1404117: Check parameter consistency and refactoring (jhnidek@redhat.com) +- Adds a patch number to virt-who versioning (csnyder@redhat.com) +- 1401420: xen supports only uuid/hostname as hypervisor_id + (jhnidek@redhat.com) +- 1458674: Update use of result data to match the new async api + (csnyder@redhat.com) +- 1452436: virt-who prints host-to-quest mapping everytime (jhnidek@redhat.com) +- 1357761: Do not check passwords to be in latin1 encoding (jhnidek@redhat.com) +- 1457101: Continue running despite malformed configs (csnyder@redhat.com) +- 1409984: Retry initial report retrieval on connection timeout + (csnyder@redhat.com) + +* Fri Jun 09 2017 Christopher Snyder 0.20-1 +- 1389729: Add missing xml section for test (fran@caosdigital.com) +- 1389729: virt-who incorrectly reports 'name' instead of 'hostname' for RHEV + hosts (fran@caosdigital.com) +- 1450747: Continue running destination threads on internal failure + (csnyder@redhat.com) +- 1444718: Log name of config when duplicate reports are retrieved + (csnyder@redhat.com) +- 1447264: Keep running on InvalidPasswordFormat given other valid configs + (csnyder@redhat.com) +- 1448267: Fix polling behavior for oneshot, CTRL-C, 429 responses + (csnyder@redhat.com) +- 1369107: Update docs and log messages to show the *.conf requirement + (csnyder@redhat.com) +- 1436517: Fix api base detection for rhevm version 3 and 4 + (csnyder@redhat.com) +- 1442337: Send updates immediately the first run (csnyder@redhat.com) +- Do not join threads not started, fix up fake backend (csnyder@redhat.com) +- 1439317: Ensure reports are still sent despite duplicate configurations + (csnyder@redhat.com) +- DestinationThreads now send all reports (csnyder@redhat.com) +- Adds IntervalThread base class and refactors Virt classes + (csnyder@redhat.com) +- Remove reference to nonexistant method _set_option (csnyder@redhat.com) +- Update ConfigManager to produce destination and source mappings. + (csnyder@redhat.com) +- Implemements a threadsafe datastore (csnyder@redhat.com) +- Move from using processes to threads (csnyder@redhat.com) +- 1436517: Set Version header for version detect (pcreech@redhat.com) +- 1403640: Fix syntax error in exception handling (pcreech@redhat.com) +- Update the spec file for builds on more downstream platforms + (csnyder@redhat.com) +- Add releaser for rhel-7.4 (khowell@redhat.com) +- 1391512: Handle utf-8 within Xmlrpc transport (pcreech@redhat.com) + +* Thu Mar 02 2017 Christopher Snyder 0.19-1 +- 1415497: Support rhev4 auto detection and usage (pcreech@redhat.com) +- 1388577: Adding UTF-8 support (pcreech@redhat.com) +- 1410000: Include org_id in hv base channel (pcreech@redhat.com) +- 1400431: Fix AttributeError where val is missing (pcreech@redhat.com) +- 1405967: Filter host via glob or regex (pcreech@redhat.com) +- Adds --password option to virt-who-pasword (tstrachota@redhat.com) +- 1392390 Fix default interval handling (pcreech@redhat.com) +- BZ1405967 Add filter_hosts_regex, and exclude_hosts_regex to allow filtering + large numbers of hosts easily (chris@chrisprocter.co.uk) +- 1369107: Only load files with .conf extension (pcreech@redhat.com) +- 1383436: Obey the interval setting (csnyder@redhat.com) +- 1299643: Update virt-who-config man page to include NO_PROXY + (csnyder@redhat.com) + +* Sat Feb 11 2017 Fedora Release Engineering - 0.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Oct 11 2016 Radek Novacek 0.18-1 +- Version 0.18 + +* Tue Jul 19 2016 Fedora Release Engineering - 0.17-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Tue May 24 2016 Radek Novacek - 0.17-1 +- Rebase to 0.17 + +* Tue May 17 2016 Radek Novacek 0.17-1 +- Version 0.17 + +* Fri Feb 05 2016 Fedora Release Engineering - 0.8-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Dec 17 2015 Radek Novacek 0.16-1 +- Version 0.16 + +* Tue Aug 04 2015 Devan Goodwin 0.15-1 +- Update spec for renamed README.md. (dgoodwin@redhat.com) +- Moves fakevirt._decode() to util.decode() (csnyder@redhat.com) +- Adds the report.config.name to log message when refusing to send a report due + to lack of change (csnyder@redhat.com) +- VirtWho: Clears list of reports on reload (csnyder@redhat.com) +- Revises change detection tests to account for changes in master + (csnyder@redhat.com) +- Libvirtd: Sends a report on start up, and on events (csnyder@redhat.com) +- Removes trailing line at the end of the file (csnyder@redhat.com) +- Test_Esx: Test Oneshot to ensure it queues a report (csnyder@redhat.com) +- Esx: only queue data if the version has changed (csnyder@redhat.com) +- Test_VirtWho:Patches manager.Manager.fromOptions, removes unnecessary mocks + (csnyder@redhat.com) +- Removes unhelpful debug log message (csnyder@redhat.com) +- Fix spacing, remove unused imports (csnyder@redhat.com) +- Test_VirtWho: Adds test to show same report will not be sent twice + (csnyder@redhat.com) +- VirtWho: Adds basic change detection using report hashs (csnyder@redhat.com) +- Adds hash property to config (csnyder@redhat.com) +- Adds hash property to DomainListReport and HypervisorGuestAssociationReport + (csnyder@redhat.com) +- Hypervisor: Adds getHash class method (csnyder@redhat.com) +- Limits interval settings (wpoteat@redhat.com) +- Retry sending data to subscription manager multiple times before dropping + (rnovacek@redhat.com) +- SubscriptionManager: nicely order keys in debug report (rnovacek@redhat.com) +- Fix serialization of guest list in print mode (rnovacek@redhat.com) +- Do not exit oneshot mode if any job exists (rnovacek@redhat.com) +- SubscriptionManager: check if report result has failedUpdate item + (rnovacek@redhat.com) +- SubscriptionManager: minor logging fixes (rnovacek@redhat.com) +- SubscriptionManager: add env var to disable asynchronous reporting + (rnovacek@redhat.com) +- Check jobs status in increasing interval (rnovacek@redhat.com) +- Esx: report host even if it doesn't have any guests (rnovacek@redhat.com) +- Hypervisors reported by hyperv now include hostname. (csnyder@redhat.com) +- Removes completed jobs. (csnyder@redhat.com) +- Fix output format in print mode (rnovacek@redhat.com) +- Fix using empty list as default parameter value (rnovacek@redhat.com) +- satellite: support new hypervisor format (rnovacek@redhat.com) +- Fix tests failures (rnovacek@redhat.com) +- Removes timeouts for jobs. All jobs in the list are now executed just before + a new report is sent. (csnyder@redhat.com) +- The virtwho loop now blocks on the report queue with a one second timeout + (csnyder@redhat.com) +- Removes unnecessary imports and queue (csnyder@redhat.com) +- Rewrite readme to markdown syntax (rnovacek@redhat.com) +- CI: install unittest2 from pypi (rnovacek@redhat.com) +- CI: add -y option to add-apt-repository (rnovacek@redhat.com) +- CI: another attempt on cloud archive for libvirt (rnovacek@redhat.com) +- CI: try to install newer version of libvirt from cloud archive + (rnovacek@redhat.com) +- CI: add libvirt-dev dependency (rnovacek@redhat.com) +- CI: install libvirt-python via pip (rnovacek@redhat.com) +- CI: another attempt without site-packages (rnovacek@redhat.com) +- CI: install python-rhsm dependencies (rnovacek@redhat.com) +- Adds support for facts in Hypervisor profile. (csnyder@redhat.com) +- Adds count of unchanged mappings to the info logged for the result of an + async job (csnyder@redhat.com) +- Adds tests for jobs in virtwho, removes unnecessary tests for managerprocess. + (csnyder@redhat.com) +- Changes to ensure backwards compatibility with python-rhsm + (csnyder@redhat.com) +- Fixes RhevM.getHostGuestMapping() as suggested by rnovacek + (csnyder@redhat.com) +- Adds layer to hypervisorId. Removes completed TODO (csnyder@redhat.com) +- Moves all functionality of managerprocess into virtwho. (csnyder@redhat.com) +- CI: use python with system side packages enabled (rnovacek@redhat.com) +- CI: install m2crypto using apt instead of pip (rnovacek@redhat.com) +- CI: install python-libvirt using apt instead of pip (rnovacek@redhat.com) +- Add requirements.txt and .travis.yml for the CI (rnovacek@redhat.com) +- Adds tests to verify the hostGuestAssociation is generated correctly. + (csnyder@redhat.com) +- Updates libvirtd and tests to add host name to hypervisor profile + (csnyder@redhat.com) +- Updates managerprocess with better logging and changes for the new tests.~~ + (csnyder@redhat.com) +- Updates to use the new hypervisor class (csnyder@redhat.com) +- print mode: format debug message about found hypervisors + (rnovacek@redhat.com) +- Removing uncesasary comments (csnyder@redhat.com) +- Removes unused dictionary of jobs and associated methods. + (csnyder@redhat.com) +- Fixes tests data to include "status" key. (csnyder@redhat.com) +- Updates tests to make use of new Hypervisor class. (csnyder@redhat.com) +- Host name is now included in the hypervisor profile using the new Hypervisor + class (csnyder@redhat.com) +- Adds new Hypervisor class. (csnyder@redhat.com) +- Adds new test for the updates to subscriptionmanager.py (csnyder@redhat.com) +- Updates fakevirt to make use of virt.Guest classes (csnyder@redhat.com) +- Changes to ensure proper execution post-merge (csnyder@redhat.com) +- Removing more unnecessary prints (csnyder@redhat.com) +- Fixes oneshot mode for work with new managerprocess (csnyder@redhat.com) +- Cleaning up unneeded prints and adding more useful debug log messages + (csnyder@redhat.com) +- Adds async job status polling for use with the new report API + (csnyder@redhat.com) +- This (along with python-rhsm/csnyder/new_report_api ee38f15, allows + communication with new report api (csnyder@redhat.com) + +* Tue Jun 23 2015 Radek Novacek 0.14-1 +- Version 0.14 + +* Fri Jun 19 2015 Fedora Release Engineering - 0.8-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Mar 17 2015 Radek Novacek 0.13-1 +- new package built with tito + +* Fri Feb 27 2015 Radek Novacek 0.12-1 +- Version 0.12 + +* Tue Feb 03 2015 Radek Novacek 0.8-11 +- Fix permission of /etc/sysconfig/virt-who file +- Resolves: #1186034 + +* Mon Sep 08 2014 Radek Novacek 0.11-1 +- Version 0.11 + +* Sun Jun 08 2014 Fedora Release Engineering - 0.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 20 2014 Radek Novacek 0.10-1 +- Add directory with configuration files +- Version 0.10 + +* Thu Mar 13 2014 Radek Novacek 0.9-1 +- Remove libvirt dependency +- Add dependency on m2crypto +- Version 0.9 + +* Sun Aug 04 2013 Fedora Release Engineering - 0.8-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jun 14 2013 Radek Novacek 0.8-8 +- Increase ESXi compatibility +- Resolves: rhbz#923760 + +* Fri Feb 15 2013 Fedora Release Engineering - 0.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Nov 27 2012 Radek Novacek 0.8-6 +- Add systemd support +- specfile cleanup + +* Thu Oct 25 2012 Radek Novacek 0.8-5 +- Fix adding https:// to ESX url + +* Wed Oct 24 2012 Radek Novacek 0.8-4 +- Help and manpage improvements + +* Wed Oct 17 2012 Radek Novacek 0.8-3 +- Fix bugs in Hyper-V support (patch rebased) +- Create PID file ASAP to prevent service stop fails + +* Thu Oct 11 2012 Radek Novacek 0.8-2 +- Add support for accessing Hyper-V + +* Wed Sep 26 2012 Radek Novacek 0.8-1 +- Upstream version 0.8 +- RFE: command line improvements +- Add support for accessing RHEV-M +- Fix printing tracebacks on terminal + +* Fri Sep 14 2012 Radek Novacek 0.8-1 +- Version 0.8 + +* Mon Jul 09 2012 Radek Novacek 0.7-1 +- Version 0.7 + +* Thu Apr 26 2012 Radek Novacek 0.6-6 +- Handle unknown libvirt event properly + +* Wed Apr 18 2012 Radek Novacek 0.6-5 +- Enable debug output to be written to stderr +- Log guest list to log even in non-debug mode + +* Tue Apr 17 2012 Radek Novacek 0.6-4 +- Fix regression in double fork patch + +* Wed Mar 28 2012 Radek Novacek 0.6-3 +- Do double fork when daemon is starting + +* Fri Mar 09 2012 Radek Novacek 0.6-2 +- Add python-suds require +- Requires python-rhsm >= 0.98.6 + +* Thu Mar 01 2012 Radek Novacek 0.6-1 +- Rebase to virt-who-0.6 + +* Mon Feb 13 2012 Radek Novacek 0.6-1 +- Version 0.6 + +* Fri Dec 09 2011 Radek Novacek 0.5-1 +- VSphere support +- Req: python-suds + +* Wed Nov 30 2011 Radek Novacek 0.4-1 +- Version 0.4 + +* Wed Oct 12 2011 Radek Novacek 0.3-3 +- Use updateConsumer API instead of updateConsumerFact (fixes limit 255 chars of uuid list) +- Requires python-rhsm >= 0.96.13 + +* Thu Oct 06 2011 Radek Novacek - 0.3-2 +- Requires python-rhsm >= 0.96.13 (contains fix for char limit in uuid list) + +* Wed Sep 07 2011 Radek Novacek - 0.3-2 +- Add upstream patch that prevents failure when server not implements /status/ command + +* Thu Sep 01 2011 Radek Novacek - 0.3-1 +- Add initscript and configuration file + +* Mon Aug 22 2011 Radek Novacek - 0.2-2 +- Bump release because of tagging in wrong branch + +* Mon Aug 22 2011 Radek Novacek - 0.2-1 +- Update to upstream version 0.2 +- Add Requires: libvirt + +* Fri Aug 19 2011 Radek Novacek - 0.1-2 +- Add BuildRoot tag (the package will be in RHEL5) + +* Wed Aug 10 2011 Radek Novacek - 0.1-1 +- initial import From 0adcefbbfb39330437e1ba3e7fe96f8302aa6069 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:28:57 +0000 Subject: [PATCH 23/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index c393f02..1e88e92 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.3 +Release: %{release_number}%{?dist}.4 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -165,6 +165,9 @@ fi %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 1.31.26-1.4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sat Jul 20 2024 Fedora Release Engineering - 1.31.26-1.3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 74afc96f0bcfb27ebee3692667b93e5d523177a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 1 Apr 2025 17:16:21 +0200 Subject: [PATCH 24/33] Drop unused runtime requirement on python3-setuptools $ rg 'setuptools|pkg_resources|distutils' jenkins/pytest.sh 12:pip install -U setuptools tests/suds/testutils/__init__.py 114: # Trick setuptools into not recognizing we are referencing __file__ here. 115: # If setuptools detects __file__ usage in a module, any package containing docker/centos6/Dockerfile 6: pip install -U pytest-timeout mock unittest2 setuptools && \ virt-who.spec 36:BuildRequires: %{python_ver}-setuptools 39:Requires: %{python_ver}-setuptools 323:- 1896652: platform-python-setuptools is not in RHEL9 (wpoteat@redhat.com) 482:- 1650133: setuptools naming change (wpoteat@redhat.com) setup.py 7:from setuptools import setup, find_packages 8:from distutils.command.install import install 9:from distutils.command.build import build as _build 10:from distutils.command.build_py import build_py as _build_py setup.py is only used on build time. --- virt-who.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/virt-who.spec b/virt-who.spec index 1e88e92..42433a7 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.4 +Release: %{release_number}%{?dist}.5 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -36,7 +36,6 @@ BuildRequires: %{python_ver}-devel BuildRequires: %{python_ver}-setuptools BuildRequires: %{python_ver}-pyyaml -Requires: %{python_ver}-setuptools # libvirt python required for libvirt support %if (0%{?rhel} && 0%{?rhel} > 7 || 0%{?fedora}) Requires: %{python_ver}-libvirt @@ -165,6 +164,9 @@ fi %changelog +* Tue Apr 01 2025 Miro Hrončok - 1.31.26-1.5 +- Drop unused runtime requirement on python3-setuptools + * Sun Jan 19 2025 Fedora Release Engineering - 1.31.26-1.4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From c42b9d5737587852140def422fdfd338da926a80 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 23:25:02 +0200 Subject: [PATCH 25/33] Rebuilt for Python 3.14 --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 42433a7..5d26a31 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.5 +Release: %{release_number}%{?dist}.6 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -164,6 +164,9 @@ fi %changelog +* Mon Jun 02 2025 Python Maint - 1.31.26-1.6 +- Rebuilt for Python 3.14 + * Tue Apr 01 2025 Miro Hrončok - 1.31.26-1.5 - Drop unused runtime requirement on python3-setuptools From 1ad4d77a95757b4484d23c8393d401c642f468c4 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sun, 15 Jun 2025 18:28:20 -0400 Subject: [PATCH 26/33] Drop unused six dependency six is no longer used in code as of 1.31.18, and was dropped from the spec file in 1.31.27: https://github.com/candlepin/virt-who/pull/349 https://github.com/candlepin/virt-who/pull/396 --- virt-who.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/virt-who.spec b/virt-who.spec index 5d26a31..45afc5e 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.6 +Release: %{release_number}%{?dist}.7 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -56,7 +56,6 @@ Requires: python3-cryptography Requires: m2crypto %endif Requires: %{python_ver}-requests -Requires: %{python_ver}-six # python-argparse is required for Python 2.6 on EL6 %{?el6:Requires: python-argparse} Requires: openssl @@ -164,6 +163,9 @@ fi %changelog +* Sun Jun 15 2025 Yaakov Selkowitz - 1.31.26-1.7 +- Drop unused six dependency + * Mon Jun 02 2025 Python Maint - 1.31.26-1.6 - Rebuilt for Python 3.14 From 687e2c67728b8ffd98d9862a914368961d5c1575 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:09:24 +0000 Subject: [PATCH 27/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 45afc5e..ef73a60 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.7 +Release: %{release_number}%{?dist}.8 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 1.31.26-1.8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sun Jun 15 2025 Yaakov Selkowitz - 1.31.26-1.7 - Drop unused six dependency From 08a13549fe9fb3e3f5208a9a0c13278da2826818 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 15:22:20 +0200 Subject: [PATCH 28/33] Rebuilt for Python 3.14.0rc2 bytecode --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index ef73a60..3f91f70 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.8 +Release: %{release_number}%{?dist}.9 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Fri Aug 15 2025 Python Maint - 1.31.26-1.9 +- Rebuilt for Python 3.14.0rc2 bytecode + * Fri Jul 25 2025 Fedora Release Engineering - 1.31.26-1.8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 043bd2039f8084b0b26132e5e5f073b14c3b1c59 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 15:02:28 +0200 Subject: [PATCH 29/33] Rebuilt for Python 3.14.0rc3 bytecode --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 3f91f70..5ff81d9 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.9 +Release: %{release_number}%{?dist}.10 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Fri Sep 19 2025 Python Maint - 1.31.26-1.10 +- Rebuilt for Python 3.14.0rc3 bytecode + * Fri Aug 15 2025 Python Maint - 1.31.26-1.9 - Rebuilt for Python 3.14.0rc2 bytecode From cfef6dda8fcc3e35d03cc1615ea7f00500cefe83 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:58:57 +0000 Subject: [PATCH 30/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 5ff81d9..5a33fe2 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.10 +Release: %{release_number}%{?dist}.11 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Sat Jan 17 2026 Fedora Release Engineering - 1.31.26-1.11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Fri Sep 19 2025 Python Maint - 1.31.26-1.10 - Rebuilt for Python 3.14.0rc3 bytecode From efe9d87fc20427c71208ab7d41a8eda839ce23ff Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 3 Jun 2026 21:13:59 +0200 Subject: [PATCH 31/33] Rebuilt for Python 3.15 --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 5a33fe2..a3eac84 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.11 +Release: %{release_number}%{?dist}.12 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Wed Jun 03 2026 Python Maint - 1.31.26-1.12 +- Rebuilt for Python 3.15 + * Sat Jan 17 2026 Fedora Release Engineering - 1.31.26-1.11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 600b394d6369247c6be3d614e32135381a04741b Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 12 Jun 2026 20:03:14 -0400 Subject: [PATCH 32/33] Rebuilt for openssl 4.0 --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index a3eac84..8a73c3d 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.12 +Release: %{release_number}%{?dist}.13 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Sat Jun 13 2026 Yaakov Selkowitz - 1.31.26-1.13 +- Rebuilt for openssl 4.0 + * Wed Jun 03 2026 Python Maint - 1.31.26-1.12 - Rebuilt for Python 3.15 From 5dbda233488b60aee73eab31bbbb342ff5cdfb85 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:33:04 +0000 Subject: [PATCH 33/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- virt-who.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-who.spec b/virt-who.spec index 8a73c3d..e66a194 100644 --- a/virt-who.spec +++ b/virt-who.spec @@ -21,7 +21,7 @@ Name: virt-who Version: 1.31.26 -Release: %{release_number}%{?dist}.13 +Release: %{release_number}%{?dist}.14 Summary: Agent for reporting virtual guest IDs to subscription-manager @@ -163,6 +163,9 @@ fi %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.31.26-1.14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Sat Jun 13 2026 Yaakov Selkowitz - 1.31.26-1.13 - Rebuilt for openssl 4.0