Exemplo n.º 1
0
 def init_config(self, config=None):
     self.config = config
     self.nginx_manager = nginx.Nginx(config)
     self.consul_manager = consul_manager.ConsulManager(config)
     self.host_manager_name = self._get_conf("HOST_MANAGER", "cloudstack")
     self.lb_manager_name = self._get_conf("LB_MANAGER",
                                           "networkapi_cloudstack")
     self.task_manager = TaskManager(config)
     self.lock_manager = lock.Lock(app.backend.client)
     self.hc = hc.Dumb()
     self.storage = storage.MongoDBStorage(config)
     self.acl_manager = acl.Dumb(self.consul_manager)
     if check_option_enable(self._get_conf("CHECK_ACL_API", None)):
         self.acl_manager = acl.AclManager(config, self.consul_manager,
                                           lock.Lock(app.backend.client))
     hc_url = self._get_conf("HCAPI_URL", None)
     if hc_url:
         self.hc = hc.HCAPI(self.storage,
                            url=hc_url,
                            user=self._get_conf("HCAPI_USER"),
                            password=self._get_conf("HCAPI_PASSWORD"),
                            hc_format=self._get_conf(
                                "HCAPI_FORMAT", "http://{}:8080/"))
     self.retry_countdown = os.environ.get("RETRY_COUNTDOWN", None)
     if self.retry_countdown:
         self.retry_countdown = int(self.retry_countdown)
     self.max_retries = os.environ.get("MAX_RETRIES", None)
     if self.max_retries:
         self.max_retries = int(self.max_retries)
Exemplo n.º 2
0
 def __init__(self, config=None):
     self.config = config
     self.storage = storage.MongoDBStorage(config)
     self.consul_manager = consul_manager.ConsulManager(config)
     self.nginx_manager = nginx.Nginx(config)
     self.task_manager = tasks.TaskManager(config)
     self.service_name = os.environ.get("RPAAS_SERVICE_NAME", "rpaas")
     self.acl_manager = acl.Dumb(self.consul_manager)
     if check_option_enable(os.environ.get("CHECK_ACL_API", None)):
         self.acl_manager = acl.AclManager(config, self.consul_manager, lock.Lock(tasks.app.backend.client))
Exemplo n.º 3
0
 def __init__(self, config=None):
     self.config = config
     self.storage = storage.MongoDBStorage(config)
     self.consul_manager = consul_manager.ConsulManager(config)
     self.nginx_manager = nginx.Nginx(config)
     self.task_manager = tasks.TaskManager(config)
     self.service_name = os.environ.get("RPAAS_SERVICE_NAME", "rpaas")
     self.acl_manager = acl.Dumb(self.consul_manager)
     if check_option_enable(os.environ.get("CHECK_ACL_API", None)):
         self.acl_manager = acl.AclManager(config, self.consul_manager, lock.Lock(tasks.app.backend.client))
Exemplo n.º 4
0
def cancel_restore_machine(name):
    if not check_option_enable(os.environ.get("RUN_RESTORE_MACHINE")):
        return "Restore machine not enabled", 412
    machine = request.form.get("machine")
    if not machine:
        return "missing machine name", 400
    try:
        get_manager().restore_machine_instance(name, machine, True)
    except tasks.NotReadyError as e:
        return "Instance not ready: {}".format(e), 412
    except storage.InstanceNotFoundError:
        return "Instance not found", 404
    except manager.InstanceMachineNotFoundError:
        return "Instance machine not found", 404
    return "", 201
Exemplo n.º 5
0
Arquivo: api.py Projeto: tsuru/rpaas
def cancel_restore_machine(name):
    if not check_option_enable(os.environ.get("RUN_RESTORE_MACHINE")):
        return "Restore machine not enabled", 412
    machine = request.form.get("machine")
    if not machine:
        return "missing machine name", 400
    try:
        get_manager().restore_machine_instance(name, machine, True)
    except tasks.NotReadyError as e:
        return "Instance not ready: {}".format(e), 412
    except storage.InstanceNotFoundError:
        return "Instance not found", 404
    except manager.InstanceMachineNotFoundError:
        return "Instance machine not found", 404
    return "", 201
Exemplo n.º 6
0
Arquivo: tasks.py Projeto: tsuru/rpaas
 def init_config(self, config=None):
     self.config = config
     self.nginx_manager = nginx.Nginx(config)
     self.consul_manager = consul_manager.ConsulManager(config)
     self.host_manager_name = self._get_conf("HOST_MANAGER", "cloudstack")
     self.lb_manager_name = self._get_conf("LB_MANAGER", "networkapi_cloudstack")
     self.task_manager = TaskManager(config)
     self.lock_manager = lock.Lock(app.backend.client)
     self.hc = hc.Dumb()
     self.storage = storage.MongoDBStorage(config)
     self.acl_manager = acl.Dumb(self.consul_manager)
     if check_option_enable(self._get_conf("CHECK_ACL_API", None)):
         self.acl_manager = acl.AclManager(config, self.consul_manager, lock.Lock(app.backend.client))
     hc_url = self._get_conf("HCAPI_URL", None)
     if hc_url:
         self.hc = hc.HCAPI(self.storage,
                            url=hc_url,
                            user=self._get_conf("HCAPI_USER"),
                            password=self._get_conf("HCAPI_PASSWORD"),
                            hc_format=self._get_conf("HCAPI_FORMAT", "http://{}:8080/"))
Exemplo n.º 7
0
import json
import os
import logging
from socket import gaierror

from flask import Flask, Response, request
from raven.contrib.flask import Sentry
import hm.log

from rpaas import (admin_api, router_api, admin_plugin, auth, get_manager, manager,
                   plugin, storage, tasks)
from rpaas.misc import (validate_name, ValidationError, require_plan, check_option_enable)

api = Flask(__name__)
api.register_blueprint(router_api.router)
api.debug = check_option_enable(os.environ.get("API_DEBUG"))
handler = logging.StreamHandler()
if api.debug:
    logging.basicConfig(level=logging.DEBUG)
    handler.setLevel(logging.DEBUG)
else:
    handler.setLevel(logging.WARN)
api.logger.addHandler(handler)
hm.log.set_handler(handler)

if check_option_enable(os.environ.get("RUN_LE_RENEWER")):
    from rpaas.ssl_plugins import le_renewer
    le_renewer.LeRenewer().start()

SENTRY_DSN = os.environ.get("SENTRY_DSN")
if SENTRY_DSN:
Exemplo n.º 8
0
Arquivo: api.py Projeto: tsuru/rpaas
import json
import os
import logging
from socket import gaierror

from flask import Flask, Response, request
from raven.contrib.flask import Sentry
import hm.log

from rpaas import (admin_api, router_api, admin_plugin, auth, get_manager, manager,
                   plugin, storage, tasks)
from rpaas.misc import (validate_name, ValidationError, require_plan, check_option_enable)

api = Flask(__name__)
api.register_blueprint(router_api.router)
api.debug = check_option_enable(os.environ.get("API_DEBUG"))
handler = logging.StreamHandler()
if api.debug:
    logging.basicConfig(level=logging.DEBUG)
    handler.setLevel(logging.DEBUG)
else:
    handler.setLevel(logging.WARN)
api.logger.addHandler(handler)
hm.log.set_handler(handler)

if check_option_enable(os.environ.get("RUN_LE_RENEWER")):
    from rpaas.ssl_plugins import le_renewer
    le_renewer.LeRenewer().start()

SENTRY_DSN = os.environ.get("SENTRY_DSN")
if SENTRY_DSN: