...
| 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 |
NEW DEVICE SYSTEM :NEW DEVICE SYSTEM: