Versions Compared

Key

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

...

Each of the life cycle operation is a workflow resulting in either provisioning or deleting multiple CloudStack resources. Its not possible to achieve atomicity. There is no guarantee a workflow of a life cycle operation will succeed due to lack of 2PC like model of resource reservation followed by provisioning semantics. Also there is guarantee rollback getting succeeded. For e.g. while provisioning a cluster of size 10 VM's, deployment may run out of capacity to provision any more VM's after provisioning 5 Vm's . In which case as rollback provisioned VM's can be destroyed. But there can be cases where deleting a provisioned VM is not possible temporarily like disconnected hosts etc. Below approach is followed.

    • Do a best effort rollback for a life cycle operation in case of failure
    • In case rollback fails, have reconciliation mechanisms that will ensure eventual consistency

Image Added

 

Below state machine captures the state of container cluster as it goes through various life-cycle operations. Not all states are necessarily end user visible.

...