예제 #1
0
    def CreateInstance(self,
                       InstName,
                       InstHost=None,
                       InstSuffix=None,
                       RootDNPwd=None,
                       LdapPort=None,
                       TLSPort=None):
        """
	Creates Directory server instances

	:param str InstName: Instance Name
	:param str InstHost: Host on which instance should be created
	:param str InstSuffix: Suffix to be created
	:param str RootDNPwd: Root DN password
	:param str LdapPort: Ldap Port to be used
	:param str TLSPort: TLSPort port to be used

	:return str result, return_code: output of the command and return code

	:raises DirSrvException: if Directory server instance could not be created
	"""
        self.DSIntName = InstName
        self.DSInstHost = InstHost
        self.DSInstSuffix = None
        self.DSRootDNPwd = RootDNPwd
        self.DSLdapPort = LdapPort
        self.DSTLSPort = TLSPort

        result, return_code = self._set_options()
        if return_code == 0:
            self.DirSrvInst = DirSrv(self.DSIntName, self.DSInstHost,
                                     self.DSInstSuffix, self.DSRootDNPwd,
                                     self.DSLdapPort, self.DSTLSPort,
                                     self.Host)
            cfg_file = self.DirSrvInst.create_config()
            result = self.DirSrvInst.Setup_DSInstance(cfg_file)
            self.DirSrvInfo[self.DSIntName] = self.DirSrvInst.__dict__
            return result, return_code
        else:
            raise DirSrvException('Could not setup Directory Server Instance')