Class HostServiceImpl

    • Method Detail

      • approve

        public HostService.ApproveRequest approve()
        Description copied from interface: HostService
        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.
        Specified by:
        approve in interface HostService
      • commitNetConfig

        public HostService.CommitNetConfigRequest commitNetConfig()
        Description copied from interface: HostService
        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.
        Specified by:
        commitNetConfig in interface HostService
      • copyHostNetworks

        public HostService.CopyHostNetworksRequest copyHostNetworks()
        Description copied from interface: HostService
        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] ---- ----
        Specified by:
        copyHostNetworks in interface HostService
      • discoverIscsi

        public HostService.DiscoverIscsiRequest discoverIscsi()
        Description copied from interface: HostService
        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.
        Specified by:
        discoverIscsi in interface HostService
      • fence

        public HostService.FenceRequest fence()
        Description copied from interface: HostService
        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" ----
        Specified by:
        fence in interface HostService
      • forceSelectSpm

        public HostService.ForceSelectSpmRequest forceSelectSpm()
        Description copied from interface: HostService
        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] ---- ----
        Specified by:
        forceSelectSpm in interface HostService
      • install

        public HostService.InstallRequest install()
        Description copied from interface: HostService
        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.
        Specified by:
        install in interface HostService
      • iscsiDiscover

        public HostService.IscsiDiscoverRequest iscsiDiscover()
        Description copied from interface: HostService
        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
        ----
        Specified by:
        iscsiDiscover in interface HostService
      • iscsiLogin

        public HostService.IscsiLoginRequest iscsiLogin()
        Description copied from interface: HostService
        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.
        Specified by:
        iscsiLogin in interface HostService
      • remove

        public HostService.RemoveRequest remove()
        Description copied from interface: HostService
        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" ----
        Specified by:
        remove in interface HostService
      • setupNetworks

        public HostService.SetupNetworksRequest setupNetworks()
        Description copied from interface: HostService
        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.
        Specified by:
        setupNetworks in interface HostService
      • syncAllNetworks

        public HostService.SyncAllNetworksRequest syncAllNetworks()
        Description copied from interface: HostService
        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] ---- ----
        Specified by:
        syncAllNetworks in interface HostService
      • update

        public HostService.UpdateRequest update()
        Description copied from interface: HostService
        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 ----
        Specified by:
        update in interface HostService
      • upgradeCheck

        public HostService.UpgradeCheckRequest upgradeCheck()
        Description copied from interface: HostService
        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.
        Specified by:
        upgradeCheck in interface HostService
      • fenceAgentsService

        public FenceAgentsService fenceAgentsService()
        Description copied from interface: HostService
        A reference to the fence agents service. Use this service to manage fence and power management agents on the host object.
        Specified by:
        fenceAgentsService in interface HostService
      • hooksService

        public HostHooksService hooksService()
        Description copied from interface: HostService
        A reference to the host hooks service. Use this service to view the hooks available in the host object.
        Specified by:
        hooksService in interface HostService
      • katelloErrataService

        public KatelloErrataService katelloErrataService()
        Description copied from interface: HostService
        A reference to the service that can show the applicable errata available on the host. This information is taken from Katello.
        Specified by:
        katelloErrataService in interface HostService