mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-26 17:01:14 -06:00
Make check_inst() a standalone function in bindinstance.
When an install instance is created that contains a pointer to a sysrestore point it loads in the current configuration when instantiated. If an instance is instantiated but not used then changes may occur to the system state that it is unaware of. So one needs to take care in the order that things are done to avoid losing information. When bind was setup it was overwriting all data in sysrestore.state and leaving just a [named] section. This caused problems at uninstall. 448173
This commit is contained in:
parent
e3ba80e3d3
commit
165d26ce2b
@ -365,9 +365,8 @@ def main():
|
||||
admin_password = ""
|
||||
|
||||
# check bind packages are installed
|
||||
bind = ipaserver.bindinstance.BindInstance()
|
||||
if options.setup_bind:
|
||||
if not bind.check_inst():
|
||||
if not ipaserver.bindinstance.check_inst():
|
||||
print "--setup-bind was specified but bind is not installed on the system"
|
||||
print "Please install bind and restart the setup program"
|
||||
return 1
|
||||
@ -502,6 +501,7 @@ def main():
|
||||
webgui = ipaserver.httpinstance.WebGuiInstance()
|
||||
webgui.create_instance()
|
||||
|
||||
bind = ipaserver.bindinstance.BindInstance(fstore)
|
||||
bind.setup(host_name, ip_address, realm_name, domain_name)
|
||||
if options.setup_bind:
|
||||
bind.create_instance()
|
||||
|
@ -28,6 +28,14 @@ import service
|
||||
from ipa import sysrestore
|
||||
from ipa import ipautil
|
||||
|
||||
def check_inst():
|
||||
# So far this file is always present in both RHEL5 and Fedora if all the necessary
|
||||
# bind packages are installed (RHEL5 requires also the pkg: caching-nameserver)
|
||||
if not os.path.exists('/etc/named.rfc1912.zones'):
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
class BindInstance(service.Service):
|
||||
def __init__(self, fstore=None):
|
||||
service.Service.__init__(self, "named")
|
||||
@ -52,14 +60,6 @@ class BindInstance(service.Service):
|
||||
|
||||
self.__setup_sub_dict()
|
||||
|
||||
def check_inst(self):
|
||||
# So far this file is always present in both RHEL5 and Fedora if all the necessary
|
||||
# bind packages are installed (RHEL5 requires also the pkg: caching-nameserver)
|
||||
if not os.path.exists('/etc/named.rfc1912.zones'):
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
def create_sample_bind_zone(self):
|
||||
bind_txt = ipautil.template_file(ipautil.SHARE_DIR + "bind.zone.db.template", self.sub_dict)
|
||||
[bind_fd, bind_name] = tempfile.mkstemp(".db","sample.zone.")
|
||||
|
Loading…
Reference in New Issue
Block a user