I’m using docker container for run slave ucs.
docker run -d --name slave1_container --hostname=slave1 \
-e domainname=corp.softwarelab.net \
-e rootpwd=tibco -p 8013:80 \
-e nameserver1=192.168.0.11 \
-e container=docker \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
--tmpfs /run --tmpfs /run/lock \
--cap-add=SYS_ADMIN \
--restart unless-stopped \
univention/ucs-slave-amd64 /sbin/init
When I launched univention-join as Administrator i got error
root@slave1-ucs:/var/log/univention# univention-join -verbose
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_IE.UTF-8)
univention-join: joins a computer to an ucs domain
copyright (c) 2001-2018 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
Join Computer Account: done
Stopping univention-directory-listener daemon: done
Sync ldap-backup.secret: done
Check TLS connection: done
Download host certificate: done
Restart LDAP Server: done
Sync Kerberos settings: done
Not updating kerberos/adminserver
Configure 01univention-ldap-server-init.inst done
Configure 03univention-directory-listener.inst done
Configure 04univention-ldap-client.inst done
Configure 05univention-bind.inst failed
**************************************************************************
* 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: 05univention-bind.inst
In join.log I saw what my ip doesn’t defended
+ test -z '' -a -z slave1-ucs.corp.softwarelab.net
+ '[' 0 = 0 ']'
+ wait_for_dns
+ '[' domaincontroller_slave '!=' domaincontroller_master ']'
+ (( i=0 ))
+ (( i<600 ))
+ echo 'wait for named ?'
wait for named ?
+ host -W 1 ucs1.corp.softwarelab.net
+ grep -Fq 'timed out'
+ break
++ get_default_ip_address
++ PYTHONPATH=/usr/lib/pymodules/python2.7/univention/config_registry
++ python2.7 -c 'from interfaces import Interfaces;print Interfaces().get_default_ip_address().ip'
+ IP=
++ get_default_netmask
++ PYTHONPATH=/usr/lib/pymodules/python2.7/univention/config_registry
++ python2.7 -c 'from interfaces import Interfaces;import ipaddr;a=Interfaces().get_default_ip_address();print a.netmask if isinstance(a,ipaddr.IPv4Network) else a.prefixlen'
+ NETMASK=
++ grep '^DN:'
++ univention-directory-manager dns/forward_zone list --binddn uid=Administrator,cn=users,dc=corp,dc=softwarelab,dc=net --bindpwd univention --filter zone=corp.softwarelab.net
+ zone='DN: zoneName=corp.softwarelab.net,cn=dns,dc=corp,dc=softwarelab,dc=net'
+ '[' -z 'DN: zoneName=corp.softwarelab.net,cn=dns,dc=corp,dc=softwarelab,dc=net' ']'
+ wait_for_dns
+ '[' domaincontroller_slave '!=' domaincontroller_master ']'
+ (( i=0 ))
+ (( i<600 ))
+ echo 'wait for named ?'
wait for named ?
+ host -W 1 ucs1.corp.softwarelab.net
+ grep -Fq 'timed out'
+ break
+ ERRMSG='Failed adding the DNS host record slave1-ucs () to zone corp.softwarelab.net.'
+ exec_log_failure /usr/share/univention-admin-tools/univention-dnsedit --binddn uid=Administrator,cn=users,dc=corp,dc=softwarelab,dc=net --bindpwd univention --ignore-exists corp.softwarelab.net add a sl
ave1-ucs ''
+ local output
+ local rc
++ /usr/share/univention-admin-tools/univention-dnsedit --binddn uid=Administrator,cn=users,dc=corp,dc=softwarelab,dc=net --bindpwd univention --ignore-exists corp.softwarelab.net add a slave1-ucs ''
+ output='Adding A record "slave1-ucs " to zone corp.softwarelab.net...
done'
+ rc=0
+ '[' 0 -ne 0 ']'
+ echo 'Adding A record "slave1-ucs " to zone corp.softwarelab.net...
done'
Adding A record "slave1-ucs " to zone corp.softwarelab.net...
done
+ return 0
++ univention-ipcalc6 --netmask '' --ip '' --output reverse --calcdns
'' does not appear to be an IPv4 or IPv6 address
+ reversezone=
+ '[' -z '' ']'
+ exit 1
My master and slave see one-to-one by DNS name and ip adress.
Notice: slave - docker, master - VM.
My problem is here
++ get_default_ip_address
++ PYTHONPATH=/usr/lib/pymodules/python2.7/univention/config_registry
++ python2.7 -c 'from interfaces import Interfaces;print Interfaces().get_default_ip_address().ip'
+ IP=
++ get_default_netmask
++ PYTHONPATH=/usr/lib/pymodules/python2.7/univention/config_registry
++ python2.7 -c 'from interfaces import Interfaces;import ipaddr;a=Interfaces().get_default_ip_address();print a.netmask if isinstance(a,ipaddr.IPv4Network) else a.prefixlen'
+ NETMASK=
When I called in container python code i didn’t get parameters .ip for .get_default_ip_address
>>> dir(Interfaces().get_default_ip_address())
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
But when I launched same row on master node with work in VM response was with more options:
>>> dir(Interfaces().get_default_ip_address())
['AddressExclude', 'CompareNetworks', 'Contains', 'IsLinkLocal', 'IsLoopback', 'IsMulticast', 'IsRFC1918', 'Subnet', 'Supernet', '_ALL_ONES', '_DECIMAL_DIGITS', '__class__', '__contains__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__hex__', '__index__', '__init__', '__int__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_cache', '_explode_shorthand_ip_string', '_get_networks_key', '_ip', '_ip_int_from_prefix', '_ip_int_from_string', '_max_prefixlen', '_parse_octet', '_prefix_from_ip_int', '_prefix_from_ip_string', '_prefix_from_prefix_string', '_prefixlen', '_string_from_ip_int', '_version', 'address_exclude', 'broadcast', 'compare_networks', 'compressed', 'exploded', 'hostmask', 'ip', 'is_link_local', 'is_loopback', 'is_multicast', 'is_private', 'is_reserved', 'is_unspecified', 'iter_subnets', 'iterhosts', 'masked', 'max_prefixlen', 'netmask', 'network', 'numhosts', 'overlaps', 'packed', 'prefixlen', 'subnet', 'supernet', 'version', 'with_hostmask', 'with_netmask', 'with_prefixlen']