XMLWordPrintable

    Details

    • Type: Bug
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Profile-YAML
    • Labels:
      None
    • Proposal:
      Hide

      In order to solve the issue (and to be flexible) I think that we could add a new key in the relationships declaration to allow specification of state expectations:

      state_wait:

      • node: <source | target>
        reaches: <node_state>
        wait_other: <node_state>

      when the node source or target reaches a defined node state it should wait for the other node to have reached the specified node state (or a state that follows in the lifecycle)

      For example DependsOn will be defined using the following:

      tosca.relationships.DependsOn:
      derived_from: tosca.relationships.Root
      description: >
      A generic depends on relationship.
      state_wait:

      1. when node source reaches initial state it requires the other node (target) to have reached started before to continue it's workflow.
      • node: source
        reaches: initial
        wait_other: started
        tosca.relationships.HostedOn:
      Show
      In order to solve the issue (and to be flexible) I think that we could add a new key in the relationships declaration to allow specification of state expectations: state_wait: node: <source | target> reaches: <node_state> wait_other: <node_state> when the node source or target reaches a defined node state it should wait for the other node to have reached the specified node state (or a state that follows in the lifecycle) For example DependsOn will be defined using the following: tosca.relationships.DependsOn: derived_from: tosca.relationships.Root description: > A generic depends on relationship. state_wait: when node source reaches initial state it requires the other node (target) to have reached started before to continue it's workflow. node: source reaches: initial wait_other: started tosca.relationships.HostedOn:

      Description

      Currently we have a quite good workflow for node management and relationships scripts injection. However one notion that is really important is a bit missing, what is the state of my target (or what I expect as target state) before some of my workflow is invoked.
      Right now the only operation that is triggered with a known state is add_target where both nodes are already started an this may not be enough.

      Basically in order to process most of HostedOn scenario (install a software on a compute, install a database on a RDBMS) I expect the target node to be started before the source node workflow is triggered.
      In some HostedOn scenarios I may want to launch create operation when the target node is created or configured (copy a war in the tomcat directory before it starts).
      There is the same problems related to connectsto relationship: for some components we may need to make sure that the target node is started before we call the pre_configure_source or post_configure_source (for example to configure a database in a configuration file before the application is started).

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              luc.boutier Luc Boutier (Inactive)
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: