...
| draw.io Diagram | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
This service provides the download location (URL) required for RDK download Manager for dynamic Apps/packages/certs/tools installation. This module is responsible to trigger RDM Application. The module will do the security evaluation of the downloaded packages and verify the signature to ensure the installation of packages.
The App or binary name as part of rootfs is "rdkvfwupgrader". This module having below components
...
| tbd |
|---|
| tbd |
|---|
Below Sequence diagram is for device where maintenance manager is running
| draw.io Diagram | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
| PlantUML Macro |
|---|
@startuml title Reference legend |<back:Green> | Libraries | |<back:Yellow> | Cloud Endpoints | |<back:Grey> | Daemon | end legend @enduml |
...
| PlantUML Macro | ||
|---|---|---|
| ||
@startuml
participant mm
participant rdkvfwupdater
participant iarmlib #Green
participant rfclib #Green
participant jsonlib #Green
participant upgradelib #Green
participant utilslib #Green
participant downloadlib #Green
participant xconfserver #Yellow
participant parsinglib #Green
participant ssrserver #Yellow
participant flashapp
mm -> rdkvfwupdater : trigger
rdkvfwupdater -> rdkvfwupdater : initial validation
alt validation success
rdkvfwupdater -> utilslib : get device details
utilslib --> rdkvfwupdater : device details
rdkvfwupdater -> rfclib : get rfc data
rfclib --> rdkvfwupdater : rfc data
rdkvfwupdater -> jsonlib : create json request
jsonlib -> parsinglib : generic JSON parse/construct
parsinglib --> jsonlib : result
jsonlib --> rdkvfwupdater : json payload
rdkvfwupdater -> upgradelib : request xconf connection
upgradelib -> downloadlib : connect to xconf server
downloadlib -> xconfserver : request
alt xconf response success
xconfserver --> downloadlib : success response
downloadlib --> upgradelib : success response
upgradelib --> rdkvfwupdater : success response
rdkvfwupdater -> jsonlib : parse json data
jsonlib -> parsinglib : generic JSON parse/construct
parsinglib --> jsonlib : result
alt parsing success
jsonlib --> rdkvfwupdater : success response
rdkvfwupdater -> rdkvfwupdater : process json data
alt new image different
rdkvfwupdater -> upgradelib : download image
upgradelib -> downloadlib : download image
downloadlib -> ssrserver : request
ssrserver --> downloadlib : server status
alt server status 0
downloadlib --> upgradelib : success response
upgradelib --> rdkvfwupdater : success response
rdkvfwupdater -> flashapp : flash image
flashapp --> rdkvfwupdater : flash status
rdkvfwupdater -> iarmlib : success status
iarmlib --> mm : success status
else server status 18 or 28
downloadlib --> upgradelib : chunkdownload
upgradelib --> rdkvfwupdater : chunkdownload
rdkvfwupdater -> flashapp : flash image
flashapp --> rdkvfwupdater : flash status
rdkvfwupdater -> iarmlib : success status
iarmlib --> mm : success status
else server status 58
rdkvfwupdater -> rdkvfwupdater : recovery download
else other server status
downloadlib --> upgradelib : retry download
upgradelib --> rdkvfwupdater : retry download
rdkvfwupdater -> iarmlib : fail status
iarmlib --> mm : fail status
end
else same image
rdkvfwupdater -> iarmlib : success status
iarmlib --> mm : success status
end
else parsing fail
rdkvfwupdater -> iarmlib : fail status
iarmlib --> mm : fail status
end
else xconf response fail
xconfserver --> downloadlib : fail response
downloadlib --> upgradelib : fail response
upgradelib --> rdkvfwupdater : fail response
rdkvfwupdater -> iarmlib : fail status
iarmlib --> mm : fail status
end
else validation fail
rdkvfwupdater -> iarmlib : error status
iarmlib --> mm : error status
end
@enduml |
...