Skip to content

Commit a755a9c

Browse files
committed
Add DT using BMO / Metal3 provisioning
1 parent 21ece11 commit a755a9c

30 files changed

+2037
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: metal3.io/v1alpha1
2+
kind: BareMetalHost
3+
metadata:
4+
labels: {}
5+
name: _ignored_
6+
namespace: openstack
7+
spec:
8+
architecture: x86_64
9+
automatedCleaningMode: metadata
10+
bmc: {}
11+
bootMACAddress: _replaced_
12+
bootMode: UEFI
13+
rootDeviceHints: {}
14+
online: false
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
apiVersion: metal3.io/v1alpha1
3+
kind: BareMetalHost
4+
metadata:
5+
labels: {}
6+
name: leaf0-0
7+
namespace: openstack
8+
---
9+
apiVersion: metal3.io/v1alpha1
10+
kind: BareMetalHost
11+
metadata:
12+
labels: {}
13+
name: leaf0-1
14+
namespace: openstack
15+
---
16+
apiVersion: metal3.io/v1alpha1
17+
kind: BareMetalHost
18+
metadata:
19+
labels: {}
20+
name: leaf1-0
21+
namespace: openstack
22+
---
23+
apiVersion: metal3.io/v1alpha1
24+
kind: BareMetalHost
25+
metadata:
26+
labels: {}
27+
name: leaf1-1
28+
namespace: openstack
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: bmc-secret
5+
namespace: openstack
6+
data:
7+
username: _raplaced_
8+
password: _replaced_
9+
type: Opaque
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1alpha1
3+
kind: Component
4+
5+
resources:
6+
- bmc_secret.yaml
7+
- baremetalhosts.yaml
8+
9+
patches:
10+
- target:
11+
kind: BareMetalHost
12+
path: baremetalhost_template.yaml
13+
14+
replacements:
15+
- source:
16+
kind: ConfigMap
17+
name: baremetalhost-values
18+
fieldPath: data.bmc_credentials
19+
targets:
20+
- select:
21+
kind: Secret
22+
name: bmc-secret
23+
fieldPaths:
24+
- data
25+
options:
26+
create: true
27+
28+
# Labels
29+
- source:
30+
kind: ConfigMap
31+
name: baremetalhost-values
32+
fieldPath: data.leaf0-0.labels
33+
targets:
34+
- select:
35+
kind: BareMetalHost
36+
name: leaf0-0
37+
fieldPaths:
38+
- metadata.labels
39+
options:
40+
create: true
41+
- source:
42+
kind: ConfigMap
43+
name: baremetalhost-values
44+
fieldPath: data.leaf0-1.labels
45+
targets:
46+
- select:
47+
kind: BareMetalHost
48+
name: leaf0-1
49+
fieldPaths:
50+
- metadata.labels
51+
options:
52+
create: true
53+
- source:
54+
kind: ConfigMap
55+
name: baremetalhost-values
56+
fieldPath: data.leaf1-0.labels
57+
targets:
58+
- select:
59+
kind: BareMetalHost
60+
name: leaf1-0
61+
fieldPaths:
62+
- metadata.labels
63+
options:
64+
create: true
65+
- source:
66+
kind: ConfigMap
67+
name: baremetalhost-values
68+
fieldPath: data.leaf1-1.labels
69+
targets:
70+
- select:
71+
kind: BareMetalHost
72+
name: leaf1-1
73+
fieldPaths:
74+
- metadata.labels
75+
options:
76+
create: true
77+
78+
# BMC
79+
- source:
80+
kind: ConfigMap
81+
name: baremetalhost-values
82+
fieldPath: data.leaf0-0.bmc
83+
targets:
84+
- select:
85+
kind: BareMetalHost
86+
name: leaf0-0
87+
fieldPaths:
88+
- spec.bmc
89+
options:
90+
create: true
91+
- source:
92+
kind: ConfigMap
93+
name: baremetalhost-values
94+
fieldPath: data.leaf0-1.bmc
95+
targets:
96+
- select:
97+
kind: BareMetalHost
98+
name: leaf0-1
99+
fieldPaths:
100+
- spec.bmc
101+
options:
102+
create: true
103+
- source:
104+
kind: ConfigMap
105+
name: baremetalhost-values
106+
fieldPath: data.leaf1-0.bmc
107+
targets:
108+
- select:
109+
kind: BareMetalHost
110+
name: leaf1-0
111+
fieldPaths:
112+
- spec.bmc
113+
options:
114+
create: true
115+
- source:
116+
kind: ConfigMap
117+
name: baremetalhost-values
118+
fieldPath: data.leaf1-1.bmc
119+
targets:
120+
- select:
121+
kind: BareMetalHost
122+
name: leaf1-1
123+
fieldPaths:
124+
- spec.bmc
125+
options:
126+
create: true
127+
# bootMACAddress
128+
- source:
129+
kind: ConfigMap
130+
name: baremetalhost-values
131+
fieldPath: data.leaf0-0.bootMACAddress
132+
targets:
133+
- select:
134+
kind: BareMetalHost
135+
name: leaf0-0
136+
fieldPaths:
137+
- spec.bootMACAddress
138+
options:
139+
create: true
140+
- source:
141+
kind: ConfigMap
142+
name: baremetalhost-values
143+
fieldPath: data.leaf0-1.bootMACAddress
144+
targets:
145+
- select:
146+
kind: BareMetalHost
147+
name: leaf0-1
148+
fieldPaths:
149+
- spec.bootMACAddress
150+
options:
151+
create: true
152+
- source:
153+
kind: ConfigMap
154+
name: baremetalhost-values
155+
fieldPath: data.leaf1-0.bootMACAddress
156+
targets:
157+
- select:
158+
kind: BareMetalHost
159+
name: leaf1-0
160+
fieldPaths:
161+
- spec.bootMACAddress
162+
options:
163+
create: true
164+
- source:
165+
kind: ConfigMap
166+
name: baremetalhost-values
167+
fieldPath: data.leaf1-1.bootMACAddress
168+
targets:
169+
- select:
170+
kind: BareMetalHost
171+
name: leaf1-1
172+
fieldPaths:
173+
- spec.bootMACAddress
174+
options:
175+
create: true
176+
177+
# rootDeviceHints
178+
- source:
179+
kind: ConfigMap
180+
name: baremetalhost-values
181+
fieldPath: data.leaf0-0.rootDeviceHints
182+
targets:
183+
- select:
184+
kind: BareMetalHost
185+
name: leaf0-0
186+
fieldPaths:
187+
- spec.rootDeviceHints
188+
options:
189+
create: true
190+
- source:
191+
kind: ConfigMap
192+
name: baremetalhost-values
193+
fieldPath: data.leaf0-1.rootDeviceHints
194+
targets:
195+
- select:
196+
kind: BareMetalHost
197+
name: leaf0-1
198+
fieldPaths:
199+
- spec.rootDeviceHints
200+
options:
201+
create: true
202+
- source:
203+
kind: ConfigMap
204+
name: baremetalhost-values
205+
fieldPath: data.leaf1-0.rootDeviceHints
206+
targets:
207+
- select:
208+
kind: BareMetalHost
209+
name: leaf1-0
210+
fieldPaths:
211+
- spec.rootDeviceHints
212+
options:
213+
create: true
214+
- source:
215+
kind: ConfigMap
216+
name: baremetalhost-values
217+
fieldPath: data.leaf1-1.rootDeviceHints
218+
targets:
219+
- select:
220+
kind: BareMetalHost
221+
name: leaf1-1
222+
fieldPaths:
223+
- spec.rootDeviceHints
224+
options:
225+
create: true

