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)
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))
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
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/"))
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: