Пример #1
0
 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()
Пример #2
0
 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()
Пример #3
0
 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]
Пример #4
0
    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
Пример #5
0
    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
Пример #6
0
    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]
Пример #7
0
    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]
Пример #8
0
 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]