dt/bmo/dataplane/kustomization.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1alpha1
3+
kind: Component
4+
5+
transformers:
6+
- |-
7+
apiVersion: builtin
8+
kind: NamespaceTransformer
9+
metadata:
10+
name: _ignored_
11+
namespace: openstack
12+
setRoleBindingSubjects: none
13+
unsetOnly: true
14+
fieldSpecs:
15+
- path: metadata/name
16+
kind: Namespace
17+
create: true
18+
19+
components:
20+
- ../../../lib/dataplane/deployment
21+
22+
patches:
23+
- target:
24+
kind: OpenStackDataPlaneDeployment
25+
name: .*
26+
patch: |-
27+
- op: replace
28+
path: /spec/nodeSets
29+
value:
30+
- nodeset-0
31+
- nodeset-1
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1alpha1
3+
kind: Component
4+
5+
transformers:
6+
- |-
7+
apiVersion: builtin
8+
kind: NamespaceTransformer
9+
metadata:
10+
name: _ignored_
11+
namespace: openstack
12+
setRoleBindingSubjects: none
13+
unsetOnly: true
14+
fieldSpecs:
15+
- path: metadata/name
16+
kind: Namespace
17+
create: true
18+
19+
resources:
20+
- openstackdataplanenodesets.yaml
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
apiVersion: dataplane.openstack.org/v1beta1
3+
kind: OpenStackDataPlaneNodeSet
4+
metadata:
5+
name: nodeset-0
6+
spec:
7+
env:
8+
- name: ANSIBLE_FORCE_COLOR
9+
value: "True"
10+
preProvisioned: false
11+
baremetalSetTemplate:
12+
deploymentSSHSecret: dataplane-ansible-ssh-private-key-secret
13+
bmhNamespace: openstack
14+
cloudUserName: cloud-user
15+
bmhLabelSelector:
16+
app: openstack
17+
nodeset: leaf0
18+
ctlplaneInterface: enp5s0
19+
networkAttachments:
20+
- ctlplane
21+
nodeTemplate:
22+
ansibleSSHPrivateKeySecret: dataplane-ansible-ssh-private-key-secret
23+
managementNetwork: ctlplane
24+
---
25+
apiVersion: dataplane.openstack.org/v1beta1
26+
kind: OpenStackDataPlaneNodeSet
27+
metadata:
28+
name: nodeset-1
29+
spec:
30+
env:
31+
- name: ANSIBLE_FORCE_COLOR
32+
value: "True"
33+
preProvisioned: false
34+
baremetalSetTemplate:
35+
deploymentSSHSecret: dataplane-ansible-ssh-private-key-secret
36+
bmhNamespace: openstack
37+
cloudUserName: cloud-user
38+
bmhLabelSelector:
39+
app: openstack
40+
nodeset: leaf1
41+
ctlplaneInterface: enp5s0
42+
networkAttachments:
43+
- ctlplane
44+
nodeTemplate:
45+
ansibleSSHPrivateKeySecret: dataplane-ansible-ssh-private-key-secret
46+
managementNetwork: ctlplane
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
apiVersion: v1
3+
data:
4+
authorized_keys: _replaced_
5+
ssh-privatekey: _replaced_
6+
ssh-publickey: _replaced_
7+
kind: Secret
8+
metadata:
9+
name: dataplane-ansible-ssh-private-key-secret
10+
namespace: openstack
11+
type: Opaque

0 commit comments

Comments
 (0)