Bug 52428 - Mark S4-Connector LDAP extensions as Python3 incompatible (4.4)
Mark S4-Connector LDAP extensions as Python3 incompatible (4.4)
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: S4 Connector
UCS 4.4
Other Linux
: P5 normal (vote)
: UCS 4.4-7
Assigned To: Arvid Requate
Jürn Brodersen
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-11-24 19:33 CET by Arvid Requate
Modified: 2020-12-07 11:11 CET (History)
2 users (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 Arvid Requate univentionstaff 2020-11-24 19:33:40 CET
As preparation to the UCS-5 release the UDM extensions, join hooks and LDAP ACL templates that contain Python code need to be marked as Python2 or Python3 compatible, see https://filestore.knut.univention.de/owncloud/f/975138 . Otherwise the update will get blocked.

Some of the UDM extensions registered by the S4-Connector have been adjusted in UCS 5 and can be marked e.g. as  "--ucsversionend 4.4-99". They will get replaced in UCS-5 anyway.
Comment 1 Arvid Requate univentionstaff 2020-11-24 19:36:44 CET
The out put of

git diff 4.4-6 5.0-0 -- services/univention-s4-connector/modules/univention/admin

shows that ms/gpsi-package-registration.py needed some adjustment for Python3-compatibility.
Comment 2 Arvid Requate univentionstaff 2020-11-25 18:19:06 CET
If Apps like the S4C are only installed on a UCS 4.4 system other than the Primary Directory Node (already updated to UCS 5), e.g. on an UCS@School server, then the package needs to register a module that is also Python 3 compatible to allow administration of the app specific UDM objects while working on the Primary Directory Node. This can be done either by making it Py2+3 compatible or by registering two separate ones.

I've backported the Python3 adjustments for the UDM extensions part of S4C.

Cherry-picked the following parts of the UCS 5.0-0 commits:
git show bc7ad69407 services/univention-s4-connector/modules/univention/admin
git show c6a88afe7b services/univention-s4-connector/modules/univention/admin
git show a927a522fe services/univention-s4-connector/modules/univention/admin
Comment 3 Arvid Requate univentionstaff 2020-11-26 15:56:08 CET
4a4514ae9e | Fix bytes comparison in identify functions
c25db65abd | add python3 compatibility
a68fa15705 | fix six.text_type and remove legacy code
5ca80607bc | Mark S4C UDM extensions as Python3 compatible
4a0640ccaa | Branch merge
2ceba4094f | 4.4-7 changelog

Package: univention-s4-connector
Version: 13.0.2-82A~4.4.0.202011261515
Branch: ucs_4.4-0
Scope: ucs4.4-7
Comment 4 Jürn Brodersen univentionstaff 2020-11-30 09:02:14 CET
Changes OK
Upgrade OK
flake8 OK
jenkins OK
Changelog OK

-> Verified
Comment 5 Erik Damrose univentionstaff 2020-12-07 11:11:48 CET
UCS 4.4-7 has been released:
 https://docs.software-univention.de/release-notes-4.4-7-en.html

If this error occurs again, please use the 'Clone This Bug' option.