Error NS8 Create domain

NethServer Version: 8
Module: Domain
Core Version: 3.20.1 end 3.21.0

Good afternoon

I launched a new server from the Proxmox (QEMU) image https://tinyurl.com/ns8-rocky-qcow2

After startup, I can’t create a domain - OpenLDAP / Samba
The domain is added, but afterward, I get the error:
List domain users
Something went wrong

The Proxmox image core was initially 3.20.1
Updated to 3.21.0 from the Software Center
The error still persists:

Task cluster/list-domain-groups failed

Traceback (most recent call last):
File “/var/lib/nethserver/cluster/actions/list-domain-groups/50list_groups”, line 31, in
domain = Ldapproxy().get_domain(request[‘domain’])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/agent/pypkg/agent/ldapproxy.py”, line 42, in get_domain
self.domains = self._load_domains()
^^^^^^^^^^^^^^^^^^^^
File “/usr/local/agent/pypkg/agent/ldapproxy.py”, line 91, in _load_domains
assert(not ldapproxy_instance is None)
^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Thanks for the traceback, it points at something very precise.

The line that fails is in /usr/local/agent/pypkg/agent/ldapproxy.py:

ldapproxy_instance = rdb.get(f'node/{self.node_id}/default_instance/ldapproxy')
assert(not ldapproxy_instance is None)

It means the cluster has no ldapproxy module registered on this node. This check runs before any connection to the LDAP server, which is why OpenLDAP and Samba both give the same error. So this is not an authentication problem, and not a Samba problem. Something went wrong earlier, when the cluster was created.

Two things to know about the pre-built image. It ships with the core and Traefik only, and the cluster is created later, by you, over the network. It also ships a temporary local container registry that is supposed to be removed automatically on first boot. If that cleanup did not complete, some container images cannot be pulled afterwards.

Please run these commands as root on the node and paste the output:

redis-cli HGET cluster/environment NODE_ID
redis-cli --scan --pattern '*/default_instance/*'
redis-cli --scan --pattern 'module/*/environment'
redis-cli HGETALL cluster/override/modules
id ldapproxy1
ls -l /etc/containers/registries.conf.d/
systemctl status ns8-install-finalize.service --no-pager
  • the node ID used by the cluster agent
  • the modules registered as default instance: ldapproxy should be listed here
  • every module instance installed on the node
  • pinned container image versions
  • whether the ldapproxy1 system user exists at all
  • leftover registry configuration from the image build
  • state of the first-boot finalization service

Then the logs. The first one covers the first boot, the second one every ldapproxy trace since then:

journalctl -u ns8-install-finalize.service --no-pager
journalctl --grep ldapproxy --since "7 days ago" --no-pager

Everything above is read-only, nothing is modified.

Before pasting, please remove passwords, tokens, public IP addresses, mail addresses and your real domain name. The forum is public and indexed. Wrap long output like this:

journalctl ldapproxy
paste here

Two questions as well. How did you create the cluster, from the web wizard or with the create-cluster command? And did that step show any error or warning at the time, even one that seemed harmless?

I re-downloaded the storage for the PROXMOX virtual machine
And ran cluster creation again
And now I have ldapproxy1 in Core applications

There were errors in journalctl, but I forgot to copy them.
Perhaps there was a network failure the first time.

I only used the webmaster.

Thanks for clarifying everything.
And for your help!