Interface HostService

    • Method Detail

      • approve

        HostService.ApproveRequest approve()
        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.
      • commitNetConfig

        HostService.CommitNetConfigRequest commitNetConfig()
        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: [source] ---- POST /ovirt-engine/api/hosts/123/commitnetconfig ---- With a request body like this: [source,xml] ---- ---- IMPORTANT: Since {engine-name} 4.3, it is possible to also specify `commit_on_success` in the <> request, in which case the new configuration is automatically saved in the {hypervisor-name} upon completing the setup and re-establishing connectivity between the {hypervisor-name} and {engine-name}, and without waiting for a separate <> request.
      • copyHostNetworks

        HostService.CopyHostNetworksRequest copyHostNetworks()
        Copy the network configuration of the specified host to current host. IMPORTANT: Any network attachments that are not present on the source host will be erased from the target host by the copy operation. To copy networks from another host, send a request like this: [source] ---- POST /ovirt-engine/api/hosts/123/copyhostnetworks ---- With a request body like this: [source,xml] ---- ----
      • discoverIscsi

        HostService.DiscoverIscsiRequest discoverIscsi()
        Discovers iSCSI targets on the host, using the initiator details. Returns a list of IscsiDetails objects containing the discovered data. For example, to discover iSCSI targets available in `myiscsi.example.com`, from host `123`, send a request like this: [source] ---- POST /ovirt-engine/api/hosts/123/discoveriscsi ---- With a request body like this: [source,xml] ----
        myiscsi.example.com
        ---- The result will be like this: [source,xml] ----
        10.35.1.72
        3260 10.35.1.72:3260,1 iqn.2015-08.com.tgt:444
        ---- IMPORTANT: When using this method to discover iscsi targets, you can use an FQDN or an IP address, but you must use the iscsi details from the discovered targets results to log in using the iscsilogin method.
      • enrollCertificate

        HostService.EnrollCertificateRequest enrollCertificate()
        Enrolls the certificate of the host. Useful in case you get a warning that it is about to expire or has already expired.
      • fence

        HostService.FenceRequest fence()
        Controls the host's power management device. For example, to start the host. This can be done via: [source] ---- #!/bin/sh -ex url="https://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 ' start ' \ "${url}/hosts/123/fence" ----
      • forceSelectSpm

        HostService.ForceSelectSpmRequest forceSelectSpm()
        To manually set a host as the storage pool manager (SPM). [source] ---- POST /ovirt-engine/api/hosts/123/forceselectspm ---- With a request body like this: [source,xml] ---- ----
      • install

        HostService.InstallRequest install()
        Installs the latest version of VDSM and related software on the host. The action also performs every configuration steps on the host which is done during adding host to the engine: kdump configuration, hosted-engine deploy, kernel options changes, etc. The host type defines additional parameters for the action. Example of installing a host, using `curl` and JSON, plain: [source,bash] ---- 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" } ' \ "https://engine.example.com/ovirt-engine/api/hosts/123" ---- Example of installing a host using `curl` and JSON with hosted engine components: [source,bash] ---- 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" "deploy_hosted_engine" : "true" } ' \ "https://engine.example.com/ovirt-engine/api/hosts/123" ---- IMPORTANT: Since version 4.1.2 of the engine, when a host is reinstalled we override the host firewall definitions by default.
      • iscsiDiscover

        HostService.IscsiDiscoverRequest iscsiDiscover()
        This method has been deprecated since Engine version 4.4.6. DiscoverIscsi should be used instead. Discovers iSCSI targets on the host, using the initiator details. Returns an array of strings containing the discovered data. For example, to discover iSCSI targets available in `myiscsi.example.com`, from host `123`, send a request like this: [source] ---- POST /ovirt-engine/api/hosts/123/iscsidiscover ---- With a request body like this: [source,xml] ----
        myiscsi.example.com
        ----
      • iscsiLogin

        HostService.IscsiLoginRequest iscsiLogin()
        Login to iSCSI targets on the host, using the target details. IMPORTANT: When using this method to log in, you must use the iscsi details from the discovered targets results in the discoveriscsi method.
      • remove

        HostService.RemoveRequest remove()
        Remove the host from the system. [source] ---- #!/bin/sh -ex url="https://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" ----
      • setupNetworks

        HostService.SetupNetworksRequest setupNetworks()
        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: [source] ---- #!/bin/sh -ex url="https://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 ' bond0 eth1 eth2 myvlan bond0 static
        192.168.122.10
        255.255.255.0
        1.1.1.1 2.2.2.2
        ' \ "${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: [source,xml] ---- ---- The same thing can be done using the Python SDK with the following code: [source,python] ---- # 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')[0] # 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 <>. IMPORTANT: Since {engine-name} 4.3, it is possible to also specify `commit_on_success` in the <> request, in which case the new configuration is automatically saved in the {hypervisor-name} upon completing the setup and re-establishing connectivity between the {hypervisor-name} and {engine-name}, and without waiting for a separate <> request.
      • syncAllNetworks

        HostService.SyncAllNetworksRequest syncAllNetworks()
        To synchronize all networks on the host, send a request like this: [source] ---- POST /ovirt-engine/api/hosts/123/syncallnetworks ---- With a request body like this: [source,xml] ---- ----
      • update

        HostService.UpdateRequest update()
        Update the host properties. For example, to update a the kernel command line of a host send a request like this: [source] ---- PUT /ovirt-engine/api/hosts/123 ---- With request body like this: [source, xml] ---- vfio_iommu_type1.allow_unsafe_interrupts=1 ----
      • upgradeCheck

        HostService.UpgradeCheckRequest upgradeCheck()
        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 <> host action.
      • installUsingRootPassword

        HostService.InstallUsingRootPasswordRequest installUsingRootPassword()
        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.
      • approveUsingSsh

        HostService.ApproveUsingSshRequest approveUsingSsh()
        Approve the specified host to be added to the engine by using ssh authentication. This occurs when the host registers itself with the engine.
      • installUsingSsh

        HostService.InstallUsingSshRequest installUsingSsh()
        Install VDSM and other packages required to get the host ready to be used in the engine providing the SSH password.
      • devicesService

        HostDevicesService devicesService()
        A reference to the host devices service. Use this service to view the devices of the host object.
      • fenceAgentsService

        FenceAgentsService fenceAgentsService()
        A reference to the fence agents service. Use this service to manage fence and power management agents on the host object.
      • hooksService

        HostHooksService hooksService()
        A reference to the host hooks service. Use this service to view the hooks available in the host object.
      • katelloErrataService

        KatelloErrataService katelloErrataService()
        A reference to the service that can show the applicable errata available on the host. This information is taken from Katello.
      • networkAttachmentsService

        NetworkAttachmentsService networkAttachmentsService()
        A reference to the network attachments service. You can use this service to attach Logical networks to host interfaces.
      • nicsService

        HostNicsService nicsService()
        A reference to the service that manages the network interface devices on the host.
      • numaNodesService

        HostNumaNodesService numaNodesService()
        A reference to the service that manage NUMA nodes for the host.
      • permissionsService

        AssignedPermissionsService permissionsService()
        A reference to the host permission service. Use this service to manage permissions on the host object.
      • storageService

        HostStorageService storageService()
        A reference to the service that manages the host's storage.
      • tagsService

        AssignedTagsService tagsService()
        A reference to the host tags service. Use this service to manage tags on the host object.