Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for TOSCA workflows #77

Open
anzoman opened this issue Jul 23, 2020 · 0 comments
Open

Add support for TOSCA workflows #77

anzoman opened this issue Jul 23, 2020 · 0 comments
Labels
enhancement New feature or request TOSCA Something that considers TOSCA standard

Comments

@anzoman
Copy link
Contributor

anzoman commented Jul 23, 2020

Description

This issue is concerning adding the support for the TOSCA Workflows, which from the perspective of the TOSCA template represent the (optional) YAML map of imperative workflow definitions for the topology template.

TOSCA Workflows can be used to deploy, manage or undeploy TOSCA topology template. There are declarative and imperative workflows. Declarative ones are already supported since they are automatically generated by the opera orchestrator during the process of template instantiation. Imperative workflows are on the other hand specified manually by the user in order to define his own orchestration workflow which is usually not similar to the declarative one.

And this is what we probably want to have in the future. These workflows are useful also because they can be triggered by TOSCA policies on deployment or on undeployment or even during runtime, manually, or automatically. It is also important to abide by the note in the TOSCA standard which says that orchestrators should execute only one workflow at a time on a topology.

Steps

To implement the TOSCA Workflows we would have to update our TOSCA YAML parser so that opera will be able to parse these workflows and then we will also have to update the order and execution of these operations within nodes and relationships that are part of the topology. Here I surely did not mention everything we would have to do to support this new feature but certainly there will be a lot of work to do in order to support fully this.

Current behaviour

Right now opera does not support (imperative) workflow definitions.

Expected results

To be able to use other imperative TOSCA workflows within TOSCA topology templates.

Note

I am attaching one relatively simple TOSCA Workflows example (from TOSCA Simple Profile in YAML section 7.3.2.1):

topology_template:
  node_templates:
    my_server:
      type: tosca.nodes.Compute

    mysql:
      type: tosca.nodes.DBMS.MySQL
      requirements:
        - host: my_server
      interfaces:
        tosca.interfaces.nodes.custom.Backup:
          operations:
            backup: backup.yaml

  workflows:
    backup:
      description: Performs a snapshot of the MySQL data.
      steps:
        my_step:
          target: mysql
          activities:
            - call_operation: tosca.interfaces.nodes.custom.Backup.backup
@anzoman anzoman added the enhancement New feature or request label Jul 23, 2020
@anzoman anzoman added the TOSCA Something that considers TOSCA standard label Mar 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request TOSCA Something that considers TOSCA standard
Projects
None yet
Development

No branches or pull requests

1 participant