Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Spec
    • Labels:
      None
    • Proposal:
      Hide
      • Add the use of operation names to control state changes. Define a core set of operations for core state transitions. (Of course that does not prevent some platform from automatically transitioning to some core states e.g. at loading time, nor to add new operations leading to a core state). The request could use: {"operation": "suspend"}
      • still allow as well for the "declarative" way to change state {"new_state": "suspended"}

        . This would mean that a platform may have to decide of a default transition path in case more than one exists.

      Concrete proposal: https://www.oasis-open.org/apps/org/workgroup/camp/download.php/50876/camp-spec-v1.1-issue-31-v3.doc

      Show
      Add the use of operation names to control state changes. Define a core set of operations for core state transitions. (Of course that does not prevent some platform from automatically transitioning to some core states e.g. at loading time, nor to add new operations leading to a core state). The request could use: {"operation": "suspend"} still allow as well for the "declarative" way to change state {"new_state": "suspended"} . This would mean that a platform may have to decide of a default transition path in case more than one exists. Concrete proposal: https://www.oasis-open.org/apps/org/workgroup/camp/download.php/50876/camp-spec-v1.1-issue-31-v3.doc

      Description

      (filed jointly with Tom Rutt)
      In CAMP draft there seems to be a confusion in section 6.11 about the name of a state and the name of the operation leading to that state.
      -----"

      {"new_state" : "<new-state-value>"}


      Where, new_state specifies the new desired value for the application state. This specification defines two such values: "suspend", and "resume,"..."-----
      But resume/suspend are operations - not "new states".
      In fact, it seems more natural to control lifecycle (state transitions) with operation names (like in CIMI) rather than by stating the "new state". The latter may appear more RESTful but is rather limited for controlling enterprise apps.

      The specification should clarify the state-changinf mechanism. Using operation names in requests instead of "new state" has some advantages:
      (a) There may be more than one way to get to a new state from a current state (so using state name is not enough).
      (b) There might be a need for operations that don't change state. E.g. an op that verifies whether or not a PDP is deployable on a platform even before we try to deploy it.
      Unless we are sure (a) and (b) never apply then we can use "new state" names (in which case 6.11 still need to be fixed). But that needs some investigation.

        Attachments

          Activity

            People

            • Assignee:
              jdurand2 Jacques Durand (Inactive)
              Reporter:
              jdurand2 Jacques Durand (Inactive)
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: