Activates the host for use, for example to run virtual machines.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the activation should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34708 def activate(opts = {}) internal_action(:activate, nil, ACTIVATE, opts) end
List of scheduling labels assigned to this host.
@return [AssignedAffinityLabelsService] A reference to `affinity_labels` service.
# File lib/ovirtsdk4/services.rb, line 35807 def affinity_labels_service @affinity_labels_service ||= AssignedAffinityLabelsService.new(self, 'affinitylabels') end
Approve a pre-installed Hypervisor host for usage in the virtualization environment.
This action also accepts an optional cluster element to define the target cluster for this host.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the approval should be performed asynchronously.
@option opts [Cluster] :cluster The cluster where the host will be added after it is approved.
@option opts [Host] :host The host to approve.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34742 def approve(opts = {}) internal_action(:approve, nil, APPROVE, opts) end
Approve the specified host to be added to the engine by using the root password (deprecated verb). This occurs when the host registers itself with the engine.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the approval should be performed asynchronously.
@option opts [Cluster] :cluster The cluster where the host will be added after it is approved.
@option opts [Host] :host The host to approve.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35607 def approve_using_root_password(opts = {}) internal_action(:approve, nil, APPROVE_USING_ROOT_PASSWORD, opts) end
Approve the specified host to be added to the engine by using ssh authentication. This occurs when the host registers itself with the engine.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the approval should be performed asynchronously.
@option opts [Cluster] :cluster The cluster where the host will be added after it is approved.
@option opts [Host] :host The host to approve.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35719 def approve_using_ssh(opts = {}) internal_action(:approve, nil, APPROVE_USING_SSH, opts) end
Marks the network configuration as good and persists it inside the host.
An API user commits the network configuration to persist a host network interface attachment or detachment, or persist the creation and deletion of a bonded interface.
IMPORTANT: Networking configuration is only committed after the engine has established that host connectivity is not lost as a result of the configuration changes. If host connectivity is lost, the host requires a reboot and automatically reverts to the previous networking configuration.
For example, to commit the network configuration of host with id `123` send a request like this:
POST /ovirt-engine/api/hosts/123/commitnetconfig
With a request body like this:
<action/>
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the action should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34789 def commit_net_config(opts = {}) internal_action(:commitnetconfig, nil, COMMIT_NET_CONFIG, opts) end
Deactivates the host to perform maintenance tasks.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the deactivation should be performed asynchronously.
@option opts [String] :reason
@option opts [Boolean] :stop_gluster_service Indicates if the gluster service should be stopped as part of deactivating the host. It can be used while
performing maintenance operations on the gluster host. Default value for this variable is `false`.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34822 def deactivate(opts = {}) internal_action(:deactivate, nil, DEACTIVATE, opts) end
A reference to the host devices service. Use this service to view the devices of the host object.
@return [HostDevicesService] A reference to `devices` service.
# File lib/ovirtsdk4/services.rb, line 35816 def devices_service @devices_service ||= HostDevicesService.new(self, 'devices') end
Enrolls the certificate of the host. Useful in case you get a warning that it is about to expire or has already expired.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the enrollment should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34849 def enroll_certificate(opts = {}) internal_action(:enrollcertificate, nil, ENROLL_CERTIFICATE, opts) end
External network providers provisioned by the system on the host.
@return [ExternalNetworkProviderConfigurationsService] A reference to `external_network_provider_configurations` service.
# File lib/ovirtsdk4/services.rb, line 35825 def external_network_provider_configurations_service @external_network_provider_configurations_service ||= ExternalNetworkProviderConfigurationsService.new(self, 'externalnetworkproviderconfigurations') end
Controls the host's power management device.
For example, to start the host. This can be done via:
#!/bin/sh -ex
url=“engine.example.com/ovirt-engine/api” user=“admin@internal” password=“…”
curl \ –verbose \ –cacert /etc/pki/ovirt-engine/ca.pem \ –user “${user}:${password}” \ –request POST \ –header “Version: 4” \ –header “Content-Type: application/xml” \ –header “Accept: application/xml” \ –data ' <action>
<fence_type>start</fence_type>
</action> ' \ “${url}/hosts/123/fence”
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the fencing should be performed asynchronously.
@option opts [String] :fence_type
@option opts [PowerManagement] :power_management
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34906 def fence(opts = {}) internal_action(:fence, :power_management, FENCE, opts) end
A reference to the fence agents service. Use this service to manage fence and power management agents on the host object.
@return [FenceAgentsService] A reference to `fence_agents` service.
# File lib/ovirtsdk4/services.rb, line 35835 def fence_agents_service @fence_agents_service ||= FenceAgentsService.new(self, 'fenceagents') end
To manually set a host as the storage pool manager (SPM).
POST /ovirt-engine/api/hosts/123/forceselectspm
With a request body like this:
<action/>
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the action should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34944 def force_select_spm(opts = {}) internal_action(:forceselectspm, nil, FORCE_SELECT_SPM, opts) end
Gets the host details.
GET /ovirt-engine/api/hosts/123
@param opts [Hash] Additional options.
@option opts [Boolean] :all_content Indicates if all of the attributes of the host should be included in the response.
By default the following attributes are excluded: - %xhosted_engine` For example, to retrieve the complete representation of host '123': .... GET /ovirt-engine/api/hosts/123?all_content=true .... NOTE: These attributes are not included by default because retrieving them impacts performance. They are seldom used and require additional queries to the database. Use this parameter with caution and only when specifically required.
@option opts [Boolean] :filter Indicates if the results should be filtered according to the permissions of the user.
@option opts [String] :follow Indicates which inner links should be followed. The objects referenced by these links will be fetched as part
of the current request. See <<documents/003_common_concepts/follow, here>> for details.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
@return [Host]
# File lib/ovirtsdk4/services.rb, line 34998 def get(opts = {}) internal_get(GET, opts) end
A reference to the host hooks service. Use this service to view the hooks available in the host object.
@return [HostHooksService] A reference to `hooks` service.
# File lib/ovirtsdk4/services.rb, line 35844 def hooks_service @hooks_service ||= HostHooksService.new(self, 'hooks') end
Installs VDSM and related software on the host. The host type defines additional parameters for the action.
Example of installing a host, using `curl` and JSON, plain:
curl \ –verbose \ –cacert /etc/pki/ovirt-engine/ca.pem \ –request PUT \ –header “Content-Type: application/json” \ –header “Accept: application/json” \ –header “Version: 4” \ –user “admin@internal:…” \ –data ' {
"root_password": "myrootpassword"
} ' \ “engine.example.com/ovirt-engine/api/hosts/123”
Example of installing a host, using `curl` and JSON, with hosted engine components:
curl \ curl \ –verbose \ –cacert /etc/pki/ovirt-engine/ca.pem \ –request PUT \ –header “Content-Type: application/json” \ –header “Accept: application/json” \ –header “Version: 4” \ –user “admin@internal:…” \ –data ' {
"root_password": "myrootpassword"
} ' \ “engine.example.com/ovirt-engine/api/hosts/123?deploy_hosted_engine=true”
IMPORTANT: Since version 4.1.2 of the engine when a host is reinstalled we override the host firewall definitions by default.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the installation should be performed asynchronously.
@option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should also deploy the self-hosted engine components. A missing value
is treated as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
@option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the
default one.
@option opts [String] :image When installing an {product-name} node a image ISO file is required.
@option opts [String] :root_password The password of of the `root` user, used to connect to the host via SSH.
@option opts [Ssh] :ssh The SSH details used to connect to the host.
@option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy the self-hosted engine components and this host will
not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35091 def install(opts = {}) internal_action(:install, nil, INSTALL, opts) end
Install VDSM and other packages required to get the host ready to be used in the engine providing the root password. This has been deprecated.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the installation should be performed asynchronously.
@option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should also deploy the self-hosted engine components. A missing value
is treated as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
@option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the
default one.
@option opts [String] :image When installing an {product-name} node a image ISO file is required.
@option opts [String] :root_password The password of of the `root` user, used to connect to the host via SSH.
@option opts [Ssh] :ssh The SSH details used to connect to the host.
@option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy the self-hosted engine components and this host will
not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35657 def install_using_root_password(opts = {}) internal_action(:install, nil, INSTALL_USING_ROOT_PASSWORD, opts) end
Install VDSM and other packages required to get the host ready to be used in the engine providing the SSH password.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the installation should be performed asynchronously.
@option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should also deploy the self-hosted engine components. A missing value
is treated as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
@option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the
default one.
@option opts [String] :image When installing an {product-name} node a image ISO file is required.
@option opts [String] :root_password The password of of the `root` user, used to connect to the host via SSH.
@option opts [Ssh] :ssh The SSH details used to connect to the host.
@option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy the self-hosted engine components and this host will
not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy Omitting this parameter means `false` and will perform no operation in the self-hosted engine area.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35769 def install_using_ssh(opts = {}) internal_action(:install, nil, INSTALL_USING_SSH, opts) end
Discovers iSCSI targets on the host, using the initiator details.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.
@option opts [IscsiDetails] :iscsi The target iSCSI device.
@option opts [Array<String>] :iscsi_targets The iSCSI targets.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35122 def iscsi_discover(opts = {}) internal_action(:iscsidiscover, :iscsi_targets, ISCSI_DISCOVER, opts) end
Login to iSCSI targets on the host, using the target details.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the login should be performed asynchronously.
@option opts [IscsiDetails] :iscsi The target iSCSI device.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35151 def iscsi_login(opts = {}) internal_action(:iscsilogin, nil, ISCSI_LOGIN, opts) end
A reference to the service that can show the applicable errata available on the host. This information is taken from Katello.
@return [KatelloErrataService] A reference to `katello_errata` service.
# File lib/ovirtsdk4/services.rb, line 35854 def katello_errata_service @katello_errata_service ||= KatelloErrataService.new(self, 'katelloerrata') end
A reference to the network attachments service. You can use this service to attach Logical networks to host interfaces.
@return [NetworkAttachmentsService] A reference to `network_attachments` service.
# File lib/ovirtsdk4/services.rb, line 35864 def network_attachments_service @network_attachments_service ||= NetworkAttachmentsService.new(self, 'networkattachments') end
A reference to the service that manages the network interface devices on the host.
@return [HostNicsService] A reference to `nics` service.
# File lib/ovirtsdk4/services.rb, line 35873 def nics_service @nics_service ||= HostNicsService.new(self, 'nics') end
A reference to the service that manage NUMA nodes for the host.
@return [HostNumaNodesService] A reference to `numa_nodes` service.
# File lib/ovirtsdk4/services.rb, line 35882 def numa_nodes_service @numa_nodes_service ||= HostNumaNodesService.new(self, 'numanodes') end
A reference to the host permission service. Use this service to manage permissions on the host object.
@return [AssignedPermissionsService] A reference to `permissions` service.
# File lib/ovirtsdk4/services.rb, line 35892 def permissions_service @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end
Refresh the host devices and capabilities.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the refresh should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35177 def refresh(opts = {}) internal_action(:refresh, nil, REFRESH, opts) end
Remove the host from the system.
#!/bin/sh -ex
url=“engine.example.com/ovirt-engine/api” user=“admin@internal” password=“…”
curl \ –verbose \ –cacert /etc/pki/ovirt-engine/ca.pem \ –user “${user}:${password}” \ –request DELETE \ –header “Version: 4” \ “${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc”
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the remove should be performed asynchronously. @option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35219 def remove(opts = {}) internal_remove(REMOVE, opts) end
Locates the service corresponding to the given path.
@param path [String] The path of the service.
@return [Service] A reference to the service.
# File lib/ovirtsdk4/services.rb, line 35948 def service(path) if path.nil? || path == '' return self end if path == 'affinitylabels' return affinity_labels_service end if path.start_with?('affinitylabels/') return affinity_labels_service.service(path[15..-1]) end if path == 'devices' return devices_service end if path.start_with?('devices/') return devices_service.service(path[8..-1]) end if path == 'externalnetworkproviderconfigurations' return external_network_provider_configurations_service end if path.start_with?('externalnetworkproviderconfigurations/') return external_network_provider_configurations_service.service(path[38..-1]) end if path == 'fenceagents' return fence_agents_service end if path.start_with?('fenceagents/') return fence_agents_service.service(path[12..-1]) end if path == 'hooks' return hooks_service end if path.start_with?('hooks/') return hooks_service.service(path[6..-1]) end if path == 'katelloerrata' return katello_errata_service end if path.start_with?('katelloerrata/') return katello_errata_service.service(path[14..-1]) end if path == 'networkattachments' return network_attachments_service end if path.start_with?('networkattachments/') return network_attachments_service.service(path[19..-1]) end if path == 'nics' return nics_service end if path.start_with?('nics/') return nics_service.service(path[5..-1]) end if path == 'numanodes' return numa_nodes_service end if path.start_with?('numanodes/') return numa_nodes_service.service(path[10..-1]) end if path == 'permissions' return permissions_service end if path.start_with?('permissions/') return permissions_service.service(path[12..-1]) end if path == 'statistics' return statistics_service end if path.start_with?('statistics/') return statistics_service.service(path[11..-1]) end if path == 'storage' return storage_service end if path.start_with?('storage/') return storage_service.service(path[8..-1]) end if path == 'storageconnectionextensions' return storage_connection_extensions_service end if path.start_with?('storageconnectionextensions/') return storage_connection_extensions_service.service(path[28..-1]) end if path == 'tags' return tags_service end if path.start_with?('tags/') return tags_service.service(path[5..-1]) end if path == 'unmanagednetworks' return unmanaged_networks_service end if path.start_with?('unmanagednetworks/') return unmanaged_networks_service.service(path[18..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end
This method is used to change the configuration of the network interfaces of a host.
For example, if you have a host with three network interfaces `eth0`, `eth1` and `eth2` and you want to configure a new bond using `eth0` and `eth1`, and put a VLAN on top of it. Using a simple shell script and the `curl` command line HTTP client that can be done as follows:
#!/bin/sh -ex
url=“engine.example.com/ovirt-engine/api” user=“admin@internal” password=“…”
curl \ –verbose \ –cacert /etc/pki/ovirt-engine/ca.pem \ –user “${user}:${password}” \ –request POST \ –header “Version: 4” \ –header “Content-Type: application/xml” \ –header “Accept: application/xml” \ –data ' <action>
<modified_bonds> <host_nic> <name>bond0</name> <bonding> <options> <option> <name>mode</name> <value>4</value> </option> <option> <name>miimon</name> <value>100</value> </option> </options> <slaves> <host_nic> <name>eth1</name> </host_nic> <host_nic> <name>eth2</name> </host_nic> </slaves> </bonding> </host_nic> </modified_bonds> <modified_network_attachments> <network_attachment> <network> <name>myvlan</name> </network> <host_nic> <name>bond0</name> </host_nic> <ip_address_assignments> <assignment_method>static</assignment_method> <ip_address_assignment> <ip> <address>192.168.122.10</address> <netmask>255.255.255.0</netmask> </ip> </ip_address_assignment> </ip_address_assignments> <dns_resolver_configuration> <name_servers> <name_server>1.1.1.1</name_server> <name_server>2.2.2.2</name_server> </name_servers> </dns_resolver_configuration> </network_attachment> </modified_network_attachments> </action>
' \ “${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc/setupnetworks”
NOTE: This is valid for version 4 of the API. In previous versions some elements were represented as XML attributes instead of XML elements. In particular the `options` and `ip` elements were represented as follows:
<options name=“mode” value=“4”/> <options name=“miimon” value=“100”/> <ip address=“192.168.122.10” netmask=“255.255.255.0”/>
Using the Python SDK the same can be done with the following code:
# Find the service that manages the collection of hosts: hosts_service = connection.system_service().hosts_service()
# Find the host: host = hosts_service.list(search=‘name=myhost’)
# Find the service that manages the host: host_service = hosts_service.host_service(host.id)
# Configure the network adding a bond with two slaves and attaching it to a # network with an static IP address: host_service.setup_networks(
modified_bonds=[ types.HostNic( name='bond0', bonding=types.Bonding( options=[ types.Option( name='mode', value='4', ), types.Option( name='miimon', value='100', ), ], slaves=[ types.HostNic( name='eth1', ), types.HostNic( name='eth2', ), ], ), ), ], modified_network_attachments=[ types.NetworkAttachment( network=types.Network( name='myvlan', ), host_nic=types.HostNic( name='bond0', ), ip_address_assignments=[ types.IpAddressAssignment( assignment_method=types.BootProtocol.STATIC, ip=types.Ip( address='192.168.122.10', netmask='255.255.255.0', ), ), ], dns_resolver_configuration=types.DnsResolverConfiguration( name_servers=[ '1.1.1.1', '2.2.2.2', ], ), ), ],
)
# After modifying the network configuration it is very important to make it # persistent: host_service.commit_net_config()
IMPORTANT: To make sure that the network configuration has been saved in the host, and that it will be applied when the host is rebooted, remember to call <<services/host/methods/commit_net_config, commitnetconfig>>.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the action should be performed asynchronously.
@option opts [Boolean] :check_connectivity
@option opts [Integer] :connectivity_timeout
@option opts [Array<HostNic>] :modified_bonds
@option opts [Array<NetworkLabel>] :modified_labels
@option opts [Array<NetworkAttachment>] :modified_network_attachments
@option opts [Array<HostNic>] :removed_bonds
@option opts [Array<NetworkLabel>] :removed_labels
@option opts [Array<NetworkAttachment>] :removed_network_attachments
@option opts [Array<NetworkAttachment>] :synchronized_network_attachments
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35435 def setup_networks(opts = {}) internal_action(:setupnetworks, nil, SETUP_NETWORKS, opts) end
Locates the `statistics` service.
@return [StatisticsService] A reference to `statistics` service.
# File lib/ovirtsdk4/services.rb, line 35901 def statistics_service @statistics_service ||= StatisticsService.new(self, 'statistics') end
A reference to storage connection extensions.
@return [StorageServerConnectionExtensionsService] A reference to `storage_connection_extensions` service.
# File lib/ovirtsdk4/services.rb, line 35919 def storage_connection_extensions_service @storage_connection_extensions_service ||= StorageServerConnectionExtensionsService.new(self, 'storageconnectionextensions') end
A reference to the service that manages the host's storage.
@return [HostStorageService] A reference to `storage` service.
# File lib/ovirtsdk4/services.rb, line 35910 def storage_service @storage_service ||= HostStorageService.new(self, 'storage') end
A reference to unmanaged networks.
@return [UnmanagedNetworksService] A reference to `unmanaged_networks` service.
# File lib/ovirtsdk4/services.rb, line 35937 def unmanaged_networks_service @unmanaged_networks_service ||= UnmanagedNetworksService.new(self, 'unmanagednetworks') end
Discovers the block Storage Domains which are candidates to be imported to the setup. For FCP no arguments are required.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.
@option opts [IscsiDetails] :iscsi
@option opts [Array<StorageDomain>] :storage_domains
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35467 def unregistered_storage_domains_discover(opts = {}) internal_action(:unregisteredstoragedomainsdiscover, :storage_domains, UNREGISTERED_STORAGE_DOMAINS_DISCOVER, opts) end
Update the host properties.
For example, to update a the kernel command line of a host send a request like this:
PUT /ovirt-engine/api/hosts/123
With request body like this:
<host>
<os> <custom_kernel_cmdline>vfio_iommu_type1.allow_unsafe_interrupts=1</custom_kernel_cmdline> </os>
</host>
@param host [Host] The `host` to update. @param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the update should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
@return [Host]
# File lib/ovirtsdk4/services.rb, line 35514 def update(host, opts = {}) internal_update(host, Host, UPDATE, opts) end
Update the specified host in the system. This is deprecated and is provided only for backwards compatibility.
@param host [Host] The `host` to update. @param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the update should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
@return [Host]
# File lib/ovirtsdk4/services.rb, line 35686 def update_using_root_password(host, opts = {}) internal_update(host, Host, UPDATE_USING_ROOT_PASSWORD, opts) end
Updates the specified host in the system.
@param host [Host] The `host` to update. @param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the update should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
@return [Host]
# File lib/ovirtsdk4/services.rb, line 35798 def update_using_ssh(host, opts = {}) internal_update(host, Host, UPDATE_USING_SSH, opts) end
Upgrades VDSM and selected software on the host.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the upgrade should be performed asynchronously.
@option opts [String] :image The image parameter specifies path to image, which is used for upgrade. This parameter is used only to
upgrade Vintage Node hosts and it is not relevant for other hosts types.
@option opts [Boolean] :reboot Indicates if the host should be rebooted after upgrade.
By default the host is rebooted.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35548 def upgrade(opts = {}) internal_action(:upgrade, nil, UPGRADE, opts) end
Check if there are upgrades available for the host. If there are upgrades available an icon will be displayed next to host status icon in the Administration Portal. Audit log messages are also added to indicate the availability of upgrades. The upgrade can be started from the webadmin or by using the <<services/host/methods/upgrade, upgrade>> host action.
@param opts [Hash] Additional options.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 35574 def upgrade_check(opts = {}) internal_action(:upgradecheck, nil, UPGRADE_CHECK, opts) end