Skip to content

Commit 6b7c60e

Browse files
committed
feat: add test case for gpupool_controller
1 parent 55e9d42 commit 6b7c60e

11 files changed

+2998
-6
lines changed
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.16.4
7+
name: gpunodeclasses.tensor-fusion.ai
8+
spec:
9+
group: tensor-fusion.ai
10+
names:
11+
kind: GPUNodeClass
12+
listKind: GPUNodeClassList
13+
plural: gpunodeclasses
14+
singular: gpunodeclass
15+
scope: Cluster
16+
versions:
17+
- name: v1
18+
schema:
19+
openAPIV3Schema:
20+
description: GPUNodeClass is the Schema for the gpunodeclasses API.
21+
properties:
22+
apiVersion:
23+
description: |-
24+
APIVersion defines the versioned schema of this representation of an object.
25+
Servers should convert recognized schemas to the latest internal value, and
26+
may reject unrecognized values.
27+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
28+
type: string
29+
kind:
30+
description: |-
31+
Kind is a string value representing the REST resource this object represents.
32+
Servers may infer this from the endpoint the client submits requests to.
33+
Cannot be updated.
34+
In CamelCase.
35+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
36+
type: string
37+
metadata:
38+
type: object
39+
spec:
40+
description: GPUNodeClassSpec defines the desired state of GPUNodeClass.
41+
properties:
42+
blockDeviceMappings:
43+
items:
44+
properties:
45+
deviceName:
46+
type: string
47+
ebs:
48+
properties:
49+
deleteOnTermination:
50+
default: true
51+
type: boolean
52+
encrypted:
53+
default: false
54+
type: boolean
55+
volumeSize:
56+
type: string
57+
volumeType:
58+
type: string
59+
type: object
60+
type: object
61+
type: array
62+
instanceProfile:
63+
description: The instance profile to use, assign IAM role and permissions
64+
for EC2 instances
65+
type: string
66+
launchTemplate:
67+
description: The launch template to use for VM instances, if set,
68+
all other fields could be skipped
69+
properties:
70+
id:
71+
description: The item ID
72+
type: string
73+
name:
74+
description: The item name
75+
type: string
76+
tags:
77+
additionalProperties:
78+
type: string
79+
description: Query by tags
80+
type: object
81+
type: object
82+
metadataOptions:
83+
description: for AWS only, IMDSv2 metadata service options
84+
properties:
85+
httpEndpoint:
86+
default: true
87+
type: boolean
88+
httpProtocolIPv6:
89+
default: false
90+
type: boolean
91+
httpPutResponseHopLimit:
92+
default: 1
93+
type: integer
94+
httpTokens:
95+
default: required
96+
type: string
97+
type: object
98+
osImageSelectorTerms:
99+
description: the OS image identifier string, default to use first
100+
one, if not found, fallback to others
101+
items:
102+
properties:
103+
id:
104+
description: The item ID
105+
type: string
106+
name:
107+
description: The item name
108+
type: string
109+
tags:
110+
additionalProperties:
111+
type: string
112+
description: Query by tags
113+
type: object
114+
type: object
115+
type: array
116+
osImageType:
117+
default: Private
118+
description: Could be private or public, varies in different cloud
119+
vendor, define where to query the OSImageID
120+
enum:
121+
- Private
122+
- Public
123+
- System
124+
type: string
125+
securityGroupSelectorTerms:
126+
items:
127+
properties:
128+
id:
129+
description: The item ID
130+
type: string
131+
name:
132+
description: The item name
133+
type: string
134+
tags:
135+
additionalProperties:
136+
type: string
137+
description: Query by tags
138+
type: object
139+
type: object
140+
type: array
141+
subnetSelectorTerms:
142+
items:
143+
properties:
144+
id:
145+
description: The item ID
146+
type: string
147+
name:
148+
description: The item name
149+
type: string
150+
tags:
151+
additionalProperties:
152+
type: string
153+
description: Query by tags
154+
type: object
155+
type: object
156+
type: array
157+
tags:
158+
additionalProperties:
159+
type: string
160+
type: object
161+
userData:
162+
type: string
163+
type: object
164+
status:
165+
description: GPUNodeClassStatus defines the observed state of GPUNodeClass.
166+
type: object
167+
type: object
168+
served: true
169+
storage: true
170+
subresources:
171+
status: {}

0 commit comments

Comments
 (0)