-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbaremetal.openstack.org_openstackbaremetalsets.yaml
More file actions
406 lines (406 loc) · 18 KB
/
Copy pathbaremetal.openstack.org_openstackbaremetalsets.yaml
File metadata and controls
406 lines (406 loc) · 18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.18.0
name: openstackbaremetalsets.baremetal.openstack.org
spec:
group: baremetal.openstack.org
names:
kind: OpenStackBaremetalSet
listKind: OpenStackBaremetalSetList
plural: openstackbaremetalsets
shortNames:
- osbmset
- osbmsets
- osbms
singular: openstackbaremetalset
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Status
jsonPath: .status.conditions[0].status
name: Status
type: string
- description: Message
jsonPath: .status.conditions[0].message
name: Message
type: string
name: v1beta1
schema:
openAPIV3Schema:
description: OpenStackBaremetalSet is the Schema for the openstackbaremetalsets
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: OpenStackBaremetalSetSpec defines the desired state of OpenStackBaremetalSet
properties:
agentImageUrl:
description: AgentImageURL - Container image URL for the sidecar container
that discovers provisioning network IPs
type: string
apacheImageUrl:
description: ApacheImageURL - Container image URL for the main container
that serves the downloaded OS qcow2 image (osImage)
type: string
automatedCleaningMode:
default: metadata
description: |-
When set to disabled, automated cleaning will be avoided
during provisioning and deprovisioning.
enum:
- metadata
- disabled
type: string
baremetalHosts:
additionalProperties:
description: InstanceSpec Instance specific attributes
properties:
bmhLabelSelector:
additionalProperties:
type: string
description: BmhLabelSelector allows for the selection of a
particular BaremetalHost based on arbitrary labels
type: object
ctlPlaneIP:
description: CtlPlaneIP - Control Plane IP in CIDR notation
type: string
ctlplaneGateway:
description: 'CtlplaneGateway - IP of gateway for ctrlplane
network (TODO: acquire this is another manner?)'
type: string
ctlplaneInterface:
description: CtlplaneInterface - Interface on the provisioned
nodes to use for ctlplane network
type: string
ctlplaneVlan:
description: CtlplaneVlan - Vlan for ctlplane network
type: integer
networkData:
description: NetworkData - Host Network Data
properties:
name:
description: name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: namespace defines the space within which the
secret name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
userData:
description: UserData - Host User Data
properties:
name:
description: name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: namespace defines the space within which the
secret name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
type: object
description: BaremetalHosts - Map of hostname to Instance Spec for
all nodes to provision
type: object
bmhLabelSelector:
additionalProperties:
type: string
description: BmhLabelSelector allows for a sub-selection of BaremetalHosts
based on arbitrary labels
type: object
bmhNamespace:
default: openshift-machine-api
description: 'BmhNamespace Namespace to look for BaremetalHosts(default:
openshift-machine-api)'
type: string
bootstrapDns:
description: |-
BootstrapDNS - initial DNS nameserver values to set on the BaremetalHosts when they are provisioned.
Note that subsequent deployment will overwrite these values
items:
type: string
type: array
cloudUserName:
default: cloud-admin
description: CloudUser to be configured for remote access
type: string
ctlplaneGateway:
description: 'CtlplaneGateway - IP of gateway for ctrlplane network
(TODO: acquire this is another manner?)'
type: string
ctlplaneInterface:
description: CtlplaneInterface - Interface on the provisioned nodes
to use for ctlplane network
type: string
ctlplaneVlan:
description: CtlplaneVlan - Vlan for ctlplane network
type: integer
deploymentSSHSecret:
description: DeploymentSSHSecret - Name of secret holding the cloud-admin
ssh keys
type: string
dnsSearchDomains:
description: |-
DNSSearchDomains - initial DNS nameserver values to set on the BaremetalHosts when they are provisioned.
Note that subsequent deployment will overwrite these values
items:
type: string
type: array
domainName:
description: 'DomainName is the domain name that will be set on the
underlying Metal3 BaremetalHosts (TODO: acquire this is another
manner?)'
type: string
hardwareReqs:
description: Hardware requests for sub-selection of BaremetalHosts
with certain hardware specs
properties:
cpuReqs:
description: CPUReqs defines specific CPU hardware requests
properties:
arch:
description: |-
Arch is a scalar (string) because it wouldn't make sense to give it an "exact-match" option
Can be either "x86_64" or "ppc64le" if included
enum:
- x86_64
- ppc64le
type: string
countReq:
description: CPUCountReq defines a specific hardware request
for CPU core count
properties:
count:
minimum: 1
type: integer
exactMatch:
description: If ExactMatch == false, actual count > Count
will match
type: boolean
type: object
mhzReq:
description: CPUMhzReq defines a specific hardware request
for CPU clock speed
properties:
exactMatch:
description: If ExactMatch == false, actual mhz > Mhz
will match
type: boolean
mhz:
minimum: 1
type: integer
type: object
type: object
diskReqs:
description: DiskReqs defines specific disk hardware requests
properties:
gbReq:
description: DiskGbReq defines a specific hardware request
for disk size
properties:
exactMatch:
description: If ExactMatch == false, actual GB > Gb will
match
type: boolean
gb:
minimum: 1
type: integer
type: object
ssdReq:
description: SSD is scalar (bool) because it wouldn't make
sense to give it an "exact-match" option
properties:
exactMatch:
description: |-
We only actually care about SSD flag if it is true or ExactMatch is set to true.
This second flag is necessary as SSD's bool zero-value (false) is indistinguishable
from it being explicitly set to false
type: boolean
ssd:
type: boolean
type: object
type: object
memReqs:
description: MemReqs defines specific memory hardware requests
properties:
gbReq:
description: MemGbReq defines a specific hardware request
for memory size
properties:
exactMatch:
description: If ExactMatch == false, actual GB > Gb will
match
type: boolean
gb:
minimum: 1
type: integer
type: object
type: object
type: object
osContainerImageUrl:
description: OSContainerImageURL - Container image URL for init with
the OS qcow2 image (osImage)
type: string
osImage:
default: edpm-hardened-uefi.qcow2
description: OSImage - OS qcow2 image Name
type: string
passwordSecret:
description: |-
PasswordSecret the name of the secret used to optionally set the root pwd by adding
NodeRootPassword: <base64 enc pwd>
to the secret data
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
provisionServerName:
description: ProvisionServerName - Optional. Existing OpenStackProvisionServer
to use, else one would be created.
type: string
provisionServerNodeSelector:
additionalProperties:
type: string
description: ProvisonServerNodeSelector to target subset of worker
nodes running provision server
type: object
provisioningInterface:
description: ProvisioningInterface - Optional. If not provided along
with ProvisionServerName, it would be discovered from CBO. This
is the provisioning interface on the OCP masters/workers.
type: string
required:
- cloudUserName
- ctlplaneInterface
- deploymentSSHSecret
type: object
status:
description: OpenStackBaremetalSetStatus defines the observed state of
OpenStackBaremetalSet
properties:
baremetalHosts:
additionalProperties:
description: HostStatus represents the IPStatus and provisioning
state + deployment information
properties:
annotatedForDeletion:
default: false
description: Host annotated for deletion
type: boolean
bmhRef:
default: unassigned
type: string
hostname:
type: string
ipAddresses:
additionalProperties:
type: string
type: object
networkDataSecretName:
type: string
provisioningState:
description: ProvisioningState - the overall state of a BMH
type: string
userDataSecretName:
type: string
required:
- annotatedForDeletion
- bmhRef
- hostname
- networkDataSecretName
- provisioningState
- userDataSecretName
type: object
description: BaremetalHosts that are being processed or have been
processed for this OpenStackBaremetalSet
type: object
conditions:
description: Conditions
items:
description: Condition defines an observation of a API resource
operational state.
properties:
lastTransitionTime:
description: |-
Last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when
the API field changed is acceptable.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition
in CamelCase.
type: string
severity:
description: |-
Severity provides a classification of Reason code, so the current situation is immediately
understandable and could act accordingly.
It is meant for situations where Status=False and it should be indicated if it is just
informational, warning (next reconciliation might fix it) or an error (e.g. DB create issue
and no actions to automatically resolve the issue can/should be done).
For conditions where Status=Unknown or Status=True the Severity should be SeverityNone.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of condition in CamelCase.
type: string
required:
- lastTransitionTime
- status
- type
type: object
type: array
hash:
additionalProperties:
type: string
description: Map of hashes to track e.g. job status
type: object
observedGeneration:
description: |-
ObservedGeneration - the most recent generation observed for this
service. If the observed generation is less than the spec generation,
then the controller has not processed the latest changes injected by
the opentack-operator in the top-level CR (e.g. the ContainerImage)
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}