config/sysinv/sysinv/sysinv/sysinv/tests/api
Steven Webster 92f00f80fa Fix usage of address_get_by_name
Recent commit https://opendev.org/starlingx/config/commit/634d4916
introducing changes for dual-stack networking made a change
to the DB api's address_get_by_name to return a list of IPv4 and
IPv6 addresses rather than a singular address.  As such, the list
can be empty if there are no addresses associated with a
particular name, rather than throwing an AddressNotFoundByName
exception.

Currently, the interface_network code depends on the
AddressNotFoundByName exception to determine whether a new
address needs to be allocated for a dynamic network.

This can cause an issue for worker, storage nodes when one of
their interfaces is associated with certain networks (such as
the storage network).

The symptom of this may be an interface which is 'DOWN' after
unlock, as it's interface configuration file is marked for a
'static' address, with no address present (because it wasn't
allocated).

This commit fixes the issue by simply checking that the list
returned by address_get_by_name is empty.

Test Plan:

- Fresh install of a Standard system.
- Ensure named addresses are present in the DB for all
  nodes (mgmt, cluster-host, oam for controllers)
- Create a new address pool and storage network and
  assign it to a worker node interface.
- Unlock the worker node and ensure the address is
  present on the interface and it is in 'UP' state.

Story: 2011027
Task: 49627

Change-Id: I9763f7c71797d9b321e7bf9e1b6db759378af632
Signed-off-by: Steven Webster <steven.webster@windriver.com>
2024-04-05 10:56:47 -04:00
..
data Add inactive param for import-load on sysinv api 2023-03-07 11:54:48 +00:00
__init__.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
base.py Deprecate old policy engine and restrict access 2022-08-10 11:18:38 -03:00
test_acl.py Adding pylint checking to the sysinv unit tests 2020-01-14 08:32:12 -06:00
test_address.py Fixed address interface foreign key inconsistency 2020-03-03 16:50:12 -05:00
test_address_pool.py Semantic check to avoid creating overlapped address pools 2023-12-27 13:25:29 -05:00
test_base.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
test_certificate.py Fix install of bundled certificates 2023-01-09 14:34:14 +00:00
test_controller_fs.py Add ZeroMQ RPC backend 2022-11-24 13:28:01 -03:00
test_device.py Allow de-provisioning of FEC device 2022-04-06 06:02:42 -04:00
test_device_image.py Add ZeroMQ RPC backend 2022-11-24 13:28:01 -03:00
test_device_label.py Allow applying device image with non-device label 2020-07-28 11:27:28 -04:00
test_dns.py Add ZeroMQ RPC backend 2022-11-24 13:28:01 -03:00
test_helm_charts.py Add ZeroMQ RPC backend 2022-11-24 13:28:01 -03:00
test_host.py Merge "Steps for kube-upgrade-storage" 2024-01-09 22:25:06 +00:00
test_host_fs.py Add ZeroMQ RPC backend 2022-11-24 13:28:01 -03:00
test_interface.py Prevent configuring the Dell Minerva NIC VFs 2024-02-29 13:46:35 -03:00
test_interface_datanetwork.py Support data network assignment on an unlocked host 2021-02-02 07:52:28 -05:00
test_interface_network.py Fix usage of address_get_by_name 2024-04-05 10:56:47 -04:00
test_kernel.py low latency updates host-kernel-modify 2023-07-11 11:01:12 -04:00
test_kube_cluster.py Config API for Kubernetes cluster access information 2021-03-01 07:29:12 -06:00
test_kube_cmd_version.py sysinv: update constant name to be more accurate 2021-10-01 09:14:05 -06:00
test_kube_host_upgrade.py Skip storage nodes when listing per-host k8s upgrade info 2021-11-18 13:42:18 -06:00
test_kube_rootca_update.py Merge "Add pod health status to kube rootca check" 2023-11-17 21:11:52 +00:00
test_kube_upgrade.py Update apps during Kubernetes upgrade 2024-02-13 15:01:54 -03:00
test_kube_version.py Allow recovery from failures during kubernetes upgrade 2019-12-11 14:30:50 -06:00
test_label.py Revert "Add functionality for intel gpu device plugin" 2023-09-22 13:32:12 +00:00
test_load.py Prevent delete imported iso if subcloud isn't upgraded 2023-10-12 01:50:49 -03:00
test_network.py Merge "Fix LDAP issue for DC subcloud" 2024-03-13 20:18:24 +00:00
test_network_addrpool.py New RESTful API and DB schema for network to address-pools. 2024-03-06 07:34:14 -03:00
test_ntp.py Add ZeroMQ RPC backend 2022-11-24 13:28:01 -03:00
test_oamnetwork.py Add support for AIO-SX to DX migration on subcloud 2021-03-29 14:00:52 -04:00
test_partition.py Fix partition status stuck in creating/modifying/deleting 2023-09-12 08:49:17 -03:00
test_ptp.py [PTP dual NIC config] Patching PTP configuration 2022-02-10 11:51:08 -03:00
test_ptp_instance.py Added synce4l configuration support 2023-02-21 09:37:28 -05:00
test_ptp_instance_update.py Fix PTP parameter deletion error messages 2022-02-22 07:04:01 -05:00
test_ptp_interface.py Fix PTP parameter deletion error messages 2022-02-22 07:04:01 -05:00
test_ptp_parameter.py [PTP dual NIC config] Manage parameter life-cycle 2022-01-19 13:18:24 -03:00
test_pv.py Refactor unit test API example to use unit test mixins 2020-01-15 13:02:22 -06:00
test_root.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
test_route.py Disallow route config during upgrade states 2022-05-05 10:39:45 -04:00
test_sensorgroup.py Align API types with database types 2022-07-14 18:27:31 -03:00
test_service_parameters.py Update dns hostname validation for host-records 2024-01-05 00:03:46 -05:00
test_storage_backends.py Allow configurable ceph storage backend network 2021-05-07 14:31:39 +03:00
test_storage_tier.py Merge "Removal of K8S Ansible Pb from Conductor init" 2024-01-19 13:33:26 +00:00
test_system.py Add validation to AIO-SX to AIO-DX migration command 2023-05-22 13:39:26 -04:00
test_upgrade.py Add ZeroMQ RPC backend 2022-11-24 13:28:01 -03:00
utils.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00