Skip to content

Commit 19f9bbd

Browse files
committed
Update the workflow and implementation plan
Signed-off-by: Srinivasamurthy, Ramakrishna <ramakrishna.srinivasamurthy@intel.com>
1 parent 4d2990e commit 19f9bbd

1 file changed

Lines changed: 55 additions & 5 deletions

File tree

design-proposals/separation-of-onboard-and-provisioning.md

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,67 @@ Onboarding steps those should be done on the edge node includes
4848

4949
5. If the host resource is associated with custom config(cloud-init) then it there should be a way to run run cloud-init stpes on the edge node as a post onboarding step.
5050

51-
### Scope
51+
## Scope and Implementation plan
5252

5353
EMF side steps to skip the provisioning workflow.
5454

55-
1. DKAM should curate and host the installer script in the tinker-nginx service. It should also read the configuration with enabled capabilities of EMF (App orchestration, cluster orchestration, observability). Based on that it shall include the respective agent installations.
55+
1. Device disocery agent - Build debian for the device discovery agent and include it in the agent installer script which does onboarding(non-interactive) and gets required keycloak credentials to the edge node. Until device discovery completes the onboarding other agents installation shouldn't be started.
5656

57-
2. Onboarding manager should skip the provisioning flow to creation of the tinkerbell workflow if edge node is registered with skip provisioning flow option. It should update the inventory with required instance resource fields like provisioning status and status indicator fields.
57+
2. DKAM - should curate and host the installer script in the tinker-nginx service. It should also read the configuration with enabled capabilities of EMF (App orchestration, cluster orchestration, observability). Based on that configuration it shall include the respective agent installations. It should include device discovery agent.
5858

59-
3. Build debian for the device discovery agent and include it in the agent installer script which does onboarding(non-interactive) and required keycloak credentials for the edge node.
59+
3. Onboarding manager - Should skip the provisioning flow to creation of the tinkerbell workflow if edge node is registered with skip provisioning flow option. It should update the inventory with required instance resource fields like provisioning status and status indicator fields. Creation of instance resource with mapping OS resource of Edge node.
60+
61+
4. API-v2 and inventory changes to include new field, skip provisioning flow in host resource.
62+
63+
5. Orch-cli/Infra web-ui changes for device registration to include the new field skip provisiong flow. By default skip provisioning flow will be set to false.
6064

61-
### Workflow
6265

6366

67+
### Workflow
68+
69+
```mermaid
70+
sequenceDiagram
71+
autonumber
72+
participant User
73+
box rgba(32, 194, 142, 1) Edge Node
74+
participant DeviceDiscovery as Device Discovery Agent
75+
participant EdgeNode as Edge Node
76+
end
77+
78+
box rgba(10, 184, 242, 1) Orchestrator Components
79+
participant API as API-v2
80+
participant TinkerNginx as Tinker-Nginx
81+
participant OnboardingMgr as Onboarding Manager
82+
participant DKAM
83+
participant Inventory
84+
end
85+
86+
DKAM->>DKAM: Read EMF capabilities from infra-config
87+
DKAM->>TinkerNginx: Curate & host installer script
88+
89+
User->>API: Register edge node using orch-cli/UI(skip provisioning = true)
90+
API->>Inventory: Create host resource with provisioning skipped
91+
API-->>User: Registration confirmed
92+
93+
94+
Note over User,EdgeNode: User shall trigger the onboarding flow
95+
User->>EdgeNode: Login to edge node which has Ubuntu 22.04 or 24.04 pre-installed
96+
EdgeNode->>TinkerNginx: Download installer script to edge node
97+
EdgeNode->>EdgeNode: Run the installer script Install system packages
98+
EdgeNode->>EdgeNode: Upgrade kernel (if needed)
99+
EdgeNode->>EdgeNode: Install Device Discovery Agent (debian)
100+
DeviceDiscovery->>DeviceDiscovery: Start Device Discovery Agent
101+
DeviceDiscovery->>OnboardingMgr: Non-interactive onboarding request(TLS)
102+
alt If device not found
103+
OnboardingMgr->>DeviceDiscovery: Error Device not found
104+
else
105+
OnboardingMgr->>Inventory: Update Onboarding and Provisioning status as completed
106+
OnboardingMgr->>DeviceDiscovery: Return onboarding credentials
107+
EdgeNode->>EdgeNode: Install node agent and other EN agents
108+
EdgeNode->>EdgeNode: Configure agents with onboading credentials
109+
EdgeNode->>EdgeNode: Edge agent communicate with respective Infra managers using JWT token
110+
EdgeNode->>EdgeNode: Enable and Start all agents as systemd services
111+
end
112+
EdgeNode->>EdgeNode: Ready for Day2 operations(Update & remote power management)
113+
```
64114

0 commit comments

Comments
 (0)