• Jérome Perrin's avatar
    proxy: support for software destruction · 598f762b
    Jérome Perrin authored
    This introduces a new `state` column in `software` table.
    
    Because node already has support for reporting various states of software
    lifetime, this implementation stores the actual state of the software
    installation.
    
    ```plantuml
    @startuml
    start
    repeat
      -> client request software in state available \n ""supplySupply?state="available""";
      if (already available ?) then (yes)
        :available;
      else (no )
        :install_requested;
        -> node starts building \n ""buildingSoftwareRelease"";
        :building;
        if ( build result? ) then ( node report build successful \n ""availableSoftwareRelease"" )
          :available;
        else (node report build error \n ""softwareReleaseError"" )
          :error;
        endif
      endif
    repeat while ()
    
    -> client request software in state destroyed \n ""supplySupply?state="destroyed""";;
    :destroyed;
    -> node notify software is deleted \n""destroyedSoftwareRelease"";
    stop
    @enduml
    ```
    598f762b
slap.py 38.5 KB