diff --git a/ipaserver/install/adtrustinstance.py b/ipaserver/install/adtrustinstance.py index 7ccd3026a..95988498c 100644 --- a/ipaserver/install/adtrustinstance.py +++ b/ipaserver/install/adtrustinstance.py @@ -38,7 +38,6 @@ from ipaserver.install.replication import wait_for_task from ipalib import errors, api from ipalib.util import normalize_zone from ipapython.dn import DN -from ipapython import sysrestore from ipapython import ipautil from ipapython.ipa_log_manager import root_logger import ipapython.errors @@ -135,14 +134,9 @@ class ADTRUSTInstance(service.Service): self.fqdn = None self.host_netbios_name = None - self.realm = None - service.Service.__init__(self, "smb", service_desc="CIFS") - - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) + super(ADTRUSTInstance, self).__init__( + "smb", service_desc="CIFS", fstore=fstore) self.__setup_default_attributes() diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py index 98102463c..6843ef865 100644 --- a/ipaserver/install/bindinstance.py +++ b/ipaserver/install/bindinstance.py @@ -39,7 +39,7 @@ from ipaserver.dns_data_management import ( from ipaserver.install import installutils from ipaserver.install import service from ipaserver.install import sysupgrade -from ipapython import sysrestore, ipautil, ipaldap +from ipapython import ipautil, ipaldap from ipapython import dnsutil from ipapython.dnsutil import DNSName from ipapython.ipa_log_manager import root_logger @@ -615,27 +615,22 @@ class DnsBackup(object): class BindInstance(service.Service): def __init__(self, fstore=None, api=api): - service.Service.__init__( - self, "named", - service_desc="DNS" + super(BindInstance, self).__init__( + "named", + service_desc="DNS", + fstore=fstore, + api=api ) self.dns_backup = DnsBackup(self) self.named_user = None self.domain = None self.host = None self.ip_addresses = [] - self.realm = None self.forwarders = None self.sub_dict = None self.reverse_zones = [] - self.api = api self.named_regular = services.service('named-regular') - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) - suffix = ipautil.dn_attribute_property('_suffix') def setup(self, fqdn, ip_addresses, realm_name, domain_name, forwarders, diff --git a/ipaserver/install/dnskeysyncinstance.py b/ipaserver/install/dnskeysyncinstance.py index bc2477b7a..bcbeeec44 100644 --- a/ipaserver/install/dnskeysyncinstance.py +++ b/ipaserver/install/dnskeysyncinstance.py @@ -20,7 +20,7 @@ from ipaserver.install import installutils from ipapython.ipa_log_manager import root_logger from ipapython.dn import DN from ipapython import ipaldap -from ipapython import sysrestore, ipautil +from ipapython import ipautil from ipaplatform.constants import constants from ipaplatform.paths import paths from ipalib import errors, api @@ -61,9 +61,10 @@ def remove_replica_public_keys(hostname): class DNSKeySyncInstance(service.Service): def __init__(self, fstore=None, logger=root_logger): - service.Service.__init__( - self, "ipa-dnskeysyncd", + super(DNSKeySyncInstance, self).__init__( + "ipa-dnskeysyncd", service_desc="DNS key synchronization service", + fstore=fstore ) self.logger = logger self.extra_config = [u'dnssecVersion 1', ] # DNSSEC enabled @@ -71,10 +72,6 @@ class DNSKeySyncInstance(service.Service): self.named_gid = None self.ods_uid = None self.ods_gid = None - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) suffix = ipautil.dn_attribute_property('_suffix') diff --git a/ipaserver/install/dogtaginstance.py b/ipaserver/install/dogtaginstance.py index cbe3e438a..38e726e0b 100644 --- a/ipaserver/install/dogtaginstance.py +++ b/ipaserver/install/dogtaginstance.py @@ -113,10 +113,10 @@ class DogtagInstance(service.Service): super(DogtagInstance, self).__init__( 'pki-tomcatd', - service_desc=service_desc + service_desc=service_desc, + realm_name=realm ) - self.realm = realm self.admin_password = None self.fqdn = host_name self.pkcs12_info = None diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py index 7d283d0d8..1a38efa9d 100644 --- a/ipaserver/install/dsinstance.py +++ b/ipaserver/install/dsinstance.py @@ -32,7 +32,7 @@ import fnmatch import ldap from ipapython.ipa_log_manager import root_logger -from ipapython import ipautil, sysrestore, ipaldap +from ipapython import ipautil, ipaldap from ipapython import dogtag from ipaserver.install import service from ipaserver.install import installutils @@ -223,10 +223,13 @@ info: IPA V2.0 class DsInstance(service.Service): def __init__(self, realm_name=None, domain_name=None, fstore=None, domainlevel=None, config_ldif=None): - service.Service.__init__(self, "dirsrv", - service_desc="directory server") + super(DsInstance, self).__init__( + "dirsrv", + service_desc="directory server", + fstore=fstore, + realm_name=realm_name + ) self.nickname = 'Server-Cert' - self.realm = realm_name self.sub_dict = None self.domain = domain_name self.serverid = None @@ -248,12 +251,6 @@ class DsInstance(service.Service): else: self.suffix = DN() - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) - - subject_base = ipautil.dn_attribute_property('_subject_base') def __common_setup(self, enable_ssl=False): diff --git a/ipaserver/install/httpinstance.py b/ipaserver/install/httpinstance.py index a166cc91a..71cdcdd05 100644 --- a/ipaserver/install/httpinstance.py +++ b/ipaserver/install/httpinstance.py @@ -34,7 +34,6 @@ import six from ipaserver.install import service from ipaserver.install import certs from ipaserver.install import installutils -from ipapython import sysrestore from ipapython import certmonger from ipapython import dogtag from ipapython import ipautil @@ -121,11 +120,10 @@ class WebGuiInstance(service.SimpleServiceInstance): class HTTPInstance(service.Service): def __init__(self, fstore=None, cert_nickname='Server-Cert'): - service.Service.__init__(self, "httpd", service_desc="the web interface") - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) + super(HTTPInstance, self).__init__( + "httpd", + service_desc="the web interface", + fstore=fstore) self.cert_nickname = cert_nickname self.ca_is_configured = True diff --git a/ipaserver/install/krbinstance.py b/ipaserver/install/krbinstance.py index 22ebba7c0..d1fba7cf0 100644 --- a/ipaserver/install/krbinstance.py +++ b/ipaserver/install/krbinstance.py @@ -28,7 +28,6 @@ import dns.name from ipaserver.install import service from ipaserver.install import installutils -from ipapython import sysrestore from ipapython import ipautil from ipapython import kernel_keyring from ipalib.constants import CACERT @@ -50,7 +49,11 @@ class KpasswdInstance(service.SimpleServiceInstance): class KrbInstance(service.Service): def __init__(self, fstore=None): - service.Service.__init__(self, "krb5kdc", service_desc="Kerberos KDC") + super(KrbInstance, self).__init__( + "krb5kdc", + service_desc="Kerberos KDC", + fstore=fstore + ) self.fqdn = None self.realm = None self.domain = None @@ -63,11 +66,6 @@ class KrbInstance(service.Service): self.sub_dict = None self.pkcs12_info = None - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) - suffix = ipautil.dn_attribute_property('_suffix') subject_base = ipautil.dn_attribute_property('_subject_base') diff --git a/ipaserver/install/ntpinstance.py b/ipaserver/install/ntpinstance.py index 31c5068fb..716eb0809 100644 --- a/ipaserver/install/ntpinstance.py +++ b/ipaserver/install/ntpinstance.py @@ -20,7 +20,6 @@ from ipaserver.install import service from ipaserver.install import sysupgrade -from ipapython import sysrestore from ipapython import ipautil from ipaplatform.constants import constants from ipaplatform.paths import paths @@ -49,13 +48,12 @@ def ntp_ldap_enable(fqdn, base_dn, realm): class NTPInstance(service.Service): def __init__(self, realm=None, fstore=None): - service.Service.__init__(self, "ntpd", service_desc="NTP daemon") - self.realm = realm - - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) + super(NTPInstance, self).__init__( + "ntpd", + service_desc="NTP daemon", + realm_name=realm, + fstore=fstore + ) def __write_config(self): diff --git a/ipaserver/install/odsexporterinstance.py b/ipaserver/install/odsexporterinstance.py index f0d903471..a53ebe667 100644 --- a/ipaserver/install/odsexporterinstance.py +++ b/ipaserver/install/odsexporterinstance.py @@ -12,7 +12,7 @@ from ipaserver.install import service from ipaserver.install import installutils from ipapython.ipa_log_manager import root_logger from ipapython.dn import DN -from ipapython import sysrestore, ipautil +from ipapython import ipautil from ipaplatform.constants import constants from ipaplatform.paths import paths from ipaplatform import services @@ -21,19 +21,15 @@ from ipalib import errors, api class ODSExporterInstance(service.Service): def __init__(self, fstore=None): - service.Service.__init__( - self, "ipa-ods-exporter", - service_desc="IPA OpenDNSSEC exporter daemon" + super(ODSExporterInstance, self).__init__( + "ipa-ods-exporter", + service_desc="IPA OpenDNSSEC exporter daemon", + fstore=fstore ) self.ods_uid = None self.ods_gid = None self.enable_if_exists = False - if fstore: - self.fstore = fstore - else: - self.fstore = sysrestore.FileStore(paths.SYSRESTORE) - suffix = ipautil.dn_attribute_property('_suffix') def create_instance(self, fqdn, realm_name): diff --git a/ipaserver/install/service.py b/ipaserver/install/service.py index c2b8e0012..909b8e470 100644 --- a/ipaserver/install/service.py +++ b/ipaserver/install/service.py @@ -130,7 +130,8 @@ def find_providing_server(svcname, conn, host_name=None, api=api): class Service(object): - def __init__(self, service_name, service_desc=None, sstore=None): + def __init__(self, service_name, service_desc=None, sstore=None, + fstore=None, api=api, realm_name=None): self.service_name = service_name self.service_desc = service_desc self.service = services.service(service_name) @@ -144,10 +145,16 @@ class Service(object): else: self.sstore = sysrestore.StateFile(paths.SYSRESTORE) - self.realm = None + if fstore: + self.fstore = fstore + else: + self.fstore = sysrestore.FileStore(paths.SYSRESTORE) + + self.realm = realm_name self.suffix = DN() self.principal = None self.dercert = None + self.api = api @property def admin_conn(self): diff --git a/ipaserver/install/upgradeinstance.py b/ipaserver/install/upgradeinstance.py index 0a24c0cbe..0d6013fd3 100644 --- a/ipaserver/install/upgradeinstance.py +++ b/ipaserver/install/upgradeinstance.py @@ -81,7 +81,7 @@ class IPAUpgrade(service.Service): for _i in range(8): h = "%02x" % rand.randint(0,255) ext += h - service.Service.__init__(self, "dirsrv") + super(IPAUpgrade, self).__init__("dirsrv", realm_name=realm_name) serverid = installutils.realm_to_serverid(realm_name) self.filename = '%s/%s' % (paths.ETC_DIRSRV_SLAPD_INSTANCE_TEMPLATE % serverid, DSE) self.savefilename = '%s/%s.ipa.%s' % (paths.ETC_DIRSRV_SLAPD_INSTANCE_TEMPLATE % serverid, DSE, ext) @@ -89,7 +89,6 @@ class IPAUpgrade(service.Service): self.modified = False self.serverid = serverid self.schema_files = schema_files - self.realm = realm_name def __start(self): services.service(self.service_name).start(self.serverid, ldapi=True)