On Tue, Oct 3, 2017 at 11:58 AM, Steve Baillargeon < [email protected]> wrote:
> > It looks like for the normative install workflow, the target node is > always created before the source node regardless of the relationship (and > regardless if it is a normative or custom relationship). > Is this correct? And only a custom workflow can change this "default > direction/ordering", right? > Correct. > For instance, if I stop the target node (target node state goes from > STARTED to CONFIGURED), will ARIA actually perform a target_changed > operation on the source node? > How do you stop just one node? You would a custom workflow for that, and I imagine behavior would have to be very domain-specific if you want the service to remain stable. As for target_changed, I don't think ARIA checks the state when executing any operation. The state is there for you to access and possibly consider when implementation the operation. But ARIA can't know what to do. > If so, what is the information provided in the target_changed? > The operation is defined in the normative interface type as empty, without inputs. That said, ARIA provides a rich interface to the complete context: https://cwiki.apache.org/confluence/display/ARIATOSCA/Execution+Context > Does the ST designer need to specify an implementation artifact for such > operation? > No, ARIA will just skip operations without implementations. *However*, it will still change the state accordingly: an operation without an implementation is considered always to succeed in this case. (And the oppoiste is also true: if an implementation artifact fails to run, the state will not be changed, and indeed the workflow as a whole will fail.) > In your opinion, should the state of the source node also changed to > CONFIGURED in such case, say for a hosted on relationship? > My opinion doesn't matter too much here, since we are trying to follow the spec as closely as possible... and I recall we had some challenges here, because there was some conflicting information. If you can make a convincing case one way or another, with reference to the spec and its potential errors, then of course we can implement it.
