vino/docs/api/vino.md
Kostiantyn Kalynovskyi 7602aa5324 Generate unique subranges for k8s nodes
The ranges will be stored in IPPool object and will never change
once assigned.

Change-Id: Ie3184f2a9de405c00223367939f8c3e3112f0e68
2021-06-16 22:30:07 +00:00

25 KiB

Vino API reference

Packages:

airship.airshipit.org/v1

Package v1 contains API Schema definitions for the airship v1 API group

Resource Types:

    AllocatedIP

    (Appears on: IPPoolSpec)

    AllocatedIP Allocates an IP and MAC address to an entity

    Field Description
    ip
    string
    mac
    string
    allocatedTo
    string

    AllocatedRange

    (Appears on: IPPoolSpec)

    Field Description
    allocatedTo
    string
    Range
    Range

    (Members of Range are embedded into this type.)

    BMCCredentials

    (Appears on: VinoSpec)

    BMCCredentials contain credentials that will be used to create BMH nodes sushy tools will use these credentials as well, to set up authentication

    Field Description
    username
    string
    password
    string

    Builder

    TODO (kkalynovskyi) create an API object for this, and refactor vino-builder to read it from kubernetes.

    Field Description
    gwIPBridge
    string
    pxeBootImageHost
    string
    pxeBootImageHostPort
    int
    networks
    []BuilderNetwork
    configuration
    CPUConfiguration

    (TODO) change json tag to cpuConfiguration when vino-builder has these chanages as well

    domains
    []BuilderDomain
    nodeCount
    int

    BuilderDomain

    (Appears on: Builder)

    BuilderDomain represents a VINO libvirt domain

    Field Description
    name
    string
    role
    string
    bootMACAddress
    string
    enableVNC
    bool
    vncPassword
    string
    interfaces
    []BuilderNetworkInterface

    BuilderNetwork

    (Appears on: Builder)

    Field Description
    bridgeIP
    string
    bridgeMAC
    string
    range
    Range
    Network
    Network

    (Members of Network are embedded into this type.)

    BuilderNetworkInterface

    (Appears on: BuilderDomain)

    Field Description
    ipAddress
    string
    netMask
    string
    macAddress
    string
    NetworkInterface
    NetworkInterface

    (Members of NetworkInterface are embedded into this type.)

    CPUConfiguration

    (Appears on: Builder, VinoSpec)

    CPUConfiguration CPU node configuration

    Field Description
    cpuExclude
    string

    Exclude CPU example 0-4,54-60

    DaemonSetOptions

    (Appears on: VinoSpec)

    DaemonSetOptions be used to spawn vino-builder, libvirt, sushy an

    Field Description
    namespacedName
    NamespacedName
    libvirtImage
    string
    sushyImage
    string
    vinoBuilderImage
    string
    nodeAnnotatorImage
    string

    DiskDrivesTemplate

    (Appears on: NodeSet)

    DiskDrivesTemplate defines disks on the VM

    Field Description
    name
    string
    type
    string
    path
    string
    options
    DiskOptions

    DiskOptions

    (Appears on: DiskDrivesTemplate)

    DiskOptions disk options

    Field Description
    sizeGb
    int
    sparse
    bool

    IPPool

    IPPool is the Schema for the ippools API

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    IPPoolSpec


    subnet
    string
    ranges
    []Range
    allocatedRanges
    []AllocatedRange
    allocatedIPs
    []AllocatedIP
    macPrefix
    string

    MACPrefix defines the MAC prefix to use for VM mac addresses

    nextMAC
    string

    NextMAC indicates the next MAC address (in sequence) that will be provisioned to a VM in this Subnet

    status
    IPPoolStatus

    IPPoolSpec

    (Appears on: IPPool)

    IPPoolSpec tracks allocation ranges and statuses within a specific subnet IPv4 or IPv6 subnet. It has a set of ranges of IPs within the subnet from which IPs can be allocated by IPAM, and a set of IPs that are currently allocated already.

    Field Description
    subnet
    string
    ranges
    []Range
    allocatedRanges
    []AllocatedRange
    allocatedIPs
    []AllocatedIP
    macPrefix
    string

    MACPrefix defines the MAC prefix to use for VM mac addresses

    nextMAC
    string

    NextMAC indicates the next MAC address (in sequence) that will be provisioned to a VM in this Subnet

    IPPoolStatus

    (Appears on: IPPool)

    IPPoolStatus defines the observed state of IPPool

    NamespacedName

    (Appears on: DaemonSetOptions, NodeSet)

    NamespacedName to be used to spawn VMs

    Field Description
    name
    string
    namespace
    string

    Network

    (Appears on: BuilderNetwork, VinoSpec)

    Network defines libvirt networks

    Field Description
    name
    string

    Network Parameter defined

    subnet
    string
    dhcpAllocationStart
    string

    DHCPAllocationStart must be inside the SubNet range

    dhcpAllocationStop
    string

    DHCPAllocationStop must be inside the SubNet range

    instanceSubnetBitStep
    int

    InstanceSubnetBitStep indicates how many bites to allocate for each node DHCP range

    type
    string
    staticAllocationStart
    string
    staticAllocationStop
    string
    dns_servers
    []string
    routes
    []VMRoutes
    macPrefix
    string

    MACPrefix defines the zero-padded MAC prefix to use for VM mac addresses, and is the first address that will be allocated sequentially to VMs in this network. If omitted, a default private MAC prefix will be used. The prefix should be specified in full MAC notation, e.g. 06:42:42:00:00:00

    physicalInterface
    string

    PhysicalInterface identifies interface into which to plug in libvirt network

    libvirtTemplate
    string

    LibvirtTemplate identifies which libvirt template to be used to create a network

    bridgeName
    string

    BridgeName is the name of the bridge to be created as libvirt network. works if AllocateNodeIP is sepcified

    NetworkInterface

    (Appears on: BuilderNetworkInterface, NodeSet)

    NetworkInterface define interface on the VM

    Field Description
    name
    string

    Define parameter for network interfaces

    type
    string
    network
    string
    mtu
    int
    options
    map[string]string

    NodeSelector

    (Appears on: VinoSpec)

    NodeSelector identifies nodes to create VMs on

    Field Description
    matchLabels
    map[string]string

    Node type needs to specified

    NodeSet

    (Appears on: VinoSpec)

    NodeSet node definitions

    Field Description
    name
    string

    Parameter for Node control-plane or worker

    count
    int
    bmhLabels
    map[string]string

    BMHLabels labels will be copied directly to BMHs that will be created These labels will override keys from k8s node, that are specified in vino.NodeLabelKeysToCopy

    libvirtTemplate
    NamespacedName
    networkInterfaces
    []NetworkInterface
    diskDrives
    []DiskDrivesTemplate
    networkDataTemplate
    NamespacedName

    NetworkDataTemplate must have a template key

    rootDeviceName
    string

    RootDeviceName is the root device for underlying VM, /dev/vda for example default is /dev/vda

    bootInterfaceName
    string

    BootInterfaceName interface name to use to boot virtual machines

    enableVNC
    bool

    EnableVNC create VNC for graphical interaction with the VM that will be created.

    Range

    (Appears on: AllocatedRange, BuilderNetwork, IPPoolSpec)

    Range has (inclusive) bounds within a subnet from which IPs can be allocated

    Field Description
    start
    string
    stop
    string

    VMRoutes

    (Appears on: Network)

    VMRoutes defined

    Field Description
    network
    string
    netmask
    string
    gateway
    string

    Vino

    Vino is the Schema for the vinoes API

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    VinoSpec


    nodeSelector
    NodeSelector

    Define nodelabel parameters

    configuration
    CPUConfiguration

    Define CPU configuration

    networks
    []Network

    Define network parameters

    nodes
    []NodeSet

    Define node details

    daemonSetOptions
    DaemonSetOptions

    DaemonSetOptions defines how vino will spawn daemonset on nodes

    bmcCredentials
    BMCCredentials

    BMCCredentials contain credentials that will be used to create BMH nodes sushy tools will use these credentials as well, to set up authentication

    nodeLabelKeysToCopy
    []string

    NodeLabelKeysToCopy vino controller will get these labels from k8s nodes and place them on BMHs that correspond to this node

    pxeBootImageHost
    string

    PXEBootImageHost will be used to download the PXE boot image

    pxeBootImageHostPort
    int

    PXEBootImageHostPort will be used to download the PXE boot image

    status
    VinoStatus

    VinoSpec

    (Appears on: Vino)

    VinoSpec defines the desired state of Vino

    Field Description
    nodeSelector
    NodeSelector

    Define nodelabel parameters

    configuration
    CPUConfiguration

    Define CPU configuration

    networks
    []Network

    Define network parameters

    nodes
    []NodeSet

    Define node details

    daemonSetOptions
    DaemonSetOptions

    DaemonSetOptions defines how vino will spawn daemonset on nodes

    bmcCredentials
    BMCCredentials

    BMCCredentials contain credentials that will be used to create BMH nodes sushy tools will use these credentials as well, to set up authentication

    nodeLabelKeysToCopy
    []string

    NodeLabelKeysToCopy vino controller will get these labels from k8s nodes and place them on BMHs that correspond to this node

    pxeBootImageHost
    string

    PXEBootImageHost will be used to download the PXE boot image

    pxeBootImageHostPort
    int

    PXEBootImageHostPort will be used to download the PXE boot image

    VinoStatus

    (Appears on: Vino)

    VinoStatus defines the observed state of Vino

    This page was automatically generated with gen-crd-api-reference-docs