Fix typo / buglets in setup scripts.

Add fallback to ds_newinst.pl.
This commit is contained in:
Karl MacMillan
-
parent cef59d76eb
commit b1831b4593
3 changed files with 33 additions and 12 deletions

View File

@@ -34,7 +34,7 @@ import logging
from optparse import OptionParser
import ipaserver.dsinstance
import ipaserver.krbinstance
import ipaserver.util.run as run
from ipaserver.util import run
def parse_options():
parser = OptionParser(version=VERSION)
@@ -117,7 +117,7 @@ def main():
ds.restart()
# Restart apache
run(["/sbin/server", "httpd", "restart"])
run(["/sbin/service", "httpd", "restart"])
return 0

View File

@@ -24,8 +24,6 @@ import tempfile
import shutil
import logging
import pwd
import os
import stat
from util import *
@@ -52,14 +50,11 @@ def realm_to_suffix(realm_name):
return ",".join(terms)
def find_server_root():
try:
mode = os.stat(SERVER_ROOT_64)[ST_MODE]
if stat.IS_DIR(mode):
return SERVER_ROOT_64
except:
if dir_exists(SERVER_ROOT_64):
return SERVER_ROOT_64
else:
return SERVER_ROOT_32
INF_TEMPLATE = """
[General]
FullMachineName= $FQHN
@@ -137,8 +132,12 @@ class DsInstance:
logging.debug(inf_txt)
inf_fd = write_tmp_file(inf_txt)
logging.debug("writing inf template")
args = ["/usr/sbin/setup-ds.pl", "--silent", "--logfile", "-", "-f", inf_fd.name, ]
logging.debug("calling ds_newinst.pl")
if file_exists("/usr/sbin/setup-ds.pl"):
args = ["/usr/sbin/setup-ds.pl", "--silent", "--logfile", "-", "-f", inf_fd.name]
logging.debug("calling setup-ds.pl")
else:
args = ["/usr/sbin/ds_newinst.pl", inf_fd.name]
logging.debug("calling ds_newinst.pl")
run(args)
logging.debug("completed creating ds instance")
logging.debug("restarting ds instance")

View File

@@ -24,6 +24,8 @@ import string
import tempfile
import logging
import subprocess
import os
import stat
def realm_to_suffix(realm_name):
s = realm_name.split(".")
@@ -56,3 +58,23 @@ def run(args, stdin=None):
if p.returncode != 0:
raise subprocess.CalledProcessError(p.returncode, args[0])
def file_exists(filename):
try:
mode = os.stat(filename)[stat.ST_MODE]
if stat.S_ISREG(mode):
return True
else:
return False
except:
return False
def dir_exists(filename):
try:
mode = os.stat(filename)[stat.ST_MODE]
if stat.S_ISDIR(mode):
return True
else:
return False
except:
return False