CAAS_CONFIG_FILE_PATH = "/etc/cmframework/config/"
CAAS_CONFIG_FILE = "caas.yaml"
DEFAULT_CAAS_DNS_DOMAIN = "rec.io"
+VNF_EMBEDDED_SOFT_EVICTION_TRESHOLD = "300Mi"
+BM_SOFT_EVICTION_TRESHOLD = "4Gi"
+VNF_EMBEDDED_HARD_EVICTION_TRESHOLD = "200Mi"
+BM_HARD_EVICTION_TRESHOLD = "2Gi"
class Config(config.Config):
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_TRESHOLD
+ else:
+ return BM_SOFT_EVICTION_TRESHOLD
+
+ def get_caas_hard_eviction_threshold(self):
+ if self.is_vnf_embedded_deployment():
+ return VNF_EMBEDDED_HARD_EVICTION_TRESHOLD
+ else:
+ return BM_HARD_EVICTION_TRESHOLD
+
from cmdatahandlers.api import utils
from serviceprofiles import profiles
+VNF_EMBEDDED_RESERVED_MEMORY = "512Mi"
+DUAL_VIM_CONTROLLER_RESERVED_MEMORY = "64Gi"
+DUAL_VIM_DEFAULT_RESERVED_MEMORY = "32Gi"
+MIDDLEWARE_RESERVED_MEMORY = "12Gi"
class Config(config.Config):
def __init__(self, confman):
osd_disks = filter(lambda disk: disk.get('osd_disk', False), caas_disks)
return map(lambda disk: _get_path_for_virtio_id(disk), osd_disks)
+ def get_system_reserved_memory(self, hostname):
+ caasconf = self.confman.get_caas_config_handler()
+ if caasconf.is_vnf_embedded_deployment():
+ return VNF_EMBEDDED_RESERVED_MEMORY
+
+ profiles = self.get_service_profiles(hostname)
+ if 'controller' in profiles:
+ return DUAL_VIM_CONTROLLER_RESERVED_MEMORY
+ if 'compute' in profiles:
+ return DUAL_VIM_DEFAULT_RESERVED_MEMORY
+
+ return self.config.get(self.ROOT, {}).get('middleware_reserved_memory',
+ MIDDLEWARE_RESERVED_MEMORY)
+
+ def set_default_reserved_memory_to_all_hosts(self, def_memory):
+ self.get_hosts()
+ for host in hosts:
+ self.config[self.ROOT][host]['middleware_reserved_memory'] = def_memory
+
def _get_path_for_virtio_id(disk):
disk_id = disk.get('id', '')
if disk_id:
return "/dev/disk/by-id/virtio-{}".format(disk_id[:20])
+
+
ips.append(hostvars[node]['ansible_host'])
hostvars[node]['ssl_alt_name']['ip'] = ips
+ caasconf = self.confman.get_caas_config_handler()
+ hostvars[node]['system_reserved_memory'] = hostsconf.get_system_reserved_memory(node)
+ hostvars[node]['caas_soft_eviction_threshold'] = caasconf.get_caas_soft_eviction_threshold()
+ hostvars[node]['caas_hard_eviction_threshold'] = caasconf.get_caas_hard_eviction_threshold()
+
def set_caas_master_data(self, hostvars, node, caasconf, hostsconf):
dns = hostvars[node]['ssl_alt_name']['dns']
dns.append(caasconf.get_kubernetes_domain())