Details

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

      Option 1
      --------
      In this option we are using a compute that only describes the physical attributes of a compute.
      In addition there will be a deriving node type that's adding additional properties for the TOSCA container connectivity to that Compute:

      node_types:
      tosca.nodes.Compute:

      1. This is exactly the same compute as defined in the YAML spec.

      tosca.nodes.AccesibleCompute:
      derived_from: tosca.nodes.Compute
      properties:
      username:
      type: string
      required: true
      description: The username that will be used to allow life cycle management of the compute
      keypair_name:
      type: string
      required: true
      description: A name of an existing keypair
      working_directory:
      type: string
      required: true
      description: The path that the implementation and deployment artifacts will be placed to and all operation scripts will be run from.

      Option 2
      ---------
      Describe SSH Connectivity as a capability that adds these connectivity properties to the compute.

      capability_types:
      tosca.capabilities.SecuredConnectivity:
      derived_from: tosca.capabilities.Container
      properties:
      username:
      type: string
      required: true
      description: The username that will be used to allow life cycle management of the compute
      keypair_name:
      type: string
      required: true
      description: A name of an existing keypair
      working_directory:
      type: string
      required: true
      description: The path that the implementation and deployment artifacts will be placed to

      node_types:
      tosca.nodes.Compute:

      1. This is exactly the same compute as defined in the YAML spec.

      tosca.nodes.AccesibleCompute:
      derived_from: tosca.nodes.Compute
      capabilities:

      • ssh: tosca.capabilities.SecuredConnectivity

      node_templates:
      firewall:
      type: tosca.nodes.Compute
      properties:
      num_cpus: 1
      mem_size: 1024

      web_server:
      type: tosca.nodes.AccesibleCompute
      properties:
      num_cpus: 1
      mem_size: 1024
      interfaces:
      tosca.interfaces.node.lifecycle.Standard:
      create: scripts/create.sh
      start: scripts/start/start.sh
      capabilities:

      • ssh:
        properties:
        keypair_name:mykeypair
        username:root
        working_directory: /tmp
      Show
      Option 1 -------- In this option we are using a compute that only describes the physical attributes of a compute. In addition there will be a deriving node type that's adding additional properties for the TOSCA container connectivity to that Compute: node_types: tosca.nodes.Compute: This is exactly the same compute as defined in the YAML spec. tosca.nodes.AccesibleCompute: derived_from: tosca.nodes.Compute properties: username: type: string required: true description: The username that will be used to allow life cycle management of the compute keypair_name: type: string required: true description: A name of an existing keypair working_directory: type: string required: true description: The path that the implementation and deployment artifacts will be placed to and all operation scripts will be run from. Option 2 --------- Describe SSH Connectivity as a capability that adds these connectivity properties to the compute. capability_types: tosca.capabilities.SecuredConnectivity: derived_from: tosca.capabilities.Container properties: username: type: string required: true description: The username that will be used to allow life cycle management of the compute keypair_name: type: string required: true description: A name of an existing keypair working_directory: type: string required: true description: The path that the implementation and deployment artifacts will be placed to node_types: tosca.nodes.Compute: This is exactly the same compute as defined in the YAML spec. tosca.nodes.AccesibleCompute: derived_from: tosca.nodes.Compute capabilities: ssh: tosca.capabilities.SecuredConnectivity node_templates: firewall: type: tosca.nodes.Compute properties: num_cpus: 1 mem_size: 1024 web_server: type: tosca.nodes.AccesibleCompute properties: num_cpus: 1 mem_size: 1024 interfaces: tosca.interfaces.node.lifecycle.Standard: create: scripts/create.sh start: scripts/start/start.sh capabilities: ssh: properties: keypair_name:mykeypair username:root working_directory: /tmp

      Description

      This issue is suggesting to add the ability for the TOSCA container to connect to a Compute in order to manage it and invoke life-cycle operations.

      In order to invoke life-cycle operations (such as start, stop, uninstall) we are missing the connectivity information from the tosca.nodes.Compute.

      We would like to think of a way to add connectivity params to a compute such as :username, keypair and script working directory.

      We have two options that we thought about to express the additional information. One is based on node type inheritance and the other is based on connectivity information as a capability.

      In NFV use-cases, we do see a need for a Compute that has no connectivity information - for example, the Compute might be an appliance VM (for example, firewall) that has everything built-in inside the image and there is no need or way to connect to that VM.

        Attachments

          Activity

            People

            • Assignee:
              MosheElisha Moshe Elisha (Inactive)
              Reporter:
              MosheElisha Moshe Elisha (Inactive)
            • Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: