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")
def generate_crt(config, name, plugin, csr, key, domain): lb = LoadBalancer.find(name, config) if lb is None: raise storage.InstanceNotFoundError() strg = storage.MongoDBStorage(config) consul_mngr = consul_manager.ConsulManager(config) crt = None plugin_class = ssl_plugins.get(plugin) if not plugin_class: raise Exception("Invalid plugin {}".format(plugin)) plugin_obj = plugin_class(domain, os.environ.get('RPAAS_PLUGIN_LE_EMAIL', 'admin@'+domain), name, consul_manager=consul_mngr) # Upload csr and get an Id plugin_id = plugin_obj.upload_csr(csr) crt = plugin_obj.download_crt(id=str(plugin_id)) # Download the certificate and update nginx with it if crt: try: js_crt = json.loads(crt) cert = js_crt['crt'] cert = cert+js_crt['chain'] if 'chain' in js_crt else cert key = js_crt['key'] if 'key' in js_crt else key except: cert = crt consul_mngr.set_certificate(name, cert, key) strg.store_le_certificate(name, domain) else: raise Exception('Could not download certificate')
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 setUp(self): self.master_token = "rpaas-test" os.environ.setdefault("RPAAS_SERVICE_NAME", "test-suite-rpaas") os.environ.setdefault("CONSUL_HOST", "127.0.0.1") os.environ.setdefault("CONSUL_TOKEN", self.master_token) self.consul = consul.Consul(token=self.master_token) self.consul.kv.delete("test-suite-rpaas", recurse=True) self._remove_tokens() self.manager = consul_manager.ConsulManager()
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 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.redis_client = app.backend.client self.hc = hc.Dumb() self.storage = storage.MongoDBStorage(config) 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/"))
def setUp(self): self.master_token = "rpaas-test" os.environ.setdefault("RPAAS_SERVICE_NAME", "rpaas-acl") os.environ.setdefault("CONSUL_HOST", "127.0.0.1") os.environ.setdefault("CONSUL_TOKEN", self.master_token) self.consul = consul.Consul(token=self.master_token) self.consul.kv.delete("rpaas-acl", recurse=True) self.storage = consul_manager.ConsulManager(os.environ) self.redis_conn = redis.StrictRedis() self.redis_conn.flushall() self.lock_manager = lock.Lock(self.redis_conn) self.lock_name = "acl_manager:rpaas-acl" self.config = { "ACL_API_HOST": "http://aclapihost", "ACL_API_USER": "******", "ACL_API_PASSWORD": "******", "RPAAS_SERVICE_NAME": "rpaas-acl" }
def setUp(self): self.master_token = "rpaas-test" self.config = { "CONSUL_HOST": "127.0.0.1", "CONSUL_TOKEN": self.master_token, "MONGO_DATABASE": "session_resumption_test", "RPAAS_SERVICE_NAME": "test_rpaas_session_resumption", "HOST_MANAGER": "fake", "SESSION_RESUMPTION_RUN_INTERVAL": 2, u"CA_CERT": unicode(self.ca_cert), u"CA_KEY": unicode(self.ca_key) } self.consul = consul.Consul(token=self.master_token) self.consul.kv.delete("test_rpaas_session_resumption", recurse=True) self.storage = storage.MongoDBStorage(self.config) self.consul_manager = consul_manager.ConsulManager(self.config) colls = self.storage.db.collection_names(False) for coll in colls: self.storage.db.drop_collection(coll) redis.StrictRedis().flushall()