Added additional debugging information.

This commit is contained in:
Karl MacMillan 0001-01-01 00:00:00 +00:00
parent 89c85f06d9
commit a53a4e71bb
2 changed files with 38 additions and 1 deletions

View File

@ -43,6 +43,8 @@ def parse_options():
help="admin password")
parser.add_option("-m", "--master-password", dest="master_password",
help="kerberos master password")
parser.add_option("-d", "--debug", dest="debug", action="store_true",
dest="debug", default=False, help="print debugging information")
options, args = parser.parse_args()
@ -51,15 +53,34 @@ def parse_options():
return options
def main():
def logging_setup(options):
# Always log everything (i.e., DEBUG) to the log
# file.
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
filename='ipa-install.log',
filemode='w')
console = logging.StreamHandler()
# If the debug option is set, also log debug messages to the console
if options.debug:
console.setLevel(logging.DEBUG)
else:
# Otherwise, log critical and error messages
console.setLevel(logging.ERROR)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
def main():
options = parse_options()
logging_setup(options)
# Create a directory server instance
ds = ipa.dsinstance.DsInstance()
ds.create_instance(options.ds_user, options.realm_name, options.host_name, options.password)
# Create a kerberos instance
krb = ipa.krbinstance.KrbInstance()
krb.create_instance(options.ds_user, options.realm_name, options.host_name, options.password, options.master_password)
#restart ds after the krb instance have add the sasl map

View File

@ -59,6 +59,7 @@ def write_tmp_file(txt):
return fd
def run(args, stdin=None):
logging.debug("running command [%s]" % (" ".join(args)))
p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if stdin:
stdout,stderr = p.communicate(stdin)
@ -133,15 +134,26 @@ class DsInstance:
def __create_ds_user(self):
try:
pwd.getpwnam(self.ds_user)
logging.debug("ds user %s exists" % self.ds_user)
except KeyError:
logging.debug("adding ds user %s" % self.ds_user)
args = ["/usr/sbin/useradd", "-c", "DS System User", "-d", "/var/lib/fedora-ds", "-M", "-r", "-s", "/sbin/nologin", self.ds_user]
run(args)
logging.debug("done adding user")
def __create_instance(self):
logging.debug("creating ds instance . . . ")
inf_txt = template_str(INF_TEMPLATE, self.sub_dict)
logging.debug(inf_txt)
inf_fd = write_tmp_file(inf_txt)
logging.debug("writing inf template")
args = ["/usr/bin/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")
self.restart()
logging.debug("done restarting ds instance")
def __add_default_schemas(self):
shutil.copyfile(SHARE_DIR + "60kerberos.ldif",
@ -150,14 +162,18 @@ class DsInstance:
self.schema_dirname() + "60samba.ldif")
def __enable_ssl(self):
logging.debug("configuring ssl for ds instance")
dirname = self.config_dirname()
args = ["/usr/sbin/ipa-server-setupssl", self.admin_password,
dirname, self.host_name]
run(args)
logging.debug("done configuring ssl for ds instance")
def __add_default_layout(self):
txt = template_file(SHARE_DIR + "bootstrap-template.ldif", self.sub_dict)
inf_fd = write_tmp_file(txt)
logging.debug("adding default ds layout")
args = ["/usr/bin/ldapmodify", "-xv", "-D", "cn=Directory Manager",
"-w", self.admin_password, "-f", inf_fd.name]
run(args)
logging.debug("done adding default ds layout")