Bootstrapping of Ubuntu client fails with TypeError: argument of type 'StrictUndefined' is not iterable
This document (000021751) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Multi-Linux Manager 5.0 Server
Situation
Bootstrapping of an Ubuntu clients using the SUSE Multi-Linux Manager Server WebUI fails. The /var/log/salt/api log file reports:
{% set repos = salt['pkg.list_repos']() %}
{% for alias, data in repos.items() %}
{% if grains['os_family'] == 'Debian' %}
{% for entry in data %}
{% if (repos_disabled.match_str in entry['file'])|string == repos_disabled.matching|string and entry.get('enabled', True) %}
disable_repo_{{ repos_disabled.count }}:
mgrcompat.module_run:
- name: pkg.mod_repo
- repo: {{ "'" ~ entry.line ~ "'" }}
- kwargs:
[...]
---
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/salt/utils/templates.py", line 477, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/usr/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
return original_render(self, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/usr/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 21, in top-level template code
File "/var/tmp/.root_ee2dac_salt/running_data/var/cache/venv-salt-minion/minion/files/base/channels/disablelocalrepos.sls", line 12, in top-level template code
{% if (repos_disabled.match_str in entry['file'])|string == repos_disabled.matching|string and entry.get('enabled', True) %}
TypeError: argument of type 'StrictUndefined' is not iterable
Resolution
- When the salt key is accepted on the SUSE Multi-Linux Manager system, remove the salt key of the affected client "webUI > Salt > Keys"
- On the affected client, stop the venv-salt-minion or salt-minion service "systemctl stop venv-salt-minion.service" or "systemctl stop salt-minion.service" and remove the venv-salt-minion or salt-minion packages "zypper remove venv-salt-minion" or "zypper remove salt-minion salt python3-salt".
- On the affected client, remove full content of the /etc/salt/ or /etc/venv-salt-minion/ directory.
- Register the affected client again.
Cause
The affected client is a clone of an already registered Ubuntu client and although the machine-id is properly regenerated based on the following guide, the /etc/venv-salt-minion/pki/ remains unchanged and causes a communication issue between the client and the SUSE Multi-Linux Manager Server.
Authentication attempt from NAME_OF_CLIENT failed, the public keys did not match. This may be an attempt to compromise the Salt cluster.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:000021751
- Creation Date: 21-Mar-2025
- Modified Date:21-Mar-2025
-
- SUSE Manager Server
- SUSE Manager
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com