xlab-si / xopera-opera

xOpera orchestrator compliant with TOSCA YAML v1.3 in the making
https://xlab-si.github.io/xopera-docs/
Apache License 2.0
35 stars 14 forks source link

Repair the concurrency deployment integration test #185

Closed dradX closed 3 years ago

dradX commented 3 years ago

Description

With this issue, we want to repair the concurrency integration test showing the right interdependency of nodes done in the original test and changed in a subsequent commit. In the test the node dependency for node hello-14 should be used as defined in TOSCA 1.3 5.9.1.3 Definition tosca.nodes.Root where the dependency requirement has an UNBOUNDED max. limit of occurrences.

Steps

Running the test in the current version of the test with this code for node hello-14 executes without returning an error and produces the output not intended by the initial version of the test:

    hello-14:
      type: hello_type
      properties:
        time: "1"
      requirements:
        - host: my-workstation
        - dependency1:  hello-1
        - dependency2:  hello-2
        - dependency7:  hello-7
        - dependency13:  hello-13

Current behavior

Currently, opera executes the test without taking into account the undefined dependency1 requirement in which will be addressed in a separate issue. When defining dependencies for node hello-14 as in the initially intended test:

    hello-14:
      type: hello_type
      properties:
        time: "1"
      requirements:
        - host: my-workstation
        - dependency:  hello-1
        - dependency:  hello-2
        - dependency:  hello-7
        - dependency:  hello-13

opera produces the correct outputs.

Expected results

The execution of the corrected test should produce this output:

[Worker_0]   Deploying my-workstation_0
[Worker_0]   Deployment of my-workstation_0 complete
[Worker_0]   Deploying hello-1_0
[Worker_0]     Executing create on hello-1_0
[Worker_2]   Deploying hello-2_0
[Worker_3]   Deploying hello-3_0
[Worker_4]   Deploying hello-4_0
[Worker_5]   Deploying hello-8_0
[Worker_6]   Deploying hello-9_0
[Worker_7]   Deploying hello-10_0
[Worker_4]     Executing create on hello-4_0
[Worker_2]     Executing create on hello-2_0
[Worker_5]     Executing create on hello-8_0
[Worker_3]     Executing create on hello-3_0
[Worker_6]     Executing create on hello-9_0
[Worker_7]     Executing create on hello-10_0
[Worker_4]     Executing start on hello-4_0
[Worker_3]     Executing start on hello-3_0
[Worker_6]     Executing start on hello-9_0
[Worker_7]     Executing start on hello-10_0
[Worker_3]   Deployment of hello-3_0 complete
[Worker_1]   Deploying hello-12_0
[Worker_1]     Executing create on hello-12_0
[Worker_4]   Deployment of hello-4_0 complete
[Worker_3]   Deploying hello-13_0
[Worker_3]     Executing create on hello-13_0
[Worker_6]   Deployment of hello-9_0 complete
[Worker_5]     Executing start on hello-8_0
[Worker_2]     Executing start on hello-2_0
[Worker_0]     Executing start on hello-1_0
[Worker_1]     Executing start on hello-12_0
[Worker_7]   Deployment of hello-10_0 complete
[Worker_3]     Executing start on hello-13_0
[Worker_1]   Deployment of hello-12_0 complete
[Worker_3]   Deployment of hello-13_0 complete
[Worker_2]   Deployment of hello-2_0 complete
[Worker_0]   Deployment of hello-1_0 complete
[Worker_8]   Deploying hello-5_0
[Worker_4]   Deploying hello-11_0
[Worker_5]   Deployment of hello-8_0 complete
[Worker_4]     Executing create on hello-11_0
[Worker_8]     Executing create on hello-5_0
[Worker_4]     Executing start on hello-11_0
[Worker_8]     Executing start on hello-5_0
[Worker_8]   Deployment of hello-5_0 complete
[Worker_4]   Deployment of hello-11_0 complete
[Worker_4]   Deploying hello-6_0
[Worker_4]     Executing create on hello-6_0
[Worker_4]     Executing start on hello-6_0
[Worker_4]   Deployment of hello-6_0 complete
[Worker_6]   Deploying hello-7_0
[Worker_6]     Executing create on hello-7_0
[Worker_6]     Executing start on hello-7_0
[Worker_6]   Deployment of hello-7_0 complete
[Worker_7]   Deploying hello-14_0
[Worker_7]     Executing create on hello-14_0
[Worker_7]     Executing start on hello-14_0
[Worker_7]   Deployment of hello-14_0 complete
anzoman commented 3 years ago

@dradX thanks for submitting this issue. We will try to resolve it as soon as possible.