Also updates the vino sample CR to pass validation by removing
some invalid fields.
Closes: #6
Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: I07c41fc3a4f7bf195189032332cf5334d3414b4f
description:IPPool is the Schema for the ippools API
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description: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.
properties:
allocatedIPs:
items:
description:AllocatedIP Allocates an IP and MAC address to an entity
properties:
allocatedTo:
type:string
ip:
type:string
mac:
type:string
required:
- allocatedTo
- ip
- mac
type:object
type:array
macPrefix:
description:MACPrefix defines the MAC prefix to use for VM mac addresses
type:string
nextMAC:
description:NextMAC indicates the next MAC address (in sequence) that
will be provisioned to a VM in this Subnet
type:string
ranges:
items:
description:Range has (inclusive) bounds within a subnet from which
IPs can be allocated
properties:
start:
type:string
stop:
type:string
required:
- start
- stop
type:object
type:array
subnet:
type:string
required:
- allocatedIPs
- macPrefix
- nextMAC
- ranges
- subnet
type:object
status:
description:IPPoolStatus defines the observed state of IPPool
type:object
type:object
version:v1
versions:
- name:v1
schema:
openAPIV3Schema:
description:IPPool is the Schema for the ippools API
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description: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.
properties:
allocatedIPs:
items:
description:AllocatedIP Allocates an IP and MAC address to an entity
properties:
allocatedTo:
type:string
ip:
type:string
mac:
type:string
required:
- allocatedTo
- ip
- mac
type:object
type:array
macPrefix:
description:MACPrefix defines the MAC prefix to use for VM mac addresses
type:string
nextMAC:
description:NextMAC indicates the next MAC address (in sequence)
that will be provisioned to a VM in this Subnet
type:string
ranges:
items:
description:Range has (inclusive) bounds within a subnet from which
IPs can be allocated
properties:
start:
type:string
stop:
type:string
required:
- start
- stop
type:object
type:array
subnet:
type:string
required:
- allocatedIPs
- macPrefix
- nextMAC
- ranges
- subnet
type:object
status:
description:IPPoolStatus defines the observed state of IPPool
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:VinoSpec defines the desired state of Vino
properties:
bmcCredentials:
description:BMCCredentials contain credentials that will be used to
create BMH nodes sushy tools will use these credentials as well, to
set up authentication
properties:
password:
type:string
username:
type:string
required:
- password
- username
type:object
configuration:
description:Define CPU configuration
properties:
cpuExclude:
description:Exclude CPU example 0-4,54-60
type:string
type:object
daemonSetOptions:
description:DaemonSetOptions defines how vino will spawn daemonset
onnodes
properties:
libvirtImage:
type:string
namespacedName:
description:NamespacedName to be used to spawn VMs
properties:
name:
type:string
namespace:
type:string
type:object
nodeAnnotatorImage:
type:string
sushyImage:
type:string
vinoBuilderImage:
type:string
type:object
networks:
description:Define network parameters
items:
description:Network defines libvirt networks
versions:
- name:v1
schema:
openAPIV3Schema:
description:Vino is the Schema for the vinoes API
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:VinoSpec defines the desired state of Vino
properties:
bmcCredentials:
description:BMCCredentials contain credentials that will be used
to create BMH nodes sushy tools will use these credentials as well,
to set up authentication
properties:
allocationStart:
password:
type:string
allocationStop:
type:string
dns_servers:
items:
type:string
type:array
macPrefix:
description: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
type:string
name:
description:Network Parameter defined
type:string
routes:
items:
description:VMRoutes defined
properties:
gateway:
type:string
netmask:
type:string
network:
type:string
type:object
type:array
subnet:
type:string
type:
username:
type:string
required:
- password
- username
type:object
type:array
nodeLabelKeysToCopy:
description:NodeLabelKeysToCopy vino controller will get these labels
from k8s nodes and place them on BMHs that correspond to this node
items:
type:string
type:array
nodeSelector:
description:Define nodelabel parameters
properties:
matchLabels:
additionalProperties:
configuration:
description:Define CPU configuration
properties:
cpuExclude:
description:Exclude CPU example 0-4,54-60
type:string
description:Node type needs to specified
type:object
required:
- matchLabels
type:object
nodes:
description:Define node details
items:
description:NodeSet node definitions
type:object
daemonSetOptions:
description:DaemonSetOptions defines how vino will spawn daemonset
onnodes
properties:
bmhLabels:
additionalProperties:
type:string
description: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
type:object
bootInterfaceName:
description:BootInterfaceName references the interface name in
the list of NetworkInterfaces Vino will take this interface
find its mac address and use it as bootMACAddress for BMH
libvirtImage:
type:string
count:
type:integer
diskDrives:
items:
description:DiskDrivesTemplate defines disks on the VM
properties:
name:
type:string
options:
description:DiskOptions disk options
properties:
sizeGb:
type:integer
sparse:
type:boolean
type:object
path:
type:string
type:
type:string
type:object
type:array
libvirtTemplate:
namespacedName:
description:NamespacedName to be used to spawn VMs
properties:
name:
@ -182,183 +70,295 @@ spec:
namespace:
type:string
type:object
name:
description:Parameter for Node control-plane or worker
nodeAnnotatorImage:
type:string
networkDataTemplate:
description:NetworkDataTemplate must have a template key
properties:
name:
type:string
namespace:
sushyImage:
type:string
vinoBuilderImage:
type:string
type:object
networks:
description:Define network parameters
items:
description:Network defines libvirt networks
properties:
allocationStart:
type:string
allocationStop:
type:string
dns_servers:
items:
type:string
type:array
macPrefix:
description: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
type:string
name:
description:Network Parameter defined
type:string
routes:
items:
description:VMRoutes defined
properties:
gateway:
type:string
netmask:
type:string
network:
type:string
type:object
type:array
subnet:
type:string
type:
type:string
type:object
type:array
nodeLabelKeysToCopy:
description:NodeLabelKeysToCopy vino controller will get these labels
from k8s nodes and place them on BMHs that correspond to this node
items:
type:string
type:array
nodeSelector:
description:Define nodelabel parameters
properties:
matchLabels:
additionalProperties:
type:string
description:Node type needs to specified
type:object
networkInterfaces:
items:
description:NetworkInterface define interface on the VM
required:
- matchLabels
type:object
nodes:
description:Define node details
items:
description:NodeSet node definitions
properties:
bmhLabels:
additionalProperties:
type:string
description: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
type:object
bootInterfaceName:
description:BootInterfaceName references the interface name
in the list of NetworkInterfaces Vino will take this interface
find its mac address and use it as bootMACAddress for BMH
type:string
count:
type:integer
diskDrives:
items:
description:DiskDrivesTemplate defines disks on the VM
properties:
name:
type:string
options:
description:DiskOptions disk options
properties:
sizeGb:
type:integer
sparse:
type:boolean
type:object
path:
type:string
type:
type:string
type:object
type:array
libvirtTemplate:
description:NamespacedName to be used to spawn VMs
properties:
mtu:
type:integer
name:
description:Define parameter for network interfaces
type:string
network:
namespace:
type:string
options:
additionalProperties:
type:string
type:object
type:
type:object
name:
description:Parameter for Node control-plane or worker
type:string
networkDataTemplate:
description:NetworkDataTemplate must have a template key
properties:
name:
type:string
namespace:
type:string
type:object
type:array
type:object
type:array
vmBridge:
description:VMBridge defines the single interface name to be used as
a bridge for VMs
type:string
required:
- bmcCredentials
- vmBridge
type:object
status:
description:VinoStatus defines the observed state of Vino
properties:
conditions:
items:
description:"Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example,
type FooStatus struct{ // Represents the observations of a foo's
current state. // Known .status.conditions.type are:\"Available\",
\"Progressing\", and \"Degraded\" // +patchMergeKey=type //