Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PlantUML Macro
scriptrefactorsequencediag
@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: