Skip to content

Commit bf58e3f

Browse files
moving provision state synchronization logic to sensor-ironic-oslo-event.yaml from sensor-ironic-node-update.yaml
1 parent b992e90 commit bf58e3f

File tree

5 files changed

+573
-16
lines changed

5 files changed

+573
-16
lines changed

components/site-workflows/sensors/sensor-ironic-node-update.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ metadata:
1111
- baremetal.node.create.end which happens when a baremetal node is created
1212
- baremetal.node.update.end which happens when node fields are updated
1313
- baremetal.node.delete.end which happens when a node is deleted
14-
- baremetal.node.provision_set.end which happens after a state change on the node
1514
1615
Resulting code should be very similar to:
1716
@@ -41,7 +40,6 @@ spec:
4140
- "baremetal.node.create.end"
4241
- "baremetal.node.update.end"
4342
- "baremetal.node.delete.end"
44-
- "baremetal.node.provision_set.end"
4543
template:
4644
serviceAccountName: sensor-submit-workflow
4745
triggers:

components/site-workflows/sensors/sensor-ironic-oslo-event.yaml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,16 @@ metadata:
1010
1111
- baremetal.node.provision_set.end which happens after a state change on the node
1212
13+
This sensor handles ALL provision state changes. The event handlers internally
14+
filter for specific states:
15+
- deploying: Sets up storage (volume connectors) for instances with storage enabled
16+
- inspecting: Updates Nautobot device with inspection data (inventory, ports)
17+
1318
Resulting code should be very similar to:
1419
1520
```
1621
argo -n argo-events submit --from workflowtemplate/openstack-oslo-event \
17-
-p event-json "JSON-payload" -p device_id=<UUID> -p project_id=<UUID>
22+
-p event-json "JSON-payload"
1823
```
1924
2025
Defined in `components/site-workflows/sensors/sensor-ironic-oslo-event.yaml`
@@ -39,11 +44,6 @@ spec:
3944
type: "string"
4045
value:
4146
- "baremetal.node.provision_set.end"
42-
- path: "body.ironic_object.previous_provision_state"
43-
type: "string"
44-
value:
45-
- "deploying"
46-
- "inspecting"
4747
template:
4848
serviceAccountName: sensor-submit-workflow
4949
triggers:
@@ -57,18 +57,14 @@ spec:
5757
src:
5858
dataKey: body
5959
dependencyName: ironic-dep
60-
- dest: spec.arguments.parameters.1.value # device_id
60+
- dest: spec.arguments.parameters.1.value # previous_provision_state
6161
src:
62-
dataKey: body.ironic_object.uuid
62+
dataKey: body.ironic_object.previous_provision_state
6363
dependencyName: ironic-dep
6464
- dest: spec.arguments.parameters.2.value # project_id
6565
src:
6666
dataKey: body.ironic_object.lessee
6767
dependencyName: ironic-dep
68-
- dest: spec.arguments.parameters.3.value # previous_provision_state
69-
src:
70-
dataKey: body.ironic_object.previous_provision_state
71-
dependencyName: ironic-dep
7268
source:
7369
# create a workflow in argo-events prefixed with ironic-prov-
7470
resource:
@@ -84,9 +80,8 @@ spec:
8480
arguments:
8581
parameters:
8682
- name: event-json
87-
- name: device_id
88-
- name: project_id
8983
- name: previous_provision_state
84+
- name: project_id
9085
templates:
9186
- name: main
9287
steps:

0 commit comments

Comments
 (0)