diff --git a/changelogs/fragments/openrc.yml b/changelogs/fragments/openrc.yml new file mode 100644 index 00000000000..c6d7f4a4ccf --- /dev/null +++ b/changelogs/fragments/openrc.yml @@ -0,0 +1,4 @@ +--- +minor_changes: + - service_facts - warn user about missing service details instead of ignoring. + - service_facts - handle keyerror exceptions with warning. diff --git a/lib/ansible/modules/service_facts.py b/lib/ansible/modules/service_facts.py index 4b67b61e42c..35b2866caee 100644 --- a/lib/ansible/modules/service_facts.py +++ b/lib/ansible/modules/service_facts.py @@ -232,7 +232,11 @@ class ServiceScanService(BaseService): if service_name == "*": continue service_state = line_data[1] - service_runlevels = all_services_runlevels[service_name] + try: + service_runlevels = all_services_runlevels[service_name] + except KeyError: + self.module.warn(f"Service {service_name} not found in the service list") + continue service_data = {"name": service_name, "runlevels": service_runlevels, "state": service_state, "source": "openrc"} services[service_name] = service_data