NOTE: This page should be updated from the auto-generated documentation from the SDNC build. This page covers the nodes as of January 2017.
Supported node types
The following built-in node types are currently supported:
Table of Contents | ||
---|---|---|
|
Flow Control
Block node
Description
A block node is used to executes a set of nodes.
...
Code Block |
---|
<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="RESERVED"/> <parameter name="field3" value="$asePort.uni_circuit_id"/> </record> <return status="success"> <parameter name="uni-circuit-id" value="$asePort.uni_circuit_id" /> </return> </block> |
Call node
Description
A call node is used to call another graph
...
Code Block |
---|
<call rpc="svc-topology-reserve" mode="sync" /> |
For node
Description
A for node provides a fixed iteration looping mechanism, similar to the Java for loop
...
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
A return node is used to return a status to the invoking MD-SAL application
...
Info |
---|
<return status="failure"> <parameter name="error-code" value="1542" /> <parameter name="error-message" value="Activation failure" /> </return> |
Set node
Description
A set node is used to set one or more values in the execution context
...
Code Block |
---|
<set> <parameter name="vlan" value="$network.provider-segmentation-id" /> </set> |
Switch node
Description
A switch node is used to make a decision based on its test attribute.
...
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
Description
A configure node is used to configure a device.
...
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
Description
An execute node is used to execute Java code supplied as a plugin
...
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
A record node is used to record an event. For example, this might be used to log provisioning events.
...
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
Description
A delete node is used to delete a resource from the local resource inventory.
...
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.
...
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
A get-resource node is used to retrieve information about a particular resource and make it available to other nodes in the service logic tree. For example, this might be used to retrieve information about a particular uni-port.
...
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
An is-available node is used to determine whether a particular type of resource is available. For example, this might be used to test whether any ports are available for assignment on a particular switch.
...
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
A notify node is used to inform an external application (e.g. A&AI) that a resource was updated.
...
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
A release node is used to mark a resource as no longer in use, and thus available for assignment.
...
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
A 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.
...
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
A 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.
...
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.
...