frappe press - proxy server status "Broken"

Data:
{
“server”: {
“agent_password”: “",
“auto_add_storage_max”: 50,
“auto_add_storage_min”: 10,
“cluster”: “Default”,
“creation”: “2025-01-09 09:40:10.654140”,
“disable_agent_job_auto_retry”: 1,
“docstatus”: 0,
“doctype”: “Proxy Server”,
“domain”: “domain”,
“domains”: [
{
“code_server”: 0,
“creation”: “2025-01-09 11:55:28.469942”,
“docstatus”: 0,
“doctype”: “Proxy Server Domain”,
“domain”: “domain”,
“idx”: 1,
“modified”: “2025-01-09 11:55:28.469942”,
“modified_by”: “Administrator”,
“name”: “6c55ttvk0t”,
“owner”: “Administrator”,
“parent”: “n1.domain”,
“parentfield”: “domains”,
“parenttype”: “Proxy Server”
}
],
“enabled_default_routing”: 0,
“frappe_public_key”: null,
“frappe_user_password”: null,
“hostname”: “n1”,
“hostname_abbreviation”: “n1”,
“idx”: 0,
“ip”: “152.42.158.57”,
“is_primary”: 1,
“is_proxysql_setup”: 0,
“is_replication_setup”: 0,
“is_self_hosted”: 0,
“is_server_setup”: 0,
“is_ssh_proxy_setup”: 0,
“is_wireguard_setup”: 0,
“modified”: “2025-01-09 11:55:28.402195”,
“modified_by”: “Administrator”,
“name”: “n1.domain”,
“owner”: “Administrator”,
“primary”: null,
“private_ip”: “10.122.0.3”,
“private_ip_interface_id”: null,
“private_mac_address”: null,
“private_vlan_id”: null,
“provider”: “Generic”,
“proxysql_admin_password”: "
”,
“proxysql_monitor_password”: null,
“public”: 0,
“root_public_key”: null,
“self_hosted_server_domain”: “self.frappe.dev”,
“ssh_certificate_authority”: null,
“ssh_port”: 22,
“ssh_user”: “root”,
“status”: “Broken”,
“team”: “mhqmsal6ts”,
“virtual_machine”: null,
“wireguard_interface_id”: “wg0”,
“wireguard_network”: null,
“wireguard_network_ip”: null,
“wireguard_port”: 51820,
“wireguard_private_key”: null,
“wireguard_public_key”: null
},
“team”: “Team(mhqmsal6ts)”,
“user”: “Administrator”
}
Exception:
Traceback with variables (most recent call last):
File “apps/press/press/press/doctype/proxy_server/proxy_server.py”, line 145, in _setup_server
ansible = Ansible(
self = <ProxyServer: n1.domain>
agent_password = ********
agent_repository_url = ‘GitHub - frappe/agent: Works with https://github.com/frappe/press
certificate_name = ‘*.domain’
certificate = <TLSCertificate: *.domain>
monitoring_password = ********
log_server = ‘’
kibana_password = ********
File “apps/press/press/runner.py”, line 184, in init
self.create_ansible_play()
self = <press.runner.Ansible object at 0x7ddffa9ae870>
server = <ProxyServer: n1.domain>
playbook = ‘proxy.yml’
user = ‘root’
variables = {‘server’: ‘n1.domain’, ‘workers’: 1, ‘domain’: ‘domain’, ‘agent_password’: ‘’, ‘agent_repository_url’: ’
port = 22
File “apps/press/press/runner.py”, line 229, in create_ansible_play
playbook = Playbook.load(
self = <press.runner.Ansible object at 0x7ddffa9ae870>
File “env/lib/python3.12/site-packages/ansible/playbook/init.py”, line 50, in load
pb._load_playbook_data(file_name=file_name, variable_manager=variable_manager)
file_name = ‘apps/press/press/playbooks/proxy.yml’
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
pb = <ansible.playbook.Playbook object at 0x7ddffd20f320>
File “env/lib/python3.12/site-packages/ansible/playbook/init.py”, line 105, in _load_playbook_data
entry_obj = Play.load(entry, variable_manager=variable_manager, loader=self._loader, vars=vars)
self = <ansible.playbook.Playbook object at 0x7ddffd20f320>
file_name = ‘apps/press/press/playbooks/proxy.yml’
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
vars = None
cur_basedir = ‘.’
ds = [{‘name’: ‘Setup Proxy Server’, ‘hosts’: ‘all’, ‘become’: True, ‘become_user’: ‘root’, ‘gather_facts’: True, ‘roles’: [{‘role’: ‘essentials’}, {‘role’: ‘user’}, {‘role’: ‘nginx’}, {‘role’: ‘agent’}, {‘role’: ‘proxy’}, {‘role’: ‘node_exporter’}, {‘role’: ‘filebeat’}, {‘role’: ‘clamav’}]}]
entry = {‘name’: ‘Setup Proxy Server’, ‘hosts’: ‘all’, ‘become’: True, ‘become_user’: ‘root’, ‘gather_facts’: True, ‘roles’: [{‘role’: ‘essentials’}, {‘role’: ‘user’}, {‘role’: ‘nginx’}, {‘role’: ‘agent’}, {‘role’: ‘proxy’}, {‘role’: ‘node_exporter’}, {‘role’: ‘filebeat’}, {‘role’: ‘clamav’}]}
File “env/lib/python3.12/site-packages/ansible/playbook/play.py”, line 137, in load
return p.load_data(data, variable_manager=variable_manager, loader=loader)
data = {‘name’: ‘Setup Proxy Server’, ‘hosts’: ‘all’, ‘become’: True, ‘become_user’: ‘root’, ‘gather_facts’: True, ‘roles’: [{‘role’: ‘essentials’}, {‘role’: ‘user’}, {‘role’: ‘nginx’}, {‘role’: ‘agent’}, {‘role’: ‘proxy’}, {‘role’: ‘node_exporter’}, {‘role’: ‘filebeat’}, {‘role’: ‘clamav’}]}
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
vars = None
p =
File “env/lib/python3.12/site-packages/ansible/playbook/base.py”, line 171, in load_data
setattr(self, name, method(name, ds[name]))
self =
ds = {‘name’: ‘Setup Proxy Server’, ‘hosts’: ‘all’, ‘become’: True, ‘become_user’: ‘root’, ‘gather_facts’: True, ‘roles’: [{‘role’: ‘essentials’}, {‘role’: ‘user’}, {‘role’: ‘nginx’}, {‘role’: ‘agent’}, {‘role’: ‘proxy’}, {‘role’: ‘node_exporter’}, {‘role’: ‘filebeat’}, {‘role’: ‘clamav’}]}
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
name = ‘roles’
attr = <ansible.playbook.attribute.NonInheritableFieldAttribute object at 0x7ddffe4b9cd0>
method =
File “env/lib/python3.12/site-packages/ansible/playbook/play.py”, line 223, in _load_roles
roles.append(Role.load(ri, play=self))
self =
attr = ‘roles’
ds = [{‘role’: ‘essentials’}, {‘role’: ‘user’}, {‘role’: ‘nginx’}, {‘role’: ‘agent’}, {‘role’: ‘proxy’}, {‘role’: ‘node_exporter’}, {‘role’: ‘filebeat’}, {‘role’: ‘clamav’}]
role_includes = [<ansible.playbook.role.include.RoleInclude object at 0x7ddffa7e4590>, <ansible.playbook.role.include.RoleInclude object at 0x7ddffb4beae0>, <ansible.playbook.role.include.RoleInclude object at 0x7ddffa884fe0>, <ansible.playbook.role.include.RoleInclude object at 0x7ddffa54e870>, <ansible.playbook.role.include.RoleInclude object at 0x7ddffa64f920>, <ansible.playbook.role.include.RoleInclude object at 0x7ddffa54fa70>, <ansible.playbook.role.include.RoleInclude object at 0x7ddffa5806e0>, <ansible.playbook.role.include.RoleInclude object at 0x7ddffa581190>]
roles =
ri = <ansible.playbook.role.include.RoleInclude object at 0x7ddffa7e4590>
File “env/lib/python3.12/site-packages/ansible/playbook/role/init.py”, line 190, in load
r._load_role_data(role_include, parent_role=parent_role)
role_include = <ansible.playbook.role.include.RoleInclude object at 0x7ddffa7e4590>
play =
parent_role = None
from_files = {}
from_include = False
validate = True
public = None
static = True
r = essentials
File “env/lib/python3.12/site-packages/ansible/playbook/role/init.py”, line 276, in _load_role_data
self._task_blocks = load_list_of_blocks(task_data, play=self._play, role=self, loader=self._loader, variable_manager=self._variable_manager)
self = essentials
role_include = <ansible.playbook.role.include.RoleInclude object at 0x7ddffa7e4590>
parent_role = None
attr_name = ‘become_exe’
metadata = None
default_collection = None
task_data = [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]
role_argspecs = {}
File “env/lib/python3.12/site-packages/ansible/playbook/helpers.py”, line 67, in load_list_of_blocks
Block.load(
ds = [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]
play =
parent_block = None
role = essentials
task_include = None
use_handlers = False
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
Block = <class ‘ansible.playbook.block.Block’>
block_list =
count = <range_iterator object at 0x7ddffb5e2190>
i = 2
block_ds = None
implicit_blocks = [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]
b = [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]
File “env/lib/python3.12/site-packages/ansible/playbook/block.py”, line 90, in load
return b.load_data(data, variable_manager=variable_manager, loader=loader)
data = [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]
play =
parent_block = None
role = essentials
task_include = None
use_handlers = False
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
implicit = True
b = BLOCK(uuid=66c99994-7755-c573-db81-00000000000d)(id=138400948648608)(parent=None)
File “env/lib/python3.12/site-packages/ansible/playbook/base.py”, line 171, in load_data
setattr(self, name, method(name, ds[name]))
self = BLOCK(uuid=66c99994-7755-c573-db81-00000000000d)(id=138400948648608)(parent=None)
ds = {‘block’: [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]}
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
name = ‘block’
attr = <ansible.playbook.attribute.NonInheritableFieldAttribute object at 0x7ddffe50ed50>
method = <bound method Block._load_block of BLOCK(uuid=66c99994-7755-c573-db81-00000000000d)(id=138400948648608)(parent=None)>
File “env/lib/python3.12/site-packages/ansible/playbook/block.py”, line 118, in _load_block
return load_list_of_tasks(
self = BLOCK(uuid=66c99994-7755-c573-db81-00000000000d)(id=138400948648608)(parent=None)
attr = ‘block’
ds = [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]
File “env/lib/python3.12/site-packages/ansible/playbook/helpers.py”, line 299, in load_list_of_tasks
t = Task.load(task_ds, block=block, role=role, task_include=task_include, variable_manager=variable_manager, loader=loader)
ds = [{‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}, {‘name’: ‘Install Essential Packages’, ‘apt’: {‘state’: ‘present’, ‘force’: True, ‘pkg’: [‘build-essential’, ‘git’, ‘htop’, ‘libcrypto+±dev’, ‘libssl-dev’, ‘ntp’, ‘python3-dev’, ‘python3-pip’, ‘virtualenv’, ‘redis-server’, ‘screen’, ‘supervisor’, ‘vim’, ‘acl’, ‘zlib1g-dev’]}}]
play =
block = BLOCK(uuid=66c99994-7755-c573-db81-00000000000d)(id=138400948648608)(parent=None)
role = essentials
task_include = None
use_handlers = False
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
Block = <class ‘ansible.playbook.block.Block’>
Handler = <class ‘ansible.playbook.handler.Handler’>
Task = <class ‘ansible.playbook.task.Task’>
TaskInclude = <class ‘ansible.playbook.task_include.TaskInclude’>
IncludeRole = <class ‘ansible.playbook.role_include.IncludeRole’>
HandlerTaskInclude = <class ‘ansible.playbook.handler_task_include.HandlerTaskInclude’>
Templar = <class ‘ansible.template.Templar’>
task_list =
task_ds = {‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}
args_parser = <ansible.parsing.mod_args.ModuleArgsParser object at 0x7ddffa54d010>
action = ‘apt’
args = {‘update_cache’: True}
delegate_to = <class ‘ansible.utils.sentinel.Sentinel’>
File “env/lib/python3.12/site-packages/ansible/playbook/task.py”, line 135, in load
return t.load_data(data, variable_manager=variable_manager, loader=loader)
data = {‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}
block = BLOCK(uuid=66c99994-7755-c573-db81-00000000000d)(id=138400948648608)(parent=None)
role = essentials
task_include = None
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
t = TASK: essentials : None
File “env/lib/python3.12/site-packages/ansible/playbook/base.py”, line 161, in load_data
ds = self.preprocess_data(ds)
self = TASK: essentials : None
ds = {‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}
variable_manager = <ansible.vars.manager.VariableManager object at 0x7ddffac8a420>
loader = <ansible.parsing.dataloader.DataLoader object at 0x7ddffe50c8f0>
File “env/lib/python3.12/site-packages/ansible/playbook/task.py”, line 203, in preprocess_data
(action, args, delegate_to) = args_parser.parse()
self = TASK: essentials : None
ds = {‘name’: ‘Update APT Cache’, ‘apt’: {‘update_cache’: True}}
new_ds = {}
default_collection = None
collections_list =
args_parser = <ansible.parsing.mod_args.ModuleArgsParser object at 0x7ddffab79880>
class = <class ‘ansible.playbook.task.Task’>
File “env/lib/python3.12/site-packages/ansible/parsing/mod_args.py”, line 326, in parse
context = _get_action_context(item, self._collection_list)
self = <ansible.parsing.mod_args.ModuleArgsParser object at 0x7ddffab79880>
skip_action_validation = False
thing = None
action = None
delegate_to = <class ‘ansible.utils.sentinel.Sentinel’>
args = {}
additional_args = {}
context = None
non_task_ds = {‘apt’: {‘update_cache’: True}}
item = ‘apt’
value = {‘update_cache’: True}
is_action_candidate = False
File “env/lib/python3.12/site-packages/ansible/parsing/mod_args.py”, line 62, in _get_action_context
context = action_loader.find_plugin_with_context(action_or_module, collection_list=collection_list)
action_or_module = ‘apt’
collection_list =
module_context = <ansible.plugins.loader.PluginLoadContext object at 0x7ddffa54f890>
File “env/lib/python3.12/site-packages/ansible/plugins/loader.py”, line 592, in find_plugin_with_context
result = self._resolve_plugin_step(name, mod_type, ignore_deprecated, check_aliases, collection_list, plugin_load_context=plugin_load_context)
self = PluginLoader(type=action)
name = ‘apt’
mod_type = ‘’
ignore_deprecated = False
check_aliases = False
collection_list =
plugin_load_context = <ansible.plugins.loader.PluginLoadContext object at 0x7ddffa54f290>
File “env/lib/python3.12/site-packages/ansible/plugins/loader.py”, line 688, in _resolve_plugin_step
return self._find_plugin_legacy(name, plugin_load_context, ignore_deprecated, check_aliases, suffix)
self = PluginLoader(type=action)
name = ‘apt’
mod_type = ‘’
ignore_deprecated = False
check_aliases = False
collection_list =
plugin_load_context = <ansible.plugins.loader.PluginLoadContext object at 0x7ddffa54f290>
suffix = ‘.py’
File “env/lib/python3.12/site-packages/ansible/plugins/loader.py”, line 793, in _find_plugin_legacy
return self._find_fq_plugin(fq_name=candidate_fqcr, extension=suffix, plugin_load_context=plugin_load_context, ignore_deprecated=ignore_deprecated)
self = PluginLoader(type=action)
name = ‘apt’
plugin_load_context = <ansible.plugins.loader.PluginLoadContext object at 0x7ddffa54f290>
ignore_deprecated = False
check_aliases = False
suffix = ‘.py’
pull_cache = {‘uri’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c5fd0>, ‘uri.py’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c6120>, ‘template’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c6180>, ‘template.py’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c61e0>, ‘assemble’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c6240>, ‘assemble.py’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c62a0>, ‘async_status’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c6300>, ‘async_status.py’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c6360>, ‘reboot’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c63c0>, ‘reboot.py’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c6420>, ‘add_host’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c6480>, ‘add_host.py’: <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5c64e0>, ‘raw’: <ansible…
path_with_context = <ansible.plugins.loader.PluginPathContext object at 0x7ddffa5827e0>
path = ‘env/lib/python3.12/site-packages/ansible/plugins/action/pycache
internal = True
full_paths = <generator object PluginLoader._find_plugin_legacy.. at 0x7ddffa5857e0>
full_name = ‘service.cpython-312.pyc’
splitname = (‘assert’, ‘.py’)
base_name = ‘assert’
extension = ‘.py’
alias_name = ‘_apt’
candidate_fqcr = ‘ansible.builtin.apt’
b_path = b’env/lib/python3.12/site-packages/ansible/plugins/action/pycache
full_path = ‘env/lib/python3.12/site-packages/ansible/plugins/action/pycache/service.cpython-312.pyc’
File “env/lib/python3.12/site-packages/ansible/plugins/loader.py”, line 482, in _find_fq_plugin
routing_metadata = self._query_collection_routing_meta(acr, plugin_type, extension=extension)
self = PluginLoader(type=action)
fq_name = ‘ansible.builtin.apt’
extension = ‘.py’
plugin_load_context = <ansible.plugins.loader.PluginLoadContext object at 0x7ddffa54f290>
ignore_deprecated = False
plugin_type = ‘action’
acr = AnsibleCollectionRef(collection=‘ansible.builtin’, subdirs=‘’, resource=‘apt’)
File “env/lib/python3.12/site-packages/ansible/plugins/loader.py”, line 440, in _query_collection_routing_meta
collection_pkg = import_module(acr.n_python_collection_package_name)
self = PluginLoader(type=action)
acr = AnsibleCollectionRef(collection=‘ansible.builtin’, subdirs=‘’, resource=‘apt’)
plugin_type = ‘action’
extension = ‘.py’
File “/usr/lib/python3.12/importlib/init.py”, line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
name = ‘ansible_collections.ansible.builtin’
package = None
level = 0
File “”, line 1387, in _gcd_import
name = ‘ansible_collections.ansible.builtin’
package = None
level = 0
File “”, line 1360, in find_and_load
name = ‘ansible_collections.ansible.builtin’
import
= <function _gcd_import at 0x7de0088e80e0>
module = Traceback (most recent call last):
File “env/lib/python3.12/site-packages/traceback_with_variables/core.py”, line 222, in to_cropped_str
raw = print
(obj)
^^^^^^^^^^^
File “apps/frappe/frappe/utils/init.py”, line 328, in dict_printer
if key in v:
^^^^^^^^
TypeError: argument of type ‘object’ is not iterable

File “”, line 1324, in find_and_load_unlocked
name = ‘ansible_collections.ansible.builtin’
import
= <function _gcd_import at 0x7de0088e80e0>
path = _NamespacePath([‘env/lib/python3.12/site-packages/ansible_collections/ansible’])
parent = ‘ansible_collections.ansible’
parent_spec = ModuleSpec(name=‘ansible_collections.ansible’, loader=<_frozen_importlib_external.NamespaceLoader object at 0x7ddffa582960>, submodule_search_locations=_NamespacePath([‘env/lib/python3.12/site-packages/ansible_collections/ansible’]))
parent_module = <module ‘ansible_collections.ansible’ (namespace) from [‘env/lib/python3.12/site-packages/ansible_collections/ansible’]>
child = ‘builtin’
spec = None
builtins.ModuleNotFoundError: No module named ‘ansible_collections.ansible.builtin’