Error correction, some refactoring
[ta/config-manager.git] / cmdatahandlers / src / cmdatahandlers / caas / config.py
index e897558..9b70047 100644 (file)
@@ -22,6 +22,11 @@ import jinja2
 CAAS_CONFIG_FILE_PATH = "/etc/cmframework/config/"
 CAAS_CONFIG_FILE = "caas.yaml"
 DEFAULT_CAAS_DNS_DOMAIN = "rec.io"
+VNF_EMBEDDED_SOFT_EVICTION_THRESHOLD = "300Mi"
+BM_SOFT_EVICTION_THRESHOLD = "4Gi"
+VNF_EMBEDDED_HARD_EVICTION_THRESHOLD = "200Mi"
+BM_HARD_EVICTION_THRESHOLD = "2Gi"
+DEFAULT_CAAS_INFRA_LOG_TYPE = 'remote_syslog'
 
 
 class Config(config.Config):
@@ -54,10 +59,14 @@ class Config(config.Config):
         if utils.is_virtualized():
             self.config[self.ROOT]['vnf_embedded_deployment'] = self.get_vnf_flag()
         user_conf = self.confman.get_users_config_handler()
-        self.config[self.ROOT]['helm_home'] = "/home/" + user_conf.get_admin_user() + "/.helm"
-        self.config[self.ROOT]['flavour'] = self.flavour_set()
-        if not self.config[self.ROOT].get('dns_domain', ""):
-            self.config[self.ROOT]['dns_domain'] = DEFAULT_CAAS_DNS_DOMAIN
+        self.set_caas_parameter('helm_home', "/home/{}/.helm".format(user_conf.get_admin_user()))
+        self.set_caas_parameter('flavour', self.flavour_set())
+        if not self.get_caas_parameter('dns_domain'):
+            self.set_caas_parameter('dns_domain', DEFAULT_CAAS_DNS_DOMAIN)
+        if not self.get_caas_parameter('infra_log_store'):
+            self.set_caas_parameter('infra_log_store', DEFAULT_CAAS_INFRA_LOG_TYPE)
+        if not self.get_caas_parameter('log_forwarding'):
+            self.set_caas_parameter('log_forwarding', [])
 
     def set_static_config(self):
         try:
@@ -73,17 +82,18 @@ class Config(config.Config):
         except Exception:
             raise configerror.ConfigError("Unexpected issue occured!")
 
-    def _template_config(self, template, base_config, initial_data):
+    @staticmethod
+    def _template_config(template, base_config, initial_data):
         config_data = initial_data.copy()
         config_data.update(base_config)
-        outputText = template.render(config_data)
-        previousOutputText = ""
-        while outputText != previousOutputText:
-            config_data = yaml.load(outputText)
+        output_text = template.render(config_data)
+        previous_output_text = ""
+        while output_text != previous_output_text:
+            config_data = yaml.load(output_text)
             config_data.update(base_config)
-            outputText = template.render(config_data)
-            previousOutputText = outputText
-        return yaml.load(outputText)
+            output_text = template.render(config_data)
+            previous_output_text = output_text
+        return yaml.load(output_text)
 
     def add_defaults(self):
         if not self.config.get('cloud.caas', ''):
@@ -92,7 +102,7 @@ class Config(config.Config):
         self.set_static_config()
 
     def is_vnf_embedded_deployment(self):
-        return (self.get_caas_only() and self.get_vnf_flag())
+        return self.get_caas_only() and self.get_vnf_flag()
 
     def get_vnf_flag(self):
         return bool(self.config.get(self.ROOT, {}).get('vnf_embedded_deployment',
@@ -155,6 +165,21 @@ class Config(config.Config):
     def get_caas_parameter(self, parameter):
         return self.config.get(self.ROOT, {}).get(parameter, '')
 
+    def set_caas_parameter(self, parameter, value):
+        self.config[self.ROOT][parameter] = value
+
     def get_kubernetes_domain(self):
         return 'kubernetes.default.svc.{}'.format(
             self.config.get(self.ROOT, {}).get('dns_domain', ''))
+
+    def get_caas_soft_eviction_threshold(self):
+        if self.is_vnf_embedded_deployment():
+            return VNF_EMBEDDED_SOFT_EVICTION_THRESHOLD
+        else:
+            return BM_SOFT_EVICTION_THRESHOLD
+
+    def get_caas_hard_eviction_threshold(self):
+        if self.is_vnf_embedded_deployment():
+            return VNF_EMBEDDED_HARD_EVICTION_THRESHOLD
+        else:
+            return BM_HARD_EVICTION_THRESHOLD