Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: formatting

...

Parameters

Not applicable

Outcomes

.

successSub graph returned success
not-foundGraph not found
failureSubgraph returned success
Example
Code Block
<call rpc="svc-topology-reserve" mode="sync" />

For node

Description

for node provides a fixed iteration looping mechanism, similar to the Java for loop

...

Not applicable. The status node has no outcomes.

Example
Info
<for index="i" start="0" end="$network.num-segments">
  <set>
    <parameter name="$vlanlist" value="eval($vlanlist+','+$network.segment[i].provider-segmentation-id)"/>
  </set>
</for>

Return node

Description

return node is used to return a status to the invoking MD-SAL application

...

Not applicable. The status node has no outcomes.

Example
Info
<return status="failure">
  <parameter name="error-code" value="1542" />
  <parameter name="error-message" value="Activation failure" />
</return>

Set node

Description

set node is used to set one or more values in the execution context

...

Not applicable. The set node has no outcomes.

Example
Code Block
<set>
  <parameter name="vlan" value="$network.provider-segmentation-id" />
</set>

Switch node

Description

switch node is used to make a decision based on its test attribute.

...

Depends on the test condition

Example
Code Block
<switch test="$uni-cir-units">
  <outcome value="Mbps">
    <reserve plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
                         resource="ase-port"
                         key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value"
                         pfx="asePort">

      <outcome value="success">
            <return status="success">
                  <parameter name="uni-circuit-id" value="$asePort.uni_circuit_id" />
                </return>
      </outcome>
      <outcome value="Other">
        <return status="failure">
          <parameter name="error-code" value="1010" />
          <parameter name="error-message" value="No ports found that match criteria" />
        </return>
      </outcome>
    </reserve>
  </outcome>
  <outcome value="Gbps">
    <reserve plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
                         resource="ase-port"
                         key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value*1000"
                         pfx="asePort">

      <outcome value="success">
            <return status="success">
                  <parameter name="uni-circuit-id" value="$asePort.uni_circuit_id" />
                </return>
      </outcome>
      <outcome value="Other">
        <return status="failure">
          <parameter name="error-code" value="1010" />
          <parameter name="error-message" value="No ports found that match criteria" />
        </return>
      </outcome>
    </reserve>
  </outcome>    
</switch>

Device Management

Configure node

...

successDevice successfully configured
not-foundElement to be configured does not exist.
not-readyElement is not in a state where it can be configured/activated
already-activeAttempt to activate element that is already active
failureConfigure failed for some other reason
Example
Code Block
<configure adaptor="org.openecomp.sdnc.sli.adaptor.emt.EmtAdaptor"
           key="$uni-circuit-id" activate="true">
  <parameter name="circuit.id" value="$uni-circuit-id" />
  <parameter name="subscriber.name" value="$subscriber-name" />
  <parameter name="emt.clli" value="$edge-device-clli" />
  <parameter name="port.tagging" value="$port-tagging" />
  <parameter name="port.mediaSpeed" value="$media-speed" />
  <parameter name="location.state" value="$uni-location-state" />
  <parameter name="location.city" value="$uni-location-city" />
  <parameter name="cosCategory" value="$cos-category" />
  <parameter name="gosProfile" value="$gos-profile" />
  <parameter name="lldp" value="$asePort.resource-lldp" />
  <parameter name="mtu" value="$asePort.resource-mtu" />
  <outcome value="success">
    <block>
      <record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
        <parameter name="file" value="/tmp/gamma_r1.log" />
        <parameter name="field1" value="__TIMESTAMP__"/>
        <parameter name="field2" value="ACTIVE"/>
        <parameter name="field3" value="$uni-circuit-id"/>
      </record>
      <return status="success">
        <parameter name="edge-device-clli" value="$asePort.resource-emt-clli" />
      </return>
    </block>
  </outcome>
  <outcome value="already-active">
    <return status="failure">
      <parameter name="error-code" value="1590" />
      <parameter name="error-message" value="Port already active" />
    </return>
  </outcome>
  <outcome value="Other">
    <return status="failure">
      <parameter name="error-code" value="1542" />
      <parameter name="error-message" value="Activation failure" />
    </return>
  </outcome>
</configure>

Java Plugin Support

Execute node

...

successDevice successfully configured
not-foundPlugin class could not be loaded
unsupported-methodNamed method taking (Map, SvcLogicContext) could not be found
failureConfigure failed for some other reason
Example
Code Block
<execute plugin="org.openecomp.sdnc.sli.plugin.HelloWorld"
           method="log">
  <parameter name="message" value="Hello, world!" />
  <outcome value="success">
      <return status="success"/>
  </outcome>
  <outcome value="not-found">
    <return status="failure">
      <parameter name="error-code" value="1590" />
      <parameter name="error-message" value="Could not locate plugin" />
    </return>
  </outcome>
  <outcome value="Other">
    <return status="failure">
      <parameter name="error-code" value="1542" />
      <parameter name="error-message" value="Internal error" />
    </return>
  </outcome>
</execute>

Recording

Record node

Description

...

successRecord successfully written
failureRecord could not be successfully written
Example
Code Block
<record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
  <parameter name="file" value="/tmp/gamma_r1.log" />
  <parameter name="field1" value="__TIMESTAMP__"/>
  <parameter name="field2" value="ACTIVE"/>
  <parameter name="field3" value="$uni-circuit-id"/>
