Univention Bugzilla – Bug 49298
duplicate MAC prevents successful join
Last modified: 2019-05-08 13:26:21 CEST
+++ This bug was initially created as a clone of Bug #48475 +++ The join fails with Message "E: failed to create DC Slave (1) [E: Object exists: (mac) aa:bb:cc:dd:ee:ff]" but there is no entry in OpenLDAP that is related to the Slave (Hostname nor MAC) ============================================================ Tue Jan 15 12:41:34 CET 2019: starting /usr/sbin/univention-join -dcname srv10.schule.stadt.intranet -dcaccount Administrator -dcpwd /tmp/tmp4bBISx running version check OK: UCS version on srv10.schule.stadt.intranet is higher or equal (4.33) to the local version (4.33). Stopping slapd (via systemctl): slapd.service. Starting slapd (via systemctl): slapd.service. Tue Jan 15 12:41:46 CET 2019 univention-server-join: joins a server to an univention domain copyright (c) 2001-2018 Univention GmbH, Germany E: failed to create DC Slave (1) [E: Object exists: (mac) ac:1f:6b:77:6d:f6] ************************************************************************** * Join failed! * * Contact your system administrator * ************************************************************************** * Message: Please visit https://help.univention.com/t/8842 for common problems during the join and how to fix them -- failed to create DC Slave (1) [E: Object exists: (mac) aa:bb:cc:dd:ee:ff] ************************************************************************** Tue Jan 15 12:41:48 CET 2019: finish /usr/sbin/univention-join ============================================================
This still happened in a customers environment with > univention-join 11.0.1-15A~4.4.0.201903121842
Please add the join log and the network interface configuration of the affected system here (e.g. ip a, brctl show)
All I have so far is ====================================================================== root@slave01:~# univention-join univention-join: joins a computer to an ucs domain copyright (c) 2001-2019 Univention GmbH, Germany Enter DC Master Account : Administrator Enter DC Master Password: Search DC Master: done Check DC Master: done Stop LDAP Server: done Search ldap/base done Start LDAP Server: done Search LDAP binddn done Sync time: done cat: /sys/class/net/bonding_masters/address: Ist kein Verzeichnis Running pre-join hook(s): done Join Computer Account: ************************************************************************** * Join failed! * * Contact your system administrator * ************************************************************************** * Message: Please visit https://help.univention.com/t/8842 for common problems during the join and how to fix them -- failed to modify DC Slave cn=slave01,cn=dc,cn=computers,dc=schule,dc=domain,dc=tld [LDAP Error: Type or value exists: macAddress: value #0 provided more than once] **************************************************************************
Depending on the mode of operation, bond interfaces use the same physical mac. -> This "mac_addr="$(find /sys/class/net/* -not -lname ../../devices/virtual/\* -exec cat {}/address \;)"" in univention-join needs to remove duplicate mac addresses. We also should check this error message: "cat: /sys/class/net/bonding_masters/address: Ist kein Verzeichnis". https://wiki.linuxfoundation.org/networking/bonding
The mode used here is 802.3ad. From /etc/network/interfaces: auto trk1 iface trk1 inet manual bond-miimon 100 bond-mode 4 bond-slaves eno1 eno2
Workaround: Create computer object manually, and join the computer with 'univention-join -skipIpMac'
In the script management/join/univention-join, we have this line: > mac_addr="$(find /sys/class/net/* -not -lname ../../devices/virtual/\* -exec cat {}/address \;)" , which gets a list of all mac addresses of physical network devices. It seems to be incompatible with bonding.
Successful build Package: univention-join Version: 11.0.1-16A~4.4.0.201904291745 Branch: ucs_4.4-0 Scope: errata4.4-0 bacad59 Bug #49298: yaml d60a129 Bug #49298: Repair join when using bonding (In reply to Jannik Ahlers from comment #8) > In the script management/join/univention-join, we have this line: > > mac_addr="$(find /sys/class/net/* -not -lname ../../devices/virtual/\* -exec cat {}/address \;)" > , which gets a list of all mac addresses of physical network devices. It > seems to be incompatible with bonding. I fixed two things in that line: - the cat error that occurs when the find command finds a file instead of a folder (or a symlink to a folder) - duplicate mac addresses get removed
OK: apt install univention-join=11.0.1-17A~4.4.0.201905021401 OK: tail -f /home/Administrator/.univention-server-join.log OK: ip --color link show OK: univention-join OK: errata-announce -V --only univention-join.yaml FIXED: univention-join.yaml -> git:85a9f5c9f7 OK: git log --grep='Bug #49298'
<http://errata.software-univention.de/ucs/4.4/83.html>