prepare_non_transactional_environment($self)
Do preparation on non-transactional server.
config_guest_memory($self [, guest_memory => 'memory'] [, guest_memballoon => 'memballoon']
[, guest_memdev => 'memdev'] [, guest_memtune => 'memtune'] [, guest_memorybacking => 'memorybacking'])
Configure [guest_memory_options]. User can still change [guest_memory],[guest_memballoon], [guest_memdev], [guest_memtune] and [guest_memorybacking] by passing non-empty arguments using hash. If installation already passes, modify_guest_params will be called to modify [guest_memory], [guest_memballoon], [guest_memdev], [guest_memtune] and [guest_memorybacking] using already modified [guest_memory_options].
config_guest_security($self [, guest_seclabel => 'seclabel'] [, guest_launchsecurity => 'launchsecurity'])
Configure [guest_security_options]. User can still change [guest_security] and [guest_launchsecurity] by passing non-empty arguments using hash. If installation already passes, modify_guest_params will be called to modify guest_security] and [guest_launchsecurity] using already modified [guest_security_options].
config_guest_controller($self [, guest_controller => 'controller'])
Configure [guest_controller_options]. User can still change [guest_controller] by passing non-empty arguments using hash. [guest_controller] can have more than one type controller which should be separated by hash symbol, for example, "controller1 _config#controller2_config#controller3_config". Then it will be splitted and passed to individual "--controller" argument to form [guest_controller_options] = "--controller controller1_config --controller controller2_config --controller controller3_config". If installation already passes, modify_guest_params will be called to modify [guest_controller] using already modified [guest_controller_options].
config_guest_rng($self [, guest_rng => 'rng'])
Configure [guest_rng_options]. User can still change [guest_rng] by passing non-empty arguments using hash. If installations already passes, modify_guest_params will be called to modify [guest_rng] using already modified [guest_rng_options].
write_guest_network_bridge_device_config($self, _name => $_name [,
_ipaddr => $_ipaddr, _bootproto => $_bootproto, _startmode => $_startmode,
_zone => $_zone, _bridge_type => $_bridge_type, _bridge_ports => $_bridge_ports,
_bridge_stp => $_bridge_stp, _bridge_forwarddelay => $_bridge_forwarddelay])
Write network device settings to conventional /etc/sysconfig/network/ifcfg-* or /etc/NetworkManager/system-connections/*.nmconnection depends on whether system network is managed by NetworkManager or not. The supported arguments are listed out as below: $_ipaddr: IP address/mask length pair of the interface $_name: Identifier of the interface $_bootproto: DHCP automatic or manual configuration, 'static', 'dhcp' or 'none' $_startmode: Auto start up or connection: 'auto', 'manual' or 'off' $_zone: The trust level of this network connection $_bridge_type: 'master' or 'slave' to indicate master or slave interface $_bridge_port: Specify interface's master or slave interface name $_bridge_stp: 'on' or 'off' to turn stp on or off $_bridge_forwarddelay: The stp forwarding delay in seconds If $_ipaddr given is empty, it means there is no associated specific ip address to this interface which might be attached to another bridge interface or will not be assigned one ip address from dhcp, so set $_ipaddr to '0.0.0.0'.If $_ipaddr given is non-empty but not in ip address format,for example, 'host-default',it means the interface will not use a ip address from pre-defined subnet and will automically accept dhcp ip address from public facing host network.
write_guest_network_bridge_device_ifcfg($self, _name => $_name [,
_ipaddr => $_ipaddr, _name => $_name, _bootproto => $_bootproto,
_startmode => $_startmode, _zone => $_zone, _bridge_type => $_bridge_type,
_bridge_ports => $_bridge_ports, _bridge_stp => $_bridge_stp,
_bridge_forwarddelay => $_bridge_forwarddelay])
Write bridge device config file to /etc/sysconfig/network/ifcfg-*. Please refer to https://github.com/openSUSE/sysconfig/blob/master/config/ifcfg.template for config file content.
write_guest_network_bridge_device_nmconnection($self, _name => $_name [,
_ipaddr => $_ipaddr, _name => $_name, _bootproto => $_bootproto,
_startmode => $_startmode, _zone => $_zone, _bridge_type => $_bridge_type,
_bridge_ports => $_bridge_ports, _bridge_stp => $_bridge_stp,
_bridge_forwarddelay => $_bridge_forwarddelay])
Write bridge device config file to /etc/NetworkManager/system-connections/*. NM settings are a little bit different from ifcfg settings, but there are definite mapping between them. So translation from well-known and default ifcfg settings to NM settings is necessary. Please refer to nm-settings explanation as below: https://developer-old.gnome.org/NetworkManager/stable/nm-settings-keyfile.html
activate_guest_network_bridge_device($self, _bridge_name => $_bridge_name)
Activate guest network bridge device by using wicked or NetworkManager depends on system configuration. And also validate whether activation is successful or not.
schedule_tasks_on_boot($self, _task => $task)
Schedule tasks to be executed on system boot up, please refer to these documents: https://docs.oracle.com/en/learn/oracle-linux-crontab/ for using crontab utility and https://linuxconfig.org/how-to-schedule-tasks-with-systemd-timers-in-linux for for using systemd service and timer. In order to schedule a task successfully, the _task argument should not be empty.
schedule_tasks_on_boot_crontab($self, _task => $task)
Schedule tasks on system boot up by using crontab utility.
schedule_tasks_on_boot_systemd($self, _task => $task)
Schedule tasks on system boot up by using systemd service and timer.