HOSTCTL(8) | System Manager's Manual | HOSTCTL(8)

# NAME

`hostctl` — display or modify contents of the host's key-value store

# SYNOPSIS

`hostctl` | [`-qt`] [`-f` device] [`-i` input] [`-o` output] key [value]

# DESCRIPTION

The `hostctl` program provides a generic interface for accessing key-value stores on the system's host. It is primarily used for an abstracted way to exchange information with hypervisors that are supported by the pvbus(4) subsystem. When given the name of a specific key, `hostctl` will display the value or list the key names of the subtree. If the key is followed by a value, `hostctl` will write the new key-value pair to the key-value store.

The options are as follows:

`-f` device
  Use device instead of the default /dev/pvbus0.
`-i` input
  Read the new value for the specified key from the input file.
`-o` output
  Save the returned value in the output file.
`-q`
  Don't ask for confirmation of any default options.
`-t`
  Print the type of the underlying driver.

Multiple hypervisor interfaces and key-value stores can be simultaneously available and reached through different device nodes.

# FILES

/dev/pvbusu
  pvbus(4) device unit u file.

# EXAMPLES

The vmt(4) driver provides access to the “guestinfo” information that is available in VMware virtual machines:

    # hostctl guestinfo.hostname
    vm-111.example.com
    # hostctl guestinfo.ip 192.168.100.111

The xen(4) driver provides access to the XenStore that is available in Xen virtual machines. The pvbus(4) layer abstracts it as a simple key-value interface:

    # hostctl device/vif/0/mac
    fe:e1:ba:d0:27:0f
    # hostctl device/vif/0/description "My interface"

The XenStore is a virtual filesystem that also provides directories. The directory name can be specified as a key to return the contents, other keys, of the directory:

    # hostctl device
    vfb
    vbd
    vif
    console

Access to the Hyper-V Key-Value Pair exchange interface is provided by the hyperv(4) driver. The pvbus(4) layer abstracts access to several pre-defined key pools: Auto, Guest, External and Guest/Parameters. Available keys can be listed and set:

    # hostctl Auto/
    FullyQualifiedDomainName
    IntegrationServicesVersion
    NetworkAddressIPv4
    NetworkAddressIPv6
    OSBuildNumber
    OSName
    OSMajorVersion
    OSMinorVersion
    OSVersion
    ProcessorArchitecture
    # hostctl Auto/FullyQualifiedDomainName `hostname`

# SEE ALSO

pvbus(4)

# HISTORY

The `hostctl` program first appeared in OpenBSD 5.9.

# AUTHORS

The `hostctl` program was written by Reyk Floeter <reyk@openbsd.org>.

July 21, 2017 | Debian