-
Notifications
You must be signed in to change notification settings - Fork 242
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a86258c
commit 247b4e0
Showing
3 changed files
with
496 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,257 @@ | ||
{ | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object" | ||
} |
Oops, something went wrong.