def run(self): """Run the kickstart application. :returns: names of devices to which kickstart was applied :rtype: list(str) """ applied_devices = [] if not self._network_data: log.debug("%s: No kickstart data.", self.name) return applied_devices if not self._nm_client: log.debug("%s: No NetworkManager available.", self.name) return applied_devices for network_data in self._network_data: # Wireless is not supported if network_data.essid: log.info( "%s: Wireless devices configuration is not supported.", self.name) continue device_name = get_device_name_from_network_data( self._nm_client, network_data, self._supported_devices, self._bootif) if not device_name: log.warning("%s: --device %s not found", self.name, network_data.device) continue ifcfg_file = get_ifcfg_file_of_device(self._nm_client, device_name) if ifcfg_file and ifcfg_file.is_from_kickstart: if network_data.activate: if ensure_active_connection_for_device( self._nm_client, ifcfg_file.uuid, device_name): applied_devices.append(device_name) continue # If there is no kickstart ifcfg from initramfs the command was added # in %pre section after switch root, so apply it now applied_devices.append(device_name) if ifcfg_file: # if the device was already configured in initramfs update the settings con_uuid = ifcfg_file.uuid log.debug( "%s: pre kickstart - updating settings %s of device %s", self.name, con_uuid, device_name) connection = self._nm_client.get_connection_by_uuid(con_uuid) update_connection_from_ksdata(self._nm_client, connection, network_data, device_name=device_name) if network_data.activate: device = self._nm_client.get_device_by_iface(device_name) self._nm_client.activate_connection_async( connection, device, None, None) log.debug( "%s: pre kickstart - activating connection %s with device %s", self.name, con_uuid, device_name) else: log.debug("%s: pre kickstart - adding connection for %s", self.name, device_name) add_connection_from_ksdata( self._nm_client, network_data, device_name, activate=network_data.activate, ifname_option_values=self._ifname_option_values) return applied_devices
def run(self): """Run the kickstart application. :returns: names of devices to which kickstart was applied :rtype: list(str) """ applied_devices = [] if not self._network_data: log.debug("%s: No kickstart data.", self.name) return applied_devices if not self._nm_client: log.debug("%s: No NetworkManager available.", self.name) return applied_devices for network_data in self._network_data: # Wireless is not supported if network_data.essid: log.info( "%s: Wireless devices configuration is not supported.", self.name) continue device_name = get_device_name_from_network_data( self._nm_client, network_data, self._supported_devices, self._bootif) if not device_name: log.warning("%s: --device %s not found", self.name, network_data.device) continue applied_devices.append(device_name) connection = self._find_initramfs_connection_of_iface(device_name) if connection: # if the device was already configured in initramfs update the settings log.debug("%s: updating connection %s of device %s", self.name, connection.get_uuid(), device_name) update_connection_from_ksdata( self._nm_client, connection, network_data, device_name, ifname_option_values=self._ifname_option_values) if network_data.activate: device = self._nm_client.get_device_by_iface(device_name) self._nm_client.activate_connection_async( connection, device, None, None) log.debug( "%s: activating updated connection %s with device %s", self.name, connection.get_uuid(), device_name) else: log.debug("%s: adding connection for %s", self.name, device_name) add_connection_from_ksdata( self._nm_client, network_data, device_name, activate=network_data.activate, ifname_option_values=self._ifname_option_values) return applied_devices
def apply_kickstart(self): """Apply kickstart configuration which has not already been applied. * Activate configurations created in initramfs if --activate is True. * Create configurations for %pre kickstart commands and activate eventually. :returns: list of devices to which kickstart configuration was applied """ applied_devices = [] if not self._original_network_data: log.debug("No kickstart data to apply.") return [] for network_data in self._original_network_data: # Wireless is not supported if network_data.essid: log.info("Wireless devices configuration is not supported.") continue supported_devices = self.get_supported_devices() device_name = get_device_name_from_network_data( self.nm_client, network_data, supported_devices, self._bootif) if not device_name: log.warning("apply kickstart: --device %s not found", network_data.device) continue ifcfg_file = get_ifcfg_file_of_device(self.nm_client, device_name) if ifcfg_file and ifcfg_file.is_from_kickstart: if network_data.activate: if ensure_active_connection_for_device( self.nm_client, ifcfg_file.uuid, device_name): applied_devices.append(device_name) continue # If there is no kickstart ifcfg from initramfs the command was added # in %pre section after switch root, so apply it now applied_devices.append(device_name) if ifcfg_file: # if the device was already configured in initramfs update the settings con_uuid = ifcfg_file.uuid log.debug("pre kickstart - updating settings %s of device %s", con_uuid, device_name) connection = self.nm_client.get_connection_by_uuid(con_uuid) update_connection_from_ksdata(self.nm_client, connection, network_data, device_name=device_name) if network_data.activate: device = self.nm_client.get_device_by_iface(device_name) self.nm_client.activate_connection_async( connection, device, None, None) log.debug( "pre kickstart - activating connection %s with device %s", con_uuid, device_name) else: log.debug("pre kickstart - adding connection for %s", device_name) add_connection_from_ksdata(self.nm_client, network_data, device_name, activate=network_data.activate) return applied_devices
def run(self): """Run the kickstart application. :returns: names of devices to which kickstart was applied :rtype: list(str) """ applied_devices = [] if not self._network_data: log.debug("%s: No kickstart data.", self.name) return applied_devices if not self._nm_client: log.debug("%s: No NetworkManager available.", self.name) return applied_devices for network_data in self._network_data: # Wireless is not supported if network_data.essid: log.info("%s: Wireless devices configuration is not supported.", self.name) continue device_name = get_device_name_from_network_data(self._nm_client, network_data, self._supported_devices, self._bootif) if not device_name: log.warning("%s: --device %s not found", self.name, network_data.device) continue ifcfg_file = get_ifcfg_file_of_device(self._nm_client, device_name) if ifcfg_file and ifcfg_file.is_from_kickstart: if network_data.activate: if ensure_active_connection_for_device(self._nm_client, ifcfg_file.uuid, device_name): applied_devices.append(device_name) continue # If there is no kickstart ifcfg from initramfs the command was added # in %pre section after switch root, so apply it now applied_devices.append(device_name) if ifcfg_file: # if the device was already configured in initramfs update the settings con_uuid = ifcfg_file.uuid log.debug("%s: pre kickstart - updating settings %s of device %s", self.name, con_uuid, device_name) connection = self._nm_client.get_connection_by_uuid(con_uuid) update_connection_from_ksdata(self._nm_client, connection, network_data, device_name=device_name) if network_data.activate: device = self._nm_client.get_device_by_iface(device_name) self._nm_client.activate_connection_async(connection, device, None, None) log.debug("%s: pre kickstart - activating connection %s with device %s", self.name, con_uuid, device_name) else: log.debug("%s: pre kickstart - adding connection for %s", self.name, device_name) add_connection_from_ksdata(self._nm_client, network_data, device_name, activate=network_data.activate, ifname_option_values=self._ifname_option_values) return applied_devices