242 lines
11 KiB
YAML
242 lines
11 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.5.0
|
|
creationTimestamp: null
|
|
name: blockdevices.openebs.io
|
|
spec:
|
|
group: openebs.io
|
|
names:
|
|
kind: BlockDevice
|
|
listKind: BlockDeviceList
|
|
plural: blockdevices
|
|
shortNames:
|
|
- bd
|
|
singular: blockdevice
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.nodeAttributes.nodeName
|
|
name: NodeName
|
|
type: string
|
|
- jsonPath: .spec.path
|
|
name: Path
|
|
priority: 1
|
|
type: string
|
|
- jsonPath: .spec.filesystem.fsType
|
|
name: FSType
|
|
priority: 1
|
|
type: string
|
|
- jsonPath: .spec.capacity.storage
|
|
name: Size
|
|
type: string
|
|
- jsonPath: .status.claimState
|
|
name: ClaimState
|
|
type: string
|
|
- jsonPath: .status.state
|
|
name: Status
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: BlockDevice is the Schema for the blockdevices 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: DeviceSpec defines the properties and runtime status of a BlockDevice
|
|
properties:
|
|
aggregateDevice:
|
|
description: AggregateDevice was intended to store the hierarchical information in cases of LVM. However this is currently not implemented and may need to be re-looked into for better design. To be deprecated
|
|
type: string
|
|
capacity:
|
|
description: Capacity
|
|
properties:
|
|
logicalSectorSize:
|
|
description: LogicalSectorSize is blockdevice logical-sector size in bytes
|
|
format: int32
|
|
type: integer
|
|
physicalSectorSize:
|
|
description: PhysicalSectorSize is blockdevice physical-Sector size in bytes
|
|
format: int32
|
|
type: integer
|
|
storage:
|
|
description: Storage is the blockdevice capacity in bytes
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- storage
|
|
type: object
|
|
claimRef:
|
|
description: ClaimRef is the reference to the BDC which has claimed this BD
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
|
|
type: string
|
|
kind:
|
|
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
|
type: string
|
|
namespace:
|
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
|
type: string
|
|
resourceVersion:
|
|
description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
|
|
type: string
|
|
uid:
|
|
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
|
type: string
|
|
type: object
|
|
details:
|
|
description: Details contain static attributes of BD like model,serial, and so forth
|
|
properties:
|
|
compliance:
|
|
description: Compliance is standards/specifications version implemented by device firmware such as SPC-1, SPC-2, etc
|
|
type: string
|
|
deviceType:
|
|
description: DeviceType represents the type of device like sparse, disk, partition, lvm, crypt
|
|
enum:
|
|
- disk
|
|
- partition
|
|
- sparse
|
|
- loop
|
|
- lvm
|
|
- crypt
|
|
- dm
|
|
- mpath
|
|
type: string
|
|
driveType:
|
|
description: DriveType is the type of backing drive, HDD/SSD
|
|
enum:
|
|
- HDD
|
|
- SSD
|
|
- Unknown
|
|
- ""
|
|
type: string
|
|
firmwareRevision:
|
|
description: FirmwareRevision is the disk firmware revision
|
|
type: string
|
|
hardwareSectorSize:
|
|
description: HardwareSectorSize is the hardware sector size in bytes
|
|
format: int32
|
|
type: integer
|
|
logicalBlockSize:
|
|
description: LogicalBlockSize is the logical block size in bytes reported by /sys/class/block/sda/queue/logical_block_size
|
|
format: int32
|
|
type: integer
|
|
model:
|
|
description: Model is model of disk
|
|
type: string
|
|
physicalBlockSize:
|
|
description: PhysicalBlockSize is the physical block size in bytes reported by /sys/class/block/sda/queue/physical_block_size
|
|
format: int32
|
|
type: integer
|
|
serial:
|
|
description: Serial is serial number of disk
|
|
type: string
|
|
vendor:
|
|
description: Vendor is vendor of disk
|
|
type: string
|
|
type: object
|
|
devlinks:
|
|
description: DevLinks contains soft links of a block device like /dev/by-id/... /dev/by-uuid/...
|
|
items:
|
|
description: DeviceDevLink holds the mapping between type and links like by-id type or by-path type link
|
|
properties:
|
|
kind:
|
|
description: Kind is the type of link like by-id or by-path.
|
|
enum:
|
|
- by-id
|
|
- by-path
|
|
type: string
|
|
links:
|
|
description: Links are the soft links
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: array
|
|
filesystem:
|
|
description: FileSystem contains mountpoint and filesystem type
|
|
properties:
|
|
fsType:
|
|
description: Type represents the FileSystem type of the block device
|
|
type: string
|
|
mountPoint:
|
|
description: MountPoint represents the mountpoint of the block device.
|
|
type: string
|
|
type: object
|
|
nodeAttributes:
|
|
description: NodeAttributes has the details of the node on which BD is attached
|
|
properties:
|
|
nodeName:
|
|
description: NodeName is the name of the Kubernetes node resource on which the device is attached
|
|
type: string
|
|
type: object
|
|
parentDevice:
|
|
description: "ParentDevice was intended to store the UUID of the parent Block Device as is the case for partitioned block devices. \n For example: /dev/sda is the parent for /dev/sda1 To be deprecated"
|
|
type: string
|
|
partitioned:
|
|
description: Partitioned represents if BlockDevice has partitions or not (Yes/No) Currently always default to No. To be deprecated
|
|
enum:
|
|
- "Yes"
|
|
- "No"
|
|
type: string
|
|
path:
|
|
description: Path contain devpath (e.g. /dev/sdb)
|
|
type: string
|
|
required:
|
|
- capacity
|
|
- devlinks
|
|
- nodeAttributes
|
|
- path
|
|
type: object
|
|
status:
|
|
description: DeviceStatus defines the observed state of BlockDevice
|
|
properties:
|
|
claimState:
|
|
description: ClaimState represents the claim state of the block device
|
|
enum:
|
|
- Claimed
|
|
- Unclaimed
|
|
- Released
|
|
type: string
|
|
state:
|
|
description: State is the current state of the blockdevice (Active/Inactive/Unknown)
|
|
enum:
|
|
- Active
|
|
- Inactive
|
|
- Unknown
|
|
type: string
|
|
required:
|
|
- claimState
|
|
- state
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|