def _validate_network_profiles(self, hostname): node_profiles = self.get_network_profiles(hostname) utils.validate_list_items_unique(profiles) netprofconf = self.confman.get_network_profiles_config_handler() netprofiles = netprofconf.get_network_profiles() for profile in node_profiles: if profile not in netprofiles: raise configerror.ConfigError( 'Invalid network profile %s specified for host %s' % (profile, hostname))
def _validate_service_profiles(self, hostname): node_profiles = self.get_service_profiles(hostname) utils.validate_list_items_unique(node_profiles) service_profiles_lib = profiles.Profiles() serviceprofiles = service_profiles_lib.get_service_profiles() for profile in node_profiles: if profile not in serviceprofiles: raise configerror.ConfigError( 'Invalid service profile %s specified for host %s' % (profile, hostname))
def validate(self): hosts = [] try: hosts = self.get_hosts() except configerror.ConfigError: pass if hosts: utils.validate_list_items_unique(hosts) for host in hosts: self._validate_host(host)
def _validate_network_profile(self, profile): bondinginterfaces = None try: bondinginterfaces = self.get_profile_bonding_interfaces(profile) except configerror.ConfigError: pass if bondinginterfaces: utils.validate_list_items_unique(bondinginterfaces) for bond in bondinginterfaces: bondedinterfaces = self.get_profile_bonded_interfaces( profile, bond) utils.validate_list_items_unique(bondedinterfaces) if len(bondedinterfaces) < 2: raise configerror.ConfigError( 'Number of bonded interfaces should be at least 2 in %s' % bond) mappedinterfaces = self.get_profile_network_mapped_interfaces(profile) utils.validate_list_items_unique(mappedinterfaces) netconf = self.confman.get_networking_config_handler() validnetworks = netconf.get_networks() for interface in mappedinterfaces: networks = self.get_profile_interface_mapped_networks( profile, interface) utils.validate_list_items_unique(networks) for network in networks: if network not in validnetworks: raise configerror.ConfigError( 'Network %s is not valid' % network)
def _validate_storage_profiles(self, hostname): node_storage_profiles = [] try: node_storage_profiles = self.get_storage_profiles(hostname) except configerror.ConfigError: pass if node_storage_profiles: utils.validate_list_items_unique(node_storage_profiles) storageprofconf = self.confman.get_storage_profiles_config_handler( ) storageprofiles = storageprofconf.get_storage_profiles() for profile in node_storage_profiles: if profile not in storageprofiles: raise configerror.ConfigError( 'Invalid storage profile %s specific for %s' % (profile, hostname))
def _validate_performance_profiles(self, hostname): node_performance_profiles = [] try: node_performance_profiles = self.get_performance_profiles(hostname) except configerror.ConfigError: pass if node_performance_profiles: utils.validate_list_items_unique(node_performance_profiles) perfprofconf = self.confman.get_performance_profiles_config_handler( ) perfprofiles = perfprofconf.get_performance_profiles() for profile in node_performance_profiles: if profile not in perfprofiles: raise configerror.ConfigError( 'Invalid performance profile %s specified for host %s' % (profile, hostname))
def _validate_ntp_servers(self): servers = self.get_ntp_servers() utils.validate_list_items_unique(servers) for server in servers: utils.validate_ipv4_address(server)
def _validate_network_profiles(self): profiles = self.get_network_profiles() utils.validate_list_items_unique(profiles) for profile in profiles: self._validate_network_profile(profile)
def _validate_performance_profiles(self): profiles = self.get_performance_profiles() utils.validate_list_items_unique(profiles) for profile in profiles: self._validate_performance_profile(profile)