Bug 58403 - Nubus: self-service support for self-registration is missing
Summary: Nubus: self-service support for self-registration is missing
Status: NEW
Alias: None
Product: Nubus
Classification: Unclassified
Component: Portal
Version: unspecified
Hardware: Other Linux
: P5 normal
Target Milestone: ---
Assignee: Nubus maintainers
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-06-18 10:33 CEST by Andreas Peichert
Modified: 2025-06-18 10:33 CEST (History)
0 users

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 3: A User would likely not purchase the product
User Pain: 0.103
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Customer ID:
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Peichert univentionstaff 2025-06-18 10:33:18 CEST
Currently with Nubus for Kubernetes 1.10.1 for the self-service user self-registration is only documented in the nubus-kubernetes-architecture. There is no documentation how to activate it. Furthermore self-registration has never been tested within Nubus for Kubernetes.

1) we have documented a lot regarding self-service, but it's spread over several places. We should set links to each other, or have a central place.
- https://docs.software-univention.de/nubus-kubernetes-architecture/1.x/en/components/end-user-self-service.html
- https://docs.software-univention.de/nubus-kubernetes-operation/1.x/en/configuration/self-service.html
- https://docs.software-univention.de/nubus-kubernetes-customization/1.x/en/theme/self-service-mails.html

2) activating self-registration (may incomplete) is done straight forward similar to UCS:

custom_values.yaml
+  configUcr:
+    umc:
+      self-service:
+        account-registration:
+          frontend:
+            enabled: true
+          backend:
+            enabled: true

3) killing Pod "nubus-umc-server-0" to let them get aware of the changed UCRv. Maybe there is a better way to do this. But this step is important, otherwise an Error is displayed and informs that the account-registration is disabled by UCR.

4) For Nubus for Kubernetes the Portal Entry "self-service-create-account" is missing. While for the Self-Service App in UCS, the creation of entries happens at that moment as we set the UCRv enabled=true. 

For a Workaround, create a Entry with the link below, or just put the link it into your browser to see the form "Create User"

#/selfservice/createaccount

5) The form "Create User" is displayed. We fill in the values, and click the create button.

6) Error is displayed

Interner Server-Fehler in "passwordreset/create_self_registered_account".

7) Traceback from Pod "nubus-umc-server-0"

18.06.25 08:10:09.297  MODULE      ( PROCESS ) : Received request 'passwordreset/create_self_registered_account': ('Administrator', None, 'SAML', 'de_DE.UTF-8')                                                                                                                          
18.06.25 08:10:09.336  MODULE      ( ERROR   ) : Interner Server-Fehler in "passwordreset/create_self_registered_account".: Traceback (most recent call last):                                                                                                                            
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/passwordreset/__init__.py", line 616, in create_self_registered_account                                                                                                                                      
    UDM.machine().version(2).get('users/user').get_by_id(attributes['username'])                                                                                                                                                                                                          
    ^^^                                                                                                                                                                                                                                                                                   
NameError: name 'UDM' is not defined                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                          
During handling of the above exception, another exception occurred:                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                                          
Traceback (most recent call last):                                                                                                                                                                                                                                                        
  File "/usr/lib/python3/dist-packages/univention/management/console/base.py", line 358, in __error_handling                                                                                                                                                                              
    raise exc.with_traceback(etraceback)                                                                                                                                                                                                                                                  
  File "/usr/lib/python3/dist-packages/univention/management/console/base.py", line 257, in execute                                                                                                                                                                                       
    function.__func__(self, request, *args, **kwargs)                                                                                                                                                                                                                                     
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/passwordreset/__init__.py", line 110, in _decorator                                                                                                                                                          
    return func(self, request, *args, **kwargs)                                                                                                                                                                                                                                           
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                                                           
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 478, in _response                                                                                                                                                                       
    result = _multi_response(self, request)                                                                                                                                                                                                                                               
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                                                               
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 189, in _response                                                                                                                                                                       
    return function(self, request)                                                                                                                                                                                                                                                        
           ^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                                                                        
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 602, in _response                                                                                                                                                                       
    return list(function(self, iterator, *nones))                                                                                                                                                                                                                                         
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                                                         
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 444, in _fake_func                                                                                                                                                                      
    yield function(self, *args)                                                                                                                                                                                                                                                           
          ^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                                                                           
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/passwordreset/__init__.py", line 617, in create_self_registered_account                                                                                                                                      
    except NoObject:                                                                                                                                                                                                                                                                      
           ^^^^^^^^                                                                                                                                                                                                                                                                       
NameError: name 'NoObject' is not defined                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                          
18.06.25 08:10:09       ERROR      (       59) : 591 POST /univention/command/passwordreset/create_self_registered_account (0.0.0.0) 40.84ms                                                                                                                                              
18.06.25 08:10:09       ERROR      (        1) : 591 POST /univention/command/passwordreset/create_self_registered_account (10.6.41.248) 47.22ms                                                                                                                                          
18.06.25 08:13:31.293  MODULE      ( PROCESS ) : Committing suicide