Skip to content

Commit 82ae78a

Browse files
Merge pull request #1159 from rabi/node_selection_tests
Add doc and kuttl test for ansible job node selection
2 parents c2f6677 + 2c82ec8 commit 82ae78a

File tree

3 files changed

+131
-0
lines changed

3 files changed

+131
-0
lines changed

docs/assemblies/proc_deploying-the-data-plane.adoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,23 @@ spec:
2323
+
2424
* Replace `<nodeSet_name>` with the names of the `OpenStackDataPlaneNodeSet` CRs that you want to include in your data plane deployment.
2525

26+
* You can optionally provide `ansibleJobNodeSelector` to run the ansible jobs on specific set of OCP worker nodes. For example, worker nodes with `ctlplane` network, as ansible jobs require `ctlplane` NAD.
27+
+
28+
----
29+
apiVersion: dataplane.openstack.org/v1beta1
30+
kind: OpenStackDataPlaneDeployment
31+
metadata:
32+
name: edpm-deployment-ipam
33+
spec:
34+
nodeSets:
35+
- openstack-edpm-ipam
36+
- <nodeSet_name>
37+
- ...
38+
- <nodeSet_name>
39+
ansibleJobNodeSelector:
40+
nodeWith: ctlplane
41+
----
42+
+
2643
. Save the `openstack-edpm-deploy.yaml` deployment file.
2744

2845
. Deploy the data plane:
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
apiVersion: batch/v1
3+
kind: Job
4+
metadata:
5+
generation: 1
6+
labels:
7+
app: openstackansibleee
8+
openstackdataplanedeployment: edpm-compute-node-selection
9+
openstackdataplanenodeset: edpm-compute-no-nodes
10+
openstackdataplaneservice: configure-os
11+
name: configure-os-edpm-compute-node-selection-edpm-compute-no-nodes
12+
namespace: openstack-kuttl-tests
13+
ownerReferences:
14+
- apiVersion: dataplane.openstack.org/v1beta1
15+
blockOwnerDeletion: true
16+
controller: true
17+
kind: OpenStackDataPlaneDeployment
18+
name: edpm-compute-node-selection
19+
spec:
20+
backoffLimit: 6
21+
completionMode: NonIndexed
22+
completions: 1
23+
manualSelector: false
24+
parallelism: 1
25+
podReplacementPolicy: TerminatingOrFailed
26+
suspend: false
27+
template:
28+
metadata:
29+
annotations:
30+
k8s.v1.cni.cncf.io/networks: '[]'
31+
creationTimestamp: null
32+
labels:
33+
app: openstackansibleee
34+
batch.kubernetes.io/job-name: configure-os-edpm-compute-node-selection-edpm-compute-no-nodes
35+
openstackdataplanedeployment: edpm-compute-node-selection
36+
openstackdataplanenodeset: edpm-compute-no-nodes
37+
openstackdataplaneservice: configure-os
38+
spec:
39+
containers:
40+
- args:
41+
- ansible-runner
42+
- run
43+
- /runner
44+
- -p
45+
- osp.edpm.configure_os
46+
- -i
47+
- configure-os-edpm-compute-node-selection-edpm-compute-no-nodes
48+
env:
49+
- name: ANSIBLE_FORCE_COLOR
50+
value: "True"
51+
- name: RUNNER_PLAYBOOK
52+
value: |2+
53+
54+
osp.edpm.configure_os
55+
56+
- name: RUNNER_EXTRA_VARS
57+
value: |2+
58+
59+
edpm_override_hosts: edpm-compute-no-nodes
60+
edpm_service_type: configure-os
61+
edpm_services_override: [configure-os]
62+
63+
64+
imagePullPolicy: Always
65+
name: configure-os-edpm-compute-node-selection-edpm-compute-no-nodes
66+
resources: {}
67+
terminationMessagePath: /dev/termination-log
68+
terminationMessagePolicy: File
69+
volumeMounts:
70+
- mountPath: /runner/env/ssh_key
71+
name: ssh-key
72+
subPath: ssh_key
73+
- mountPath: /runner/inventory/hosts
74+
name: inventory
75+
subPath: inventory
76+
dnsPolicy: ClusterFirst
77+
nodeSelector:
78+
nodeWith: ctlplane
79+
restartPolicy: Never
80+
schedulerName: default-scheduler
81+
securityContext: {}
82+
serviceAccount: edpm-compute-no-nodes
83+
serviceAccountName: edpm-compute-no-nodes
84+
terminationGracePeriodSeconds: 30
85+
volumes:
86+
- name: ssh-key
87+
secret:
88+
defaultMode: 420
89+
items:
90+
- key: ssh-privatekey
91+
path: ssh_key
92+
secretName: dataplane-ansible-ssh-private-key-secret
93+
- name: inventory
94+
secret:
95+
defaultMode: 420
96+
items:
97+
- key: inventory
98+
path: inventory
99+
secretName: dataplanenodeset-edpm-compute-no-nodes
100+
status:
101+
active: 1
102+
terminating: 0
103+
uncountedTerminatedPods: {}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
apiVersion: dataplane.openstack.org/v1beta1
2+
kind: OpenStackDataPlaneDeployment
3+
metadata:
4+
name: edpm-compute-node-selection
5+
spec:
6+
nodeSets:
7+
- edpm-compute-no-nodes
8+
ansibleJobNodeSelector:
9+
nodeWith: ctlplane
10+
servicesOverride:
11+
- configure-os

0 commit comments

Comments
 (0)