|
Lines 45-50
Link Here
|
| 45 |
import select |
45 |
import select |
| 46 |
import errno |
46 |
import errno |
| 47 |
from httplib import HTTPException |
47 |
from httplib import HTTPException |
|
|
48 |
from distutils.version import LooseVersion |
| 48 |
|
49 |
|
| 49 |
import notifier |
50 |
import notifier |
| 50 |
import notifier.threads |
51 |
import notifier.threads |
|
Lines 538-543
def install(self, request):
Link Here
|
| 538 |
if server_role == 'domaincontroller_backup' and not joined: |
539 |
if server_role == 'domaincontroller_backup' and not joined: |
| 539 |
raise SchoolInstallerError(_('In order to install UCS@school on a backup domain controller, the system needs to be joined first.')) |
540 |
raise SchoolInstallerError(_('In order to install UCS@school on a backup domain controller, the system needs to be joined first.')) |
| 540 |
|
541 |
|
|
|
542 |
school_version = masterinfo.get('school_version') |
| 543 |
local_school_version = self.get_school_version() |
| 544 |
if not school_version or LooseVersion(school_version) < LooseVersion(local_school_version): |
| 545 |
if not ucr.is_true('ucsschool/join/ignore-version-mismatch/%s/%s' % (school_version, local_school_version)): |
| 546 |
raise SchoolInstallerError(_('The version of the UCS@school app on the DC master is lower than the version on this host. Please consult the Univention Support Database on how to proceed: http://sdb.univention.de/1373')) |
| 547 |
MODULE.warn('Ignoring UCS@school version mismatch: Master: %s; Local: %s;' % (school_version, local_school_version)) |
| 548 |
|
| 541 |
# everything ok, try to acquire the lock for the package installation |
549 |
# everything ok, try to acquire the lock for the package installation |
| 542 |
lock_aquired = self.package_manager.lock(raise_on_fail=False) |
550 |
lock_aquired = self.package_manager.lock(raise_on_fail=False) |
| 543 |
if not lock_aquired: |
551 |
if not lock_aquired: |