• Romain Courteaud's avatar
    slapos_cloud: add virtual master concept · e7f744c8
    Romain Courteaud authored
    Drop the allocation scope open/subscription/public logic.
    
    Instead, use Project as Virtual Master, and force
    all slapos_cloud object to be linked to one Project:
    * every Compute Node is linked to a Project
    * any Project's Instance can be allocated on a Project's Compute Node
    
    Allocation is managed by configuring an Allocation Supply document,
    which defined on which Compute Node a Software Product can be allocated.
    
    User are not allowed anymore to change the release/type/shared state of their Instance Tree.
    
    Managing Compute Node is done on the virtual master level, and so,
    there is no need to define any Compute Node administrator.
    
    A Software Product is a variated resource with 2 axes: software release url and softare type.
    
    Slave Instance are now allocated on Instance Node, which is created
    from the Software Instance which will control the configuration.
    Slave Instance allocation is also controlled by an Allocation Supply,
    which allow separating the Software Instance and Slave Instances versions.
    
    There could be any number of virtual master in the system.
    Every virtual master defines its own Software Products.
    Because of this, it is not possible to change a document's virtual master
    after its creation.
    
    Instance request can be propagated on another virtual master, by
    allocating them on a Remote Node document, which will generate
    a new Instance Tree request on another virtual master.
    
    Also in this commit:
    * trigger alarms as soon as possible with interaction workflow
      which allows to reduce some alarms frequency
    * drop never used Organisation logic
    * drop person.requestSite
    * drop audit_validation_workflow
    * drop ComputePartition_getCustomAllocationParameterDict
      This is a hack incompatible with virtual master standalone logic.
    * drop cloud contract
    * do not sort security base category when generating local roles
      Otherwise, it is not possible to ensure source_section/function and destination/function generate the same local role
    * stop using hardcoded currency/organisation/trade condition/business process
    * drop templates usages
    * add One Time Virtual Master Access Token portal type
      Needed for compatibility with the compute node deploy script
    e7f744c8
test.erp5.testSlapOSCloudAlarm.py 64.6 KB