def __init__(self, tomcat_port=None): self.config_template = join(ETC, 'tomcat-server-xml.tmpl') self.instance_dir = join(VAR_CACHE, 'tomcat_instance') self.config_file = join(self.instance_dir, 'conf', 'server.xml') self.start_args = [TOMCAT_STARTUP, '-security'] self.shutdown_args = [join(self.instance_dir, 'bin', 'shutdown.sh')] verify_port(tomcat_port) devnull_fd = open(devnull, 'w') proc = Popen([ TOMCAT_INSTANCE_CREATE, '-p', str(tomcat_port), self.instance_dir ], stdout=devnull_fd, stderr=devnull_fd, close_fds=True) if proc.wait() != 0: logger.critical('Failed to initialize tomcat (code=%d)' % proc.returncode) raise OSError('Failed to initialize tomcat (code=%d)' % proc.returncode) try: self.www_user = getpwnam('www-data') except KeyError: logger.exception('Failed to find user id of www-data') raise OSError('Failed to find user id of www-data') for child in ['logs', 'temp', 'work']: try: chown(join(self.instance_dir, child), self.www_user.pw_uid, self.www_user.pw_gid) except OSError: logger.exception('Failed to change ownership of %s' % child) raise self.state = S_INIT self.configure(tomcat_port=tomcat_port) self.start()
def __init__(self, tomcat_port=None): self.config_template = join(ETC, 'tomcat-server-xml.tmpl') self.instance_dir = join(VAR_CACHE, 'tomcat_instance') self.config_file = join(self.instance_dir, 'conf', 'server.xml') self.start_args = [TOMCAT_STARTUP, '-security'] self.shutdown_args = [join(self.instance_dir, 'bin', 'shutdown.sh')] verify_port(tomcat_port) devnull_fd = open(devnull, 'w') proc = Popen([TOMCAT_INSTANCE_CREATE, '-p', str(tomcat_port), self.instance_dir], stdout=devnull_fd, stderr=devnull_fd, close_fds=True) if proc.wait() != 0: logger.critical('Failed to initialize tomcat (code=%d)' % proc.returncode) raise OSError('Failed to initialize tomcat (code=%d)' % proc.returncode) try: self.www_user = getpwnam('www-data') except KeyError: logger.exception('Failed to find user id of www-data') raise OSError('Failed to find user id of www-data') for child in ['logs', 'temp', 'work']: try: chown(join(self.instance_dir, child), self.www_user.pw_uid, self.www_user.pw_gid) except OSError: logger.exception('Failed to change ownership of %s' % child) raise self.state = S_INIT self.configure(tomcat_port=tomcat_port) self.start()
def configure(self, port=None, code_version=None, cdn=None, web_list=[], fpm_list=[], tomcat_list=[], tomcat_servlets=[]): verify_port(port) port = int(port) verify_ip_port_list(web_list) verify_ip_port_list(fpm_list) verify_ip_port_list(tomcat_list) if self.state == S_INIT: self.config_file = join(VAR_CACHE, 'nginx-proxy.conf') self.access_log = join(VAR_CACHE, 'nginx-proxy-access.log') self.timed_log = join(VAR_CACHE, 'nginx-proxy-timed.log') self.error_log = join(VAR_CACHE, 'nginx-proxy-error.log') self.pid_file = join(VAR_RUN, 'nginx-proxy.pid') self.user = '******' self.port = port self.codeversion = code_version self.cdn = cdn self.web_list = web_list self.fpm_list = fpm_list self.tomcat_list = tomcat_list self.tomcat_servlets = tomcat_servlets self._write_config() self.start_args = [self.cmd, '-c', self.config_file]
def configure(self, port=None, scalaris=None, configuration=None): if port == None: raise TypeError('port is required') verify_port(port) verify_ip_or_domain(scalaris) if configuration and not isinstance(configuration, dict): raise TypeError('configuration is not a dict') if self.state == S_INIT: self.scalaris_config = join(VAR_CACHE, 'fpm-scalaris.conf') self.config_file = join(VAR_CACHE, 'fpm.conf') self.error_log = join(VAR_CACHE, 'fpm-error.log') self.access_log = join(VAR_CACHE, 'fpm-access.log') self.pid_file = join(VAR_RUN, 'fpm.pid') self.user = '******' self.group = 'www-data' self.max_children = 5 self.max_requests = 300 self.servers_start = 1 self.servers_spare_min = 1 self.servers_spare_max = 5 self.scalaris = scalaris tmpl = open(self.config_template).read() fd = open(self.config_file, 'w') template = Template( tmpl, { 'pid_file': self.pid_file, 'error_log': self.error_log, 'port': port, 'user': self.user, 'group': self.group, 'access_log': self.access_log, 'max_children': self.max_children, 'max_requests': self.max_requests, 'servers_start': self.servers_start, 'servers_spare_min': self.servers_spare_min, 'servers_spare_max': self.servers_spare_max, 'properties': configuration }) fd.write(str(template)) fd.close() fd = open(self.scalaris_config, 'w') fd.write("http://%s:8000/jsonrpc.yaws" % (scalaris)) fd.close() self.port = port self.configuration = configuration
def configure(self, port=None, scalaris=None, configuration=None): if port is None: raise TypeError('port is required') verify_port(port) verify_ip_or_domain(scalaris) if configuration and not isinstance(configuration, dict): raise TypeError('configuration is not a dict') if self.state == S_INIT: self.scalaris_config = join(VAR_CACHE, 'fpm-scalaris.conf') self.config_file = join(VAR_CACHE, 'fpm.conf') self.error_log = join(VAR_CACHE, 'fpm-error.log') self.access_log = join(VAR_CACHE, 'fpm-access.log') self.pid_file = join(VAR_RUN, 'fpm.pid') self.user = '******' self.group = 'www-data' self.max_children = 5 self.max_requests = 300 self.servers_start = 1 self.servers_spare_min = 1 self.servers_spare_max = 5 self.scalaris = scalaris tmpl = open(self.config_template).read() fd = open(self.config_file, 'w') template = Template(tmpl, { 'pid_file': self.pid_file, 'error_log': self.error_log, 'port': port, 'user': self.user, 'group': self.group, 'access_log': self.access_log, 'max_children': self.max_children, 'max_requests': self.max_requests, 'servers_start': self.servers_start, 'servers_spare_min': self.servers_spare_min, 'servers_spare_max': self.servers_spare_max, 'properties': configuration}) fd.write(str(template)) fd.close() fd = open(self.scalaris_config, 'w') fd.write("http://%s:8000/jsonrpc.yaws" % (scalaris)) fd.close() self.port = port self.configuration = configuration
def configure(self, port=None, code_versions=None): verify_port(port) self.port = port if not isinstance(code_versions, list): raise TypeError('code_versions should be a list of strings') for i in code_versions: if not isinstance(i, basestring): raise TypeError('code_versions should be a list of strings') self.code_versions = code_versions if self.state == S_INIT: self.config_file = join(VAR_CACHE, 'nginx-static.conf') self.access_log = join(VAR_CACHE, 'nginx-static-access.log') self.timed_log = join(VAR_CACHE, 'nginx-static-timed.log') self.error_log = join(VAR_CACHE, 'nginx-static-error.log') self.pid_file = join(VAR_RUN, 'nginx-static.pid') self.user = '******' self._write_config() self.start_args = [self.cmd, '-c', self.config_file]