mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
service installers: clean up the inheritance
Instead of delegating handling of some parameters like fstore to the parent class, the *Instance installers had the logic copy-pasted in their constructors. Some other members were also moved to the Service class and the parent class constructors in children were fixed to modern standards of initializing parent class in Python. https://fedorahosted.org/freeipa/ticket/6392 Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
This commit is contained in:
parent
1e6366bc9f
commit
15f282cf2c
@ -38,7 +38,6 @@ from ipaserver.install.replication import wait_for_task
|
|||||||
from ipalib import errors, api
|
from ipalib import errors, api
|
||||||
from ipalib.util import normalize_zone
|
from ipalib.util import normalize_zone
|
||||||
from ipapython.dn import DN
|
from ipapython.dn import DN
|
||||||
from ipapython import sysrestore
|
|
||||||
from ipapython import ipautil
|
from ipapython import ipautil
|
||||||
from ipapython.ipa_log_manager import root_logger
|
from ipapython.ipa_log_manager import root_logger
|
||||||
import ipapython.errors
|
import ipapython.errors
|
||||||
@ -135,14 +134,9 @@ class ADTRUSTInstance(service.Service):
|
|||||||
|
|
||||||
self.fqdn = None
|
self.fqdn = None
|
||||||
self.host_netbios_name = None
|
self.host_netbios_name = None
|
||||||
self.realm = None
|
|
||||||
|
|
||||||
service.Service.__init__(self, "smb", service_desc="CIFS")
|
super(ADTRUSTInstance, self).__init__(
|
||||||
|
"smb", service_desc="CIFS", fstore=fstore)
|
||||||
if fstore:
|
|
||||||
self.fstore = fstore
|
|
||||||
else:
|
|
||||||
self.fstore = sysrestore.FileStore(paths.SYSRESTORE)
|
|
||||||
|
|
||||||
self.__setup_default_attributes()
|
self.__setup_default_attributes()
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ from ipaserver.dns_data_management import (
|
|||||||
from ipaserver.install import installutils
|
from ipaserver.install import installutils
|
||||||
from ipaserver.install import service
|
from ipaserver.install import service
|
||||||
from ipaserver.install import sysupgrade
|
from ipaserver.install import sysupgrade
|
||||||
from ipapython import sysrestore, ipautil, ipaldap
|
from ipapython import ipautil, ipaldap
|
||||||
from ipapython import dnsutil
|
from ipapython import dnsutil
|
||||||
from ipapython.dnsutil import DNSName
|
from ipapython.dnsutil import DNSName
|
||||||
from ipapython.ipa_log_manager import root_logger
|
from ipapython.ipa_log_manager import root_logger
|
||||||
@ -615,27 +615,22 @@ class DnsBackup(object):
|
|||||||
|
|
||||||
class BindInstance(service.Service):
|
class BindInstance(service.Service):
|
||||||
def __init__(self, fstore=None, api=api):
|
def __init__(self, fstore=None, api=api):
|
||||||
service.Service.__init__(
|
super(BindInstance, self).__init__(
|
||||||
self, "named",
|
"named",
|
||||||
service_desc="DNS"
|
service_desc="DNS",
|
||||||
|
fstore=fstore,
|
||||||
|
api=api
|
||||||
)
|
)
|
||||||
self.dns_backup = DnsBackup(self)
|
self.dns_backup = DnsBackup(self)
|
||||||
self.named_user = None
|
self.named_user = None
|
||||||
self.domain = None
|
self.domain = None
|
||||||
self.host = None
|
self.host = None
|
||||||
self.ip_addresses = []
|
self.ip_addresses = []
|
||||||
self.realm = None
|
|
||||||
self.forwarders = None
|
self.forwarders = None
|
||||||
self.sub_dict = None
|
self.sub_dict = None
|
||||||
self.reverse_zones = []
|
self.reverse_zones = []
|
||||||
self.api = api
|
|
||||||
self.named_regular = services.service('named-regular')
|
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')
|
suffix = ipautil.dn_attribute_property('_suffix')
|
||||||
|
|
||||||
def setup(self, fqdn, ip_addresses, realm_name, domain_name, forwarders,
|
def setup(self, fqdn, ip_addresses, realm_name, domain_name, forwarders,
|
||||||
|
@ -20,7 +20,7 @@ from ipaserver.install import installutils
|
|||||||
from ipapython.ipa_log_manager import root_logger
|
from ipapython.ipa_log_manager import root_logger
|
||||||
from ipapython.dn import DN
|
from ipapython.dn import DN
|
||||||
from ipapython import ipaldap
|
from ipapython import ipaldap
|
||||||
from ipapython import sysrestore, ipautil
|
from ipapython import ipautil
|
||||||
from ipaplatform.constants import constants
|
from ipaplatform.constants import constants
|
||||||
from ipaplatform.paths import paths
|
from ipaplatform.paths import paths
|
||||||
from ipalib import errors, api
|
from ipalib import errors, api
|
||||||
@ -61,9 +61,10 @@ def remove_replica_public_keys(hostname):
|
|||||||
|
|
||||||
class DNSKeySyncInstance(service.Service):
|
class DNSKeySyncInstance(service.Service):
|
||||||
def __init__(self, fstore=None, logger=root_logger):
|
def __init__(self, fstore=None, logger=root_logger):
|
||||||
service.Service.__init__(
|
super(DNSKeySyncInstance, self).__init__(
|
||||||
self, "ipa-dnskeysyncd",
|
"ipa-dnskeysyncd",
|
||||||
service_desc="DNS key synchronization service",
|
service_desc="DNS key synchronization service",
|
||||||
|
fstore=fstore
|
||||||
)
|
)
|
||||||
self.logger = logger
|
self.logger = logger
|
||||||
self.extra_config = [u'dnssecVersion 1', ] # DNSSEC enabled
|
self.extra_config = [u'dnssecVersion 1', ] # DNSSEC enabled
|
||||||
@ -71,10 +72,6 @@ class DNSKeySyncInstance(service.Service):
|
|||||||
self.named_gid = None
|
self.named_gid = None
|
||||||
self.ods_uid = None
|
self.ods_uid = None
|
||||||
self.ods_gid = None
|
self.ods_gid = None
|
||||||
if fstore:
|
|
||||||
self.fstore = fstore
|
|
||||||
else:
|
|
||||||
self.fstore = sysrestore.FileStore(paths.SYSRESTORE)
|
|
||||||
|
|
||||||
suffix = ipautil.dn_attribute_property('_suffix')
|
suffix = ipautil.dn_attribute_property('_suffix')
|
||||||
|
|
||||||
|
@ -113,10 +113,10 @@ class DogtagInstance(service.Service):
|
|||||||
|
|
||||||
super(DogtagInstance, self).__init__(
|
super(DogtagInstance, self).__init__(
|
||||||
'pki-tomcatd',
|
'pki-tomcatd',
|
||||||
service_desc=service_desc
|
service_desc=service_desc,
|
||||||
|
realm_name=realm
|
||||||
)
|
)
|
||||||
|
|
||||||
self.realm = realm
|
|
||||||
self.admin_password = None
|
self.admin_password = None
|
||||||
self.fqdn = host_name
|
self.fqdn = host_name
|
||||||
self.pkcs12_info = None
|
self.pkcs12_info = None
|
||||||
|
@ -32,7 +32,7 @@ import fnmatch
|
|||||||
import ldap
|
import ldap
|
||||||
|
|
||||||
from ipapython.ipa_log_manager import root_logger
|
from ipapython.ipa_log_manager import root_logger
|
||||||
from ipapython import ipautil, sysrestore, ipaldap
|
from ipapython import ipautil, ipaldap
|
||||||
from ipapython import dogtag
|
from ipapython import dogtag
|
||||||
from ipaserver.install import service
|
from ipaserver.install import service
|
||||||
from ipaserver.install import installutils
|
from ipaserver.install import installutils
|
||||||
@ -223,10 +223,13 @@ info: IPA V2.0
|
|||||||
class DsInstance(service.Service):
|
class DsInstance(service.Service):
|
||||||
def __init__(self, realm_name=None, domain_name=None, fstore=None,
|
def __init__(self, realm_name=None, domain_name=None, fstore=None,
|
||||||
domainlevel=None, config_ldif=None):
|
domainlevel=None, config_ldif=None):
|
||||||
service.Service.__init__(self, "dirsrv",
|
super(DsInstance, self).__init__(
|
||||||
service_desc="directory server")
|
"dirsrv",
|
||||||
|
service_desc="directory server",
|
||||||
|
fstore=fstore,
|
||||||
|
realm_name=realm_name
|
||||||
|
)
|
||||||
self.nickname = 'Server-Cert'
|
self.nickname = 'Server-Cert'
|
||||||
self.realm = realm_name
|
|
||||||
self.sub_dict = None
|
self.sub_dict = None
|
||||||
self.domain = domain_name
|
self.domain = domain_name
|
||||||
self.serverid = None
|
self.serverid = None
|
||||||
@ -248,12 +251,6 @@ class DsInstance(service.Service):
|
|||||||
else:
|
else:
|
||||||
self.suffix = DN()
|
self.suffix = DN()
|
||||||
|
|
||||||
if fstore:
|
|
||||||
self.fstore = fstore
|
|
||||||
else:
|
|
||||||
self.fstore = sysrestore.FileStore(paths.SYSRESTORE)
|
|
||||||
|
|
||||||
|
|
||||||
subject_base = ipautil.dn_attribute_property('_subject_base')
|
subject_base = ipautil.dn_attribute_property('_subject_base')
|
||||||
|
|
||||||
def __common_setup(self, enable_ssl=False):
|
def __common_setup(self, enable_ssl=False):
|
||||||
|
@ -34,7 +34,6 @@ import six
|
|||||||
from ipaserver.install import service
|
from ipaserver.install import service
|
||||||
from ipaserver.install import certs
|
from ipaserver.install import certs
|
||||||
from ipaserver.install import installutils
|
from ipaserver.install import installutils
|
||||||
from ipapython import sysrestore
|
|
||||||
from ipapython import certmonger
|
from ipapython import certmonger
|
||||||
from ipapython import dogtag
|
from ipapython import dogtag
|
||||||
from ipapython import ipautil
|
from ipapython import ipautil
|
||||||
@ -121,11 +120,10 @@ class WebGuiInstance(service.SimpleServiceInstance):
|
|||||||
|
|
||||||
class HTTPInstance(service.Service):
|
class HTTPInstance(service.Service):
|
||||||
def __init__(self, fstore=None, cert_nickname='Server-Cert'):
|
def __init__(self, fstore=None, cert_nickname='Server-Cert'):
|
||||||
service.Service.__init__(self, "httpd", service_desc="the web interface")
|
super(HTTPInstance, self).__init__(
|
||||||
if fstore:
|
"httpd",
|
||||||
self.fstore = fstore
|
service_desc="the web interface",
|
||||||
else:
|
fstore=fstore)
|
||||||
self.fstore = sysrestore.FileStore(paths.SYSRESTORE)
|
|
||||||
|
|
||||||
self.cert_nickname = cert_nickname
|
self.cert_nickname = cert_nickname
|
||||||
self.ca_is_configured = True
|
self.ca_is_configured = True
|
||||||
|
@ -28,7 +28,6 @@ import dns.name
|
|||||||
|
|
||||||
from ipaserver.install import service
|
from ipaserver.install import service
|
||||||
from ipaserver.install import installutils
|
from ipaserver.install import installutils
|
||||||
from ipapython import sysrestore
|
|
||||||
from ipapython import ipautil
|
from ipapython import ipautil
|
||||||
from ipapython import kernel_keyring
|
from ipapython import kernel_keyring
|
||||||
from ipalib.constants import CACERT
|
from ipalib.constants import CACERT
|
||||||
@ -50,7 +49,11 @@ class KpasswdInstance(service.SimpleServiceInstance):
|
|||||||
|
|
||||||
class KrbInstance(service.Service):
|
class KrbInstance(service.Service):
|
||||||
def __init__(self, fstore=None):
|
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.fqdn = None
|
||||||
self.realm = None
|
self.realm = None
|
||||||
self.domain = None
|
self.domain = None
|
||||||
@ -63,11 +66,6 @@ class KrbInstance(service.Service):
|
|||||||
self.sub_dict = None
|
self.sub_dict = None
|
||||||
self.pkcs12_info = None
|
self.pkcs12_info = None
|
||||||
|
|
||||||
if fstore:
|
|
||||||
self.fstore = fstore
|
|
||||||
else:
|
|
||||||
self.fstore = sysrestore.FileStore(paths.SYSRESTORE)
|
|
||||||
|
|
||||||
suffix = ipautil.dn_attribute_property('_suffix')
|
suffix = ipautil.dn_attribute_property('_suffix')
|
||||||
subject_base = ipautil.dn_attribute_property('_subject_base')
|
subject_base = ipautil.dn_attribute_property('_subject_base')
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
from ipaserver.install import service
|
from ipaserver.install import service
|
||||||
from ipaserver.install import sysupgrade
|
from ipaserver.install import sysupgrade
|
||||||
from ipapython import sysrestore
|
|
||||||
from ipapython import ipautil
|
from ipapython import ipautil
|
||||||
from ipaplatform.constants import constants
|
from ipaplatform.constants import constants
|
||||||
from ipaplatform.paths import paths
|
from ipaplatform.paths import paths
|
||||||
@ -49,13 +48,12 @@ def ntp_ldap_enable(fqdn, base_dn, realm):
|
|||||||
|
|
||||||
class NTPInstance(service.Service):
|
class NTPInstance(service.Service):
|
||||||
def __init__(self, realm=None, fstore=None):
|
def __init__(self, realm=None, fstore=None):
|
||||||
service.Service.__init__(self, "ntpd", service_desc="NTP daemon")
|
super(NTPInstance, self).__init__(
|
||||||
self.realm = realm
|
"ntpd",
|
||||||
|
service_desc="NTP daemon",
|
||||||
if fstore:
|
realm_name=realm,
|
||||||
self.fstore = fstore
|
fstore=fstore
|
||||||
else:
|
)
|
||||||
self.fstore = sysrestore.FileStore(paths.SYSRESTORE)
|
|
||||||
|
|
||||||
def __write_config(self):
|
def __write_config(self):
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ from ipaserver.install import service
|
|||||||
from ipaserver.install import installutils
|
from ipaserver.install import installutils
|
||||||
from ipapython.ipa_log_manager import root_logger
|
from ipapython.ipa_log_manager import root_logger
|
||||||
from ipapython.dn import DN
|
from ipapython.dn import DN
|
||||||
from ipapython import sysrestore, ipautil
|
from ipapython import ipautil
|
||||||
from ipaplatform.constants import constants
|
from ipaplatform.constants import constants
|
||||||
from ipaplatform.paths import paths
|
from ipaplatform.paths import paths
|
||||||
from ipaplatform import services
|
from ipaplatform import services
|
||||||
@ -21,19 +21,15 @@ from ipalib import errors, api
|
|||||||
|
|
||||||
class ODSExporterInstance(service.Service):
|
class ODSExporterInstance(service.Service):
|
||||||
def __init__(self, fstore=None):
|
def __init__(self, fstore=None):
|
||||||
service.Service.__init__(
|
super(ODSExporterInstance, self).__init__(
|
||||||
self, "ipa-ods-exporter",
|
"ipa-ods-exporter",
|
||||||
service_desc="IPA OpenDNSSEC exporter daemon"
|
service_desc="IPA OpenDNSSEC exporter daemon",
|
||||||
|
fstore=fstore
|
||||||
)
|
)
|
||||||
self.ods_uid = None
|
self.ods_uid = None
|
||||||
self.ods_gid = None
|
self.ods_gid = None
|
||||||
self.enable_if_exists = False
|
self.enable_if_exists = False
|
||||||
|
|
||||||
if fstore:
|
|
||||||
self.fstore = fstore
|
|
||||||
else:
|
|
||||||
self.fstore = sysrestore.FileStore(paths.SYSRESTORE)
|
|
||||||
|
|
||||||
suffix = ipautil.dn_attribute_property('_suffix')
|
suffix = ipautil.dn_attribute_property('_suffix')
|
||||||
|
|
||||||
def create_instance(self, fqdn, realm_name):
|
def create_instance(self, fqdn, realm_name):
|
||||||
|
@ -130,7 +130,8 @@ def find_providing_server(svcname, conn, host_name=None, api=api):
|
|||||||
|
|
||||||
|
|
||||||
class Service(object):
|
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_name = service_name
|
||||||
self.service_desc = service_desc
|
self.service_desc = service_desc
|
||||||
self.service = services.service(service_name)
|
self.service = services.service(service_name)
|
||||||
@ -144,10 +145,16 @@ class Service(object):
|
|||||||
else:
|
else:
|
||||||
self.sstore = sysrestore.StateFile(paths.SYSRESTORE)
|
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.suffix = DN()
|
||||||
self.principal = None
|
self.principal = None
|
||||||
self.dercert = None
|
self.dercert = None
|
||||||
|
self.api = api
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def admin_conn(self):
|
def admin_conn(self):
|
||||||
|
@ -81,7 +81,7 @@ class IPAUpgrade(service.Service):
|
|||||||
for _i in range(8):
|
for _i in range(8):
|
||||||
h = "%02x" % rand.randint(0,255)
|
h = "%02x" % rand.randint(0,255)
|
||||||
ext += h
|
ext += h
|
||||||
service.Service.__init__(self, "dirsrv")
|
super(IPAUpgrade, self).__init__("dirsrv", realm_name=realm_name)
|
||||||
serverid = installutils.realm_to_serverid(realm_name)
|
serverid = installutils.realm_to_serverid(realm_name)
|
||||||
self.filename = '%s/%s' % (paths.ETC_DIRSRV_SLAPD_INSTANCE_TEMPLATE % serverid, DSE)
|
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)
|
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.modified = False
|
||||||
self.serverid = serverid
|
self.serverid = serverid
|
||||||
self.schema_files = schema_files
|
self.schema_files = schema_files
|
||||||
self.realm = realm_name
|
|
||||||
|
|
||||||
def __start(self):
|
def __start(self):
|
||||||
services.service(self.service_name).start(self.serverid, ldapi=True)
|
services.service(self.service_name).start(self.serverid, ldapi=True)
|
||||||
|
Loading…
Reference in New Issue
Block a user