cidr = netconf.get_network_cidr(hwmgmtnet, domain)
utils.validate_ip_in_network(ip, cidr)
+ def get_hwmgmt_priv_level(self, hostname):
+ """get the hwmgmt IPMI privilege level. Defaults to ADMINISTRATOR
+
+ Arguments:
+
+ hostname: The name of the node
+
+ Return:
+
+ The prvilege level, or ADMINISTRATOR if unspecified
+
+ Raise:
+
+ ConfigError in-case of an error
+ """
+ self._validate_hostname(hostname)
+
+ if 'hwmgmt' not in self.config[self.ROOT][hostname]:
+ raise configerror.ConfigError('No hwmgmt info defined for host')
+
+ return self.config[self.ROOT][hostname]['hwmgmt'].get('priv_level', 'ADMINISTRATOR')
+
def _validate_service_profiles(self, hostname):
node_profiles = self.get_service_profiles(hostname)
utils.validate_list_items_unique(node_profiles)
return service_profiles[0]
+ def set_nodeindex(self):
+ hostsconf = self.confman.get_hosts_config_handler()
+ install_host = utils.get_installation_host_name(hostsconf)
+ self.config[self.ROOT][install_host]['caas_nodeindex'] = 1
+
+ masters = self.get_service_profile_hosts('caas_master')
+ masters.remove(install_host)
+ self._set_nodeindexes(masters, 2)
+ self._set_nodeindexes(self.get_service_profile_hosts('caas_worker'), 1)
+
+ def _set_nodeindexes(self, hosts, base_index):
+ index = base_index
+ for host in hosts:
+ self.config[self.ROOT][host]['caas_nodeindex'] = index
+ index += 1
+
def get_nodeindex(self, hostname):
- return re.search(r'[-_](\d+)$', hostname).group(1)
+ return self.config[self.ROOT][hostname]['caas_nodeindex']
def get_nodename(self, hostname):
return "{}{}".format(self.get_nodetype(hostname), self.get_nodeindex(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',
+ 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:
+ for host in self.get_hosts():
self.config[self.ROOT][host]['middleware_reserved_memory'] = def_memory
+ def set_default_ipmi_priv_level_to_all_hosts(self, def_priv):
+ for host in self.get_hosts():
+ if 'hwmgmt' not in self.config[self.ROOT][host]:
+ self.config[self.ROOT][host]['hwmgmt'] = {'priv_level': def_priv}
+ elif 'priv_level' not in self.config[self.ROOT][host]['hwmgmt']:
+ self.config[self.ROOT][host]['hwmgmt']['priv_level'] = def_priv
+
def _get_path_for_virtio_id(disk):
disk_id = disk.get('id', '')