• Julien Muchembled's avatar
    Clean up SoftwareReleaseSchema · 2b80692d
    Julien Muchembled authored
    This is mainly about error handling, simpler and more useful.
    
    - Always warn when a valid SR can't be loaded, with a message that
      contains the original exception (for example, compared to before
      this commit, it will tell if a JSON file can't be found,
      or where JSON has syntax errors).
    
    - Same as previous point if serialisation type is invalid or missing.
      If the caller needs it to transform parameters (parameters file),
      it will raise with the original exception. Otherwise, it falls back
      on json-in-xml. In some places, such fallback is a change of
      behaviour and I have no opinion about it except that at least
      it's now consistent throughout slapos.core.
    
    - Remove warning about RootSoftwareInstance/default: meaningless
      because contradicted the comment, and useless because the transition
      to 'default' is already complete for SR schemas. There are still 3
      lines of backward compatibility code for the rest of slapos.core.
    
    - Don't read the same file several times. Note however that this
      performance fix is only for the SoftwareReleaseSchema class:
      the caller should be fixed to not instanciate several times with
      the same parameters (from do_request & _requestComputerPartition).
    
    See merge request nexedi/slapos.core!621
    2b80692d
slap.py 32.2 KB