diff --git a/sysinv/cgts-client/cgts-client/cgtsclient/v1/iHost_shell.py b/sysinv/cgts-client/cgts-client/cgtsclient/v1/iHost_shell.py index 48edab8241..a753cfa579 100755 --- a/sysinv/cgts-client/cgts-client/cgtsclient/v1/iHost_shell.py +++ b/sysinv/cgts-client/cgts-client/cgtsclient/v1/iHost_shell.py @@ -132,6 +132,10 @@ def do_kube_host_upgrade_list(cc, args): # Get the kubernetes host upgrades kube_host_upgrade_details = _get_kube_host_upgrade_details(cc) + # Keep only the hosts that have kubernetes upgrade details. + # Storage nodes aren't part of the kubernetes cluster, for example. + ihosts = [host for host in ihosts if host.id in kube_host_upgrade_details] + for host in ihosts: host.target_version = \ kube_host_upgrade_details[host.id]['target_version'] diff --git a/sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/api.py b/sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/api.py index b57b6f1527..a3c40e9c5a 100644 --- a/sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/api.py +++ b/sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/api.py @@ -8446,6 +8446,8 @@ class Connection(api.Connection): query = query.join(models.ihost, models.KubeHostUpgrade.host_id == models.ihost.id) query = query.filter(models.ihost.recordtype == "standard") + # Filter out the storage nodes since they aren't running k8s. + query = query.filter(models.ihost.subfunctions != "storage") return _paginate_query(models.KubeHostUpgrade, limit, marker, sort_key, sort_dir, query) diff --git a/sysinv/sysinv/sysinv/sysinv/tests/api/test_kube_host_upgrade.py b/sysinv/sysinv/sysinv/sysinv/tests/api/test_kube_host_upgrade.py index e75a2f871d..8465c2ac6c 100644 --- a/sysinv/sysinv/sysinv/sysinv/tests/api/test_kube_host_upgrade.py +++ b/sysinv/sysinv/sysinv/sysinv/tests/api/test_kube_host_upgrade.py @@ -193,7 +193,7 @@ class TestListKubeHostUpgrade(TestKubeHostUpgrade): worker = self._create_worker(mgmt_ip='192.168.24.12') storage = self._create_storage(mgmt_ip='192.168.24.13') data = self.get_json('/kube_host_upgrades') - self.assertEqual(4, len(data['kube_host_upgrades'])) + self.assertEqual(3, len(data['kube_host_upgrades'])) host_id = 1 for upgrade in data['kube_host_upgrades']: self.assertIn('id', upgrade)