summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipaserver/ntpinstance.py
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2008-03-27 19:01:38 -0400
committerSimo Sorce <ssorce@redhat.com>2008-03-27 19:01:38 -0400
commitaac086582aee79ccf72206faf118e997c623170c (patch)
tree7c806025ad651531015b62ca806db7a32f55c2a8 /ipa-server/ipaserver/ntpinstance.py
parentb7924139d895c7ebe019fbfc9c85fed3baae642e (diff)
downloadfreeipa.git-aac086582aee79ccf72206faf118e997c623170c.tar.gz
freeipa.git-aac086582aee79ccf72206faf118e997c623170c.tar.xz
freeipa.git-aac086582aee79ccf72206faf118e997c623170c.zip
Move sysrestore to ipa-python so it can be used by client scripts too.
Change backup format so files are all in a single directory (no dir hierarchies) and use an index file so we can save also ownership and permission info for the restore (and eventually other data later on).
Diffstat (limited to 'ipa-server/ipaserver/ntpinstance.py')
-rw-r--r--ipa-server/ipaserver/ntpinstance.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/ipa-server/ipaserver/ntpinstance.py b/ipa-server/ipaserver/ntpinstance.py
index 53858810..e2ec6065 100644
--- a/ipa-server/ipaserver/ntpinstance.py
+++ b/ipa-server/ipaserver/ntpinstance.py
@@ -18,15 +18,21 @@
#
import shutil
+import logging
import service
-import sysrestore
+from ipa import sysrestore
from ipa import ipautil
class NTPInstance(service.Service):
- def __init__(self):
+ def __init__(self, fstore=None):
service.Service.__init__(self, "ntpd")
+ if fstore:
+ self.fstore = fstore
+ else:
+ self.fstore = sysrestore.FileStore('/var/lib/ipa/sysrestore')
+
def __write_config(self):
# The template sets the config to point towards ntp.pool.org, but
# they request that software not point towards the default pool.
@@ -47,8 +53,8 @@ class NTPInstance(service.Service):
ntp_conf = ipautil.template_file(ipautil.SHARE_DIR + "ntp.conf.server.template", sub_dict)
ntp_sysconf = ipautil.template_file(ipautil.SHARE_DIR + "ntpd.sysconfig.template", {})
- sysrestore.backup_file("/etc/ntp.conf")
- sysrestore.backup_file("/etc/sysconfig/ntpd")
+ self.fstore.backup_file("/etc/ntp.conf")
+ self.fstore.backup_file("/etc/sysconfig/ntpd")
fd = open("/etc/ntp.conf", "w")
fd.write(ntp_conf)
@@ -87,10 +93,15 @@ class NTPInstance(service.Service):
if not running is None:
self.stop()
+
+ try:
+ self.fstore.restore_file("/etc/ntp.conf")
+ except ValueError, error:
+ logging.debug(error)
+ pass
+
if not enabled is None and not enabled:
self.chkconfig_off()
- sysrestore.restore_file("/etc/ntp.conf")
-
if not running is None and running:
self.start()