-
Notifications
You must be signed in to change notification settings - Fork 0
/
enroll.uml
32 lines (31 loc) · 1.03 KB
/
enroll.uml
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
@startuml
actor User
participant "baremetal-operator" as BMO #green
participant "image-customization-controller" as ICC #yellow
participant ironic as Ironic #red
participant "web server" as HTTPD #red
participant "ironic-python-agent" as IPA #red
entity Machine
User->BMO: Create BareMetalHost
BMO->Ironic: Find Node by MAC or name
Ironic->BMO: Existing Node not found
BMO->Ironic: Create Node and Ports
Ironic->BMO: Credentials validation result
BMO->ICC: Request PreprovisioningImage
ICC->ICC: Cache ignition for host
ICC->BMO: URL in PreprovisioningImage
BMO->Ironic: Set ramdisk URL
BMO->Ironic: Start inspection
Ironic->ICC: Fetch IPA ramdisk
ICC->Ironic: CoreOS with ignition embedded
Ironic->HTTPD: Cache IPA ramdisk
Ironic->Machine: Set boot device and power on
Machine->HTTPD: Fetch IPA ramdisk
Machine->Machine: Start IPA container
IPA->IPA: Collect hardware inventory
IPA->Ironic: Send inspection data
Ironic->BMO: Inspection finished
IPA->Ironic: Heartbeating periodically
BMO->BMO: Create HardwareData
BMO->BMO: Make the host available
@enduml