</record>

Resource Management

Delete node

...

successResource specified deleted successfully.
failure>Resource specified was not deleted
Example
Code Block
<delete plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
        resource="ase-port"
        key="uni_circuit_id == $uni-circuit-id">
  <outcome value="true">
    <return status="success"/>
  </outcome>
  <outcome value="false">
    <return status="failure"/>
  </outcome>
</delete>

Exists node

Description

An exists node is used to determine whether a particular instance of a resource exists. For example, this might be used to test whether a particular switch CLLI is provisioned.

...

trueResource specified exists.
falseResource specified is unknown
Example
Code Block
<exists plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
        resource="ase-port"
        key="uni_circuit_id == $uni-circuit-id">
  <outcome value="true">
    <return status="success"/>
  </outcome>
  <outcome value="false">
    <return status="failure"/>
  </outcome>
</exists>

Get-resource node

Description

...

successResource successfully retrieved
not-foundResource referenced does not exist
failureResource retrieve failed for some other reason
Example
Code Block
<get-resource plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
              resource="ase-port"
              key="uni_circuit_id == $uni-circuit-id"
              pfx="current-port">
  <outcome value="success">
    <return status="success"/>
  </outcome>
  <outcome value="not-found">
    <return status="failure"/>
  </outcome>
  <outcome value="failure">
    <return status="failure"/>
  </outcome>
</get-resource>

Is-available node

Description

...

trueResource requested is available
falseResource requested is not available
Example
Code Block
<is-available plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
              resource="ase-port"
              key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value">
  <outcome value="true">
    <return status="success"/>
  </outcome>
  <outcome value="false">
    <return status="failure"/>
  </outcome>
</is-available>

Notify node

Description

notify node is used to inform an external application (e.g. A&AI) that a resource was updated.

...

successNotification was successful
failureNotification failed is not available
Example
Code Block
<notify plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
              resource="ase-port"
              action="ADD">
  <outcome value="success">
    <return status="success"/>
  </outcome>
  <outcome value="Other">
    <return status="failure"/>
  </outcome>
</notify>

Release node

Description

release node is used to mark a resource as no longer in use, and thus available for assignment.

...

successResource successfully released
not-foundResource referenced does not exist
failureResource release failed for some other reason
Example
Code Block
<release plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
         resource="ase-port"
         key="uni_circuit_id == $uni-circuit-id">
  <outcome value="success">
    <return status="success"/>
  </outcome>
  <outcome value="not-found">
    <return status="failure"/>
  </outcome>
  <outcome value="failure">
    <return status="failure"/>
  </outcome>
</release>

Reserve node

Description

reserve node is used to reserve a particular type of resource.. For example, this might be used to reserve a port on a particular switch.

...

successResource requested was successfully reserved
failureResource requested was not successfully reserved
Example
Code Block
<reserve plugin="org.openecomp.sdnc.sli.resource.gamma.GammaResource"
         resource="ase-port"
         key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value"
         select="min(speed)">
  <outcome value="success">
    <return status="success"/>
  </outcome>
  <outcome value="failure">
    <return status="failure"/>
  </outcome>
</reserve>

Save node

Description

save node is used to save information about a particular resource to persistent storage. For example, this might be used to save information about a particular uni-port.

...

successResource successfully saved
failureResource save failed
Example
Code Block
<save plugin="`$gamma-resource-plugin`" resource="vnf"
        key="vnf-name = $requests.vnf.vnf-name" force="true"
        pfx="requests.vnf">
        <parameter name="vnf-name"
                value="`$requests.cust-country-code + $requests.cust-id + $requests.cust-city + $requests.cust-state + '001VCE'`" />
        <parameter name="vnf-type" value="vce" />
        <parameter name="orchestration-status" value="pending-create" />
        <parameter name="heat-stack-id" value="`$requests.heat-stack-id`" />
        <parameter name="mso-catalog-key" value="`$requests.mso-catalog-key`" />
        <parameter name="availability-zone"
                value="`$aic-availability-zone.availability-zone`" />
        <parameter name="aic-site-id" value="`$requests.vnf.aic-site-id`" />
        <parameter name="oam-ipv4-address" value="`$vce-ipv4-oam-addr.ipv4-addr`" />
</save>

Update node

Description

An update node is used to update information about a particular resource to persistent storage.

...

successResource successfully saved
failureResource save failed
Example
Code Block
<update plugin="`$gamma-resource-plugin`" resource="vnf"
        key="vnf-name = $requests.vnf.vnf-name"
        pfx="requests.vnf">
        <parameter name="vnf-name"
                value="`$requests.cust-country-code + $requests.cust-id + $requests.cust-city + $requests.cust-state + '001VCE'`" />
        <parameter name="vnf-type" value="vce" />
        <parameter name="orchestration-status" value="pending-create" />
        <parameter name="heat-stack-id" value="`$requests.heat-stack-id`" />
        <parameter name="mso-catalog-key" value="`$requests.mso-catalog-key`" />
        <parameter name="availability-zone"
                value="`$aic-availability-zone.availability-zone`" />
        <parameter name="aic-site-id" value="`$requests.vnf.aic-site-id`" />
        <parameter name="oam-ipv4-address" value="`$vce-ipv4-oam-addr.ipv4-addr`" />
</update>

...