Bug 52618 - Migrate ucs-school-netlogon-user-logonscripts to Python 3
Migrate ucs-school-netlogon-user-logonscripts to Python 3
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: General
UCS@school 5.0
Other Linux
: P5 normal (vote)
: UCS@school 5.0 v1
Assigned To: Florian Best
Felix Botner
: interim-3
: 53468 (view as bug list)
Depends on:
Blocks: 52578
  Show dependency treegraph
 
Reported: 2021-01-12 15:23 CET by Florian Best
Modified: 2021-11-29 17:19 CET (History)
1 user (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2021-01-12 15:23:38 CET
The package ucs-school-netlogon-user-logonscripts needs to be migrated to Python 3.

See: https://hutten.knut.univention.de/mediawiki/index.php/Python_3_Migration
Comment 1 Florian Best univentionstaff 2021-06-19 03:16:20 CEST
Migrated in:

ucs-school-netlogon-user-logonscripts (16.0.1)
78fcec6fa6cd | Bug #52618: Migrate ucs-school-user-logonscript to Python 3
Comment 2 Florian Best univentionstaff 2021-07-05 16:56:05 CEST
*** Bug 53468 has been marked as a duplicate of this bug. ***
Comment 3 Florian Best univentionstaff 2021-07-05 16:59:20 CEST
(In reply to Florian Best from comment #2)
> *** Bug 53468 has been marked as a duplicate of this bug. ***

The above bug only appears in Python 3 and has been fixed here:

ucs-school-netlogon-user-logonscripts (16.0.1)
d7223f8bd4ff | Bug #52618: Bug #53468: workaround bug in python3 sqlite

    VACUUM only works in a single transaction.
    https://bugs.python.org/issue28518
    
    Traceback (most recent call last):
      File "/usr/lib/univention-directory-listener/system/ucs-school-user-logonscript.py", line 310, in clean
        SqliteQueue(logger=Log).truncate_database()
      File "/usr/lib/python3/dist-packages/ucsschool/netlogon/__init__.py", line 145, in truncate_database
        cursor.execute(u"VACUUM")
      File "/usr/lib/python3/dist-packages/ucsschool/netlogon/__init__.py", line 96, in execute
        return self._cursor.execute(query)
    sqlite3.OperationalError: cannot VACUUM from within a transaction
Comment 5 Felix Botner univentionstaff 2021-08-05 11:59:40 CEST
OK, works and is python3
OK daemon
OK listener
OK netlogon scripts are created in /var/lib/samba/sysvol/five.local/scripts and /var/lib/samba/netlogon/user

one problem i noticed during the test

-> univention-directory-listener-ctrl resync ucs-school-user-logonscript
-> systemctl status ucs-school-netlogon-user-logonscripts.service 
● ucs-school-netlogon-user-logonscripts.service - UCS@school netlogon script daemon
   Loaded: loaded (/lib/systemd/system/ucs-school-netlogon-user-logonscripts.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2021-08-05 11:56:10 CEST; 1min 13s ago
  Process: 7616 ExecStart=/usr/share/ucs-school-netlogon-user-logonscripts/ucs-school-user-logonscript-daemon (code=exited, status=1/FAILURE)
 Main PID: 7616 (code=exited, status=1/FAILURE)

Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]:     main()
Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]:   File "/usr/share/ucs-school-netlogon-user-logonscripts/ucs-school-user-logonscript-daemon", line 806, in main
Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]:     handler.run()
Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]:   File "/usr/share/ucs-school-netlogon-user-logonscripts/ucs-school-user-logonscript-daemon", line 780, in run
Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]:     time.sleep(self.DELAY_ON_ERROR)
Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]:   File "/usr/share/ucs-school-netlogon-user-logonscripts/ucs-school-user-logonscript-daemon", line 610, in signal_usr1
Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]:     if self.wait_until > minimum_wait_until:
Aug 05 11:56:10 master ucs-school-user-logonscript-daemon[7616]: TypeError: '>' not supported between instances of 'NoneType' and 'float'
Aug 05 11:56:10 master systemd[1]: ucs-school-netlogon-user-logonscripts.service: Main process exited, code=exited, status=1/FAILURE
Aug 05 11:56:10 master systemd[1]: ucs-school-netlogon-user-logonscripts.service: Failed with result 'exit-code'.

nothing to do with the change here, but do you want to fix this?
Comment 6 Florian Best univentionstaff 2021-08-05 13:47:55 CEST
Fixed:
ucs-school-netlogon-user-logonscripts (16.0.1)
44aeef7f8378 | fixup! Bug #52618: Migrate ucs-school-user-logonscript to Python 3
Comment 7 Felix Botner univentionstaff 2021-08-05 15:13:53 CEST
ok
Comment 8 Jürn Brodersen univentionstaff 2021-11-29 17:19:30 CET
UCS@school 5.0 v1 has been released.

https://docs.software-univention.de/release-notes-ucsschool-5.0v1-de.html

If this error occurs again, please clone this bug.