• Jérome Perrin's avatar
    proxy: support for software destruction · 03abf2af
    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.
    What's not clear is that maybe it should store the requested state and the current state.
    
    ```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
    ```
    03abf2af
slap.py 38.5 KB