Skip to main content

Get libvirt cluster estimated rate information

POST 

/v1/spectroclusters/libvirt/rate

Get libvirt cluster estimated rate information

Request

Query Parameters

    periodType string

    Possible values: [hourly, monthly, yearly]

    Default value: hourly

Header Parameters

    ProjectUid string

    Scope the request to the specified project uid

Body

    cloudConfig

    object

    controlPlaneEndpoint

    object

    ddnsSearchDomainstring

    DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required

    hoststring

    Host is FQDN(DDNS) or IP

    typestring

    Type indicates DDNS or VIP

    ntpServersstring[]

    NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list

    sshKeysstring[]

    SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user

    staticIpboolean

    StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type

    machinepoolconfig

    object[]

  • Array [

  • cloudConfig

    instanceType

    object

    required

    LibvirtInstanceType defines the instance configuration for a virtual machine

    cpuPassthroughSpec

    object

    cachePassthroughboolean
    isEnabledboolean

    Enables the CPU Passthrough for the libvirt domain

    cpusetstring

    CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset="1-4,^3,6" See https://libvirt.org/formatdomain.html#cpu-allocation

    gpuConfig

    object

    addresses

    object

    Addresses is a map of PCI device entry name to its addresses. Example entry would be "11:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1eb1] (rev a1)"- > 0000_11_00_0" The address is BDF (Bus Device Function) identifier format seperated by underscores. The first 4 bits are almost always 0000. In the above example 11 is Bus, 00 is Device,0 is function. The values of these addreses are expected in hexadecimal format

    property name*string
    deviceModelstring

    DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]

    numGPUsint32

    NumGPUs is the number of GPUs

    vendorNamestring

    VendorName is the GPU vendor, for eg., NVIDIA or AMD

    memoryInMBint32required

    MemoryinMB is the memory in megabytes

    numCPUsint32required

    NumCPUs is the number of CPUs

    nonRootDisksInGB

    object[]

    NonRootDisksInGB is the list of additional disks, if required, in GB

  • Array [

  • dataStoragePoolstring

    DataStoragePool is the storage pool from which additional disks are assigned

    managedboolean

    Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.

    sizeInGBint32required

    SizeInGB is the target size in GB of the disk to be added

  • ]

  • placements

    object[]

    required

    Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster

  • Array [

  • dataStoragePoolstring

    gpuDevices

    object[]

    GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.

  • Array [

  • addresses

    object

    Addresses is a map of PCI device entry name to its addresses. Example entry would be "11:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1eb1] (rev a1)"- > 0000_11_00_0" The address is BDF (Bus Device Function) identifier format seperated by underscores. The first 4 bits are almost always 0000. In the above example 11 is Bus, 00 is Device,0 is function. The values of these addreses are expected in hexadecimal format

    property name*string
    modelstring

    Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]

    vendorstring

    Vendor is the GPU vendor, for eg., NVIDIA or AMD

  • ]

  • hostUidstringrequired

    networks

    object[]

  • Array [

  • networkNamestringrequired

    NetworkName of the libvirt network where this machine will be connected

    networkTypestringrequired

    Possible values: [default, bridge]

    NetworkType specifies the type of network

  • ]

  • sourceStoragePoolstring
    targetStoragePoolstring
  • ]

  • rootDiskInGBint32required

    RootDiskInGB is the size of a vm's root disk, in GiB

    xslTemplatestring

    XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition

    poolConfig

    object

    Machine pool configuration for the cluster

    additionalLabels

    object

    Additional labels to be part of the machine pool

    property name*string

    additionalTags

    object

    AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole

    property name*string
    isControlPlaneboolean

    Whether this pool is for control plane

    labelsstring[]required

    Labels for this machine pool, example: master/worker, gpu, windows

    machinePoolProperties

    object

    Machine pool specific properties

    archTypestring

    Possible values: [amd64, arm64]

    Default value: amd64

    maxSizeint32

    Max size of the pool, for scaling

    minSizeint32

    Min size of the pool, for scaling

    namestringrequired
    nodeRepaveIntervalint32

    Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster

    sizeint32required

    Size of the pool, number of nodes/machines

    taints

    object[]

    Master or worker taints

  • Array [

  • effectstring

    Possible values: [NoSchedule, PreferNoSchedule, NoExecute]

    keystring

    The taint key to be applied to a node

    timeAddeddate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    valuestring

    The taint value corresponding to the taint key.

  • ]

  • updateStrategy

    object

    UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut => maxSurge=1, maxUnavailable=0 ScaleIn => maxSurge=0, maxUnavailable=1

    typestring

    Possible values: [RollingUpdateScaleOut, RollingUpdateScaleIn]

    update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut

    useControlPlaneAsWorkerboolean

    If IsControlPlane==true && useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools

  • ]

Responses

Libvirt Cluster estimated rate response

Schema

    machinePools

    object[]

  • Array [

  • namestring
    nodesCountint32

    rate

    object

    Cloud estimated rate information

    compute

    object

    Compute estimated rate information

    ratefloat64
    typestring

    storage

    object[]

  • Array [

  • iopsfloat64
    ratefloat64
    sizeGBfloat64
    throughputfloat64
    typestring
  • ]

  • totalfloat64
  • ]

  • namestring

    rate

    object

    Cluster total estimated rate information

    computefloat64
    storagefloat64
    totalfloat64

    resourceMetadata

    object

    Cloud resource metadata

    instanceTypes

    object

    property name*

    object

    Cloud Instance type details

    categorystring

    Category of instance type

    cost

    object

    Instance cost entity

    price

    object[]

    Array of cloud instance price

  • Array [

  • onDemanddouble

    OnDemand price of instance

    osstring

    Possible values: [linux, windows]

    Os associated with instance price. Allowed values - [linux, windows]

    spotdouble

    Spot price of instance

  • ]

  • cpudouble

    Cpu of instance type

    gpudouble

    Gpu of instance type

    memorydouble

    Memory of instance type

    nonSupportedZonesstring[]

    Non supported zones of the instance in a particular region

    pricedouble

    Price of instance type

    supportedArchitecturesstring[]

    Supported architecture of the instance

    typestring

    Type of instance type

    storageTypes

    object

    property name*

    object

    Cloud cloud Storage type details

    cost

    object

    Cloud storage cost

    discountedUsagestring

    Cloud storage upper limit which is free.

    price

    object[]

    Array of cloud storage range prices

  • Array [

  • limitstring

    Upper limit of cloud storage usage

    pricestring

    Price of cloud storage type

  • ]

  • iopsCost

    object

    Cloud storage cost

    discountedUsagestring

    Cloud storage upper limit which is free.

    price

    object[]

    Array of cloud storage range prices

  • Array [

  • limitstring

    Upper limit of cloud storage usage

    pricestring

    Price of cloud storage type

  • ]

  • kindstring

    kind of storage type

    namestring

    Name of the storage type

    throughputCost

    object

    Cloud storage cost

    discountedUsagestring

    Cloud storage upper limit which is free.

    price

    object[]

    Array of cloud storage range prices

  • Array [

  • limitstring

    Upper limit of cloud storage usage

    pricestring

    Price of cloud storage type

  • ]

Loading...