Join Script nach update auf 4.2 schlägt fehl (univention-portal)

german
join
ucs-4-2
portal

#1

Nach dem update des Master auf 4.2-0 ist ein Joinscript fehlerhaft.
Im Log steht folgendes:

RUNNING 33univention-portal.inst
2017-04-14 13:28:40.086826172+02:00 (in joinscript_init)
Object exists: cn=portal,cn=univention,dc=friedrichnet,dc=de
Object exists: cn=portal,cn=univention,dc=friedrichnet,dc=de
Object exists: cn=portal,cn=custom attributes,cn=univention,dc=friedrichnet,dc=de
Object exists: cn=domain,cn=portal,cn=univention,dc=friedrichnet,dc=de
Object exists: cn=umc-domain,cn=portal,cn=univention,dc=friedrichnet,dc=de
Object exists: cn=local,cn=portal,cn=univention,dc=friedrichnet,dc=de
Object exists: cn=umc-local,cn=portal,cn=univention,dc=friedrichnet,dc=de
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/label
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/label/de
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/label/fr
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/description
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/description/de
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/description/fr
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/icon
Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/link
E: object not found
EXITCODE=3
RUNNING 34univention-management-console-server.inst

Um darüber hinaus zu kommen, habe ich im Join-Script /usr/lib/univention-install/33univention-portal.inst den zuständigen ’ || die ’ auskommentiert, der das Skript abbrechen lässt.

Dann lief er wie zu erwarten war durch.
Der LDAP-Directory modify schlug wohl fehl, da der Eintrag bisher schlicht nicht erzeugt wurde (wo ist der entsprechende create) ?
Wie ich das sehe fehlte hier (bei mir?) der create des Wertes, weshalb das Skript beim modify || die schlicht abbricht.

        # set link to master umc on all other system roles
        ucr set \
                ucs/web/overview/entries/admin/ucs-local-to-domain/label?"Univention Portal" \
                ucs/web/overview/entries/admin/ucs-local-to-domain/label/de?"Univention Portal" \
                ucs/web/overview/entries/admin/ucs-local-to-domain/label/fr?"Portail Univention" \
                ucs/web/overview/entries/admin/ucs-local-to-domain/description?"Central portal web page for the UCS domain" \
                ucs/web/overview/entries/admin/ucs-local-to-domain/description/de?"Zentrale Portal-Webseite für die UCS-Domäne" \
                ucs/web/overview/entries/admin/ucs-local-to-domain/description/fr?"Page web du portail central du domaine UCS" \
                ucs/web/overview/entries/admin/ucs-local-to-domain/icon?/univention/portal/portal-logo.svg \
                ucs/web/overview/entries/admin/ucs-local-to-domain/link?/univention/portal/
        univention-directory-manager "settings/portal_entry" modify "$@" --dn="cn=ucs-local-to-domain,cn=portal,cn=univention,$ldap_base" \
                --set portal="cn=local,cn=portal,cn=univention,$ldap_base"  # || die

Das JoinScript lief ohne das Abbruch Kommando (|| die) dann durch:

RUNNING 33univention-portal.inst
 2017-04-14 17:23:34.646721966+02:00 (in joinscript_init)
 Object exists: cn=portal,cn=univention,dc=friedrichnet,dc=de
 Object exists: cn=portal,cn=custom attributes,cn=univention,dc=friedrichnet,dc=de
 Object exists: cn=domain,cn=portal,cn=univention,dc=friedrichnet,dc=de
 Object exists: cn=umc-domain,cn=portal,cn=univention,dc=friedrichnet,dc=de
 Object exists: cn=local,cn=portal,cn=univention,dc=friedrichnet,dc=de
 Object exists: cn=umc-local,cn=portal,cn=univention,dc=friedrichnet,dc=de
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/label
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/label/de
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/label/fr
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/description
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/description/de
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/description/fr
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/icon
 Not updating ucs/web/overview/entries/admin/ucs-local-to-domain/link
 E: object not found
 Object modified: cn=ucs,cn=dc,cn=computers,dc=friedrichnet,dc=de
 Setting ucs/web/overview/entries/admin/nagios/link
 Module: zarafa-cfg
 Module: create_portal_entries
 Setting ucs/web/overview/entries/admin/ucs-local-to-domain/link
 Module: zarafa-cfg
 Module: create_portal_entries
 2017-04-14 17:23:57.834071933+02:00 (in joinscript_save_current_version)
 EXITCODE=0

 Fr 14. Apr 17:23:57 CEST 2017
 univention-run-join-scripts finished

Hat er jetzt einen falschen Portal link angelegt?

Direkt danach wird im Skript ein modify auf einen (anderen?) Eintrag vorgenommen:

set_portal="$(univention-directory-manager "computers/$role" list "$@" --filter cn="$hostname" | sed -n -e "s/^  portal: \(.*\)$/\1/p")"
if [ -z "$set_portal" -o "$set_portal" = "None" ]; then
        # link current computer object to corresponding portal
        if [ "$role" = "domaincontroller_master" -o "$role" = "domaincontroller_backup" ]; then
                default_portal="cn=domain,cn=portal,cn=univention,$ldap_base"
        else
                default_portal="cn=local,cn=portal,cn=univention,$ldap_base"
        fi
        univention-directory-manager "computers/$role" modify "$@" --dn="$ldap_hostdn" \
                --set portal="$default_portal" || die
fi

#2

Hallo,

Kollege @klaeser hat das in dem anderen Thread hier kurz erläutert:

Dort gibt es auch einen Workaround.

Schönen Gruß,
Michael Grandjean


#3

Danke,
jetzt lief es auch durch.