SUSE Support

Here When You Need Us

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

  1. When the salt key is accepted on the SUSE Multi-Linux Manager system, remove the salt key of the affected client "webUI > Salt > Keys"
  2. 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".
  3. On the affected client, remove full content of the /etc/salt/ or /etc/venv-salt-minion/ directory.  
  4. 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

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

tick icon

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

tick icon

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

tick icon

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.