Merge "- add copyright"
[osm/devops.git] / src / vnfd / ping_vnf / ping_vnfd.yaml
index dd162db..8888f50 100644 (file)
 
 vnfd:vnfd-catalog:
     vnfd:vnfd:
-    -   vnfd:connection-point:
+     -  vnfd:id: rift_ping_vnf
+        vnfd:name: ping_vnf
+        vnfd:short-name: ping_vnf
+        vnfd:logo: rift_logo.png
+        vnfd:vendor: RIFT.io
+        vnfd:version: '1.0'
+        vnfd:description: This is an example RIFT.ware VNF
+        vnfd:config-parameter:
+            vnfd:config-parameter-request:
+            -   vnfd:description: IP on which Pong service is listening
+                vnfd:name: pong_ip
+                vnfd:parameter:
+                -   vnfd:config-primitive-name-ref: set-server
+                    vnfd:config-primitive-parameter-ref: server-ip
+            -   vnfd:description: Port on which Pong service is listening
+                vnfd:name: pong_port
+                vnfd:parameter:
+                -   vnfd:config-primitive-name-ref: set-server
+                    vnfd:config-primitive-parameter-ref: server-port
+            vnfd:config-parameter-source:
+            -   vnfd:attribute: ../../../mgmt-interface, ip-address
+                vnfd:description: Management IP address
+                vnfd:name: mgmt_ip
+                vnfd:parameter:
+                -   vnfd:config-primitive-name-ref: config
+                    vnfd:config-primitive-parameter-ref: ssh-hostname
+            -   vnfd:description: SSH username
+                vnfd:name: username
+                vnfd:parameter:
+                -   vnfd:config-primitive-name-ref: config
+                    vnfd:config-primitive-parameter-ref: ssh-username
+                vnfd:value: fedora
+            -   vnfd:attribute: ../../../mgmt-interface/ssh-key, private-key-file
+                vnfd:description: SSH private key file
+                vnfd:name: ssh_key
+                vnfd:parameter:
+                -   vnfd:config-primitive-name-ref: config
+                    vnfd:config-primitive-parameter-ref: ssh-private-key
+            -   vnfd:description: Rate of packet generation
+                vnfd:name: rate
+                vnfd:parameter:
+                -   vnfd:config-primitive-name-ref: set-rate
+                    vnfd:config-primitive-parameter-ref: rate
+                vnfd:value: '5'
+        vnfd:connection-point:
         -   vnfd:name: ping_vnfd/cp0
             vnfd:type: VPORT
         -   vnfd:name: ping_vnfd/cp1
             vnfd:type: VPORT
-        vnfd:description: This is an example RIFT.ware VNF
         vnfd:http-endpoint:
         -   vnfd:path: api/v1/ping/stats
             vnfd:polling_interval_secs: '2'
             vnfd:port: '18888'
-        vnfd:id: 8759e766-8b99-11e6-9664-02b76030c497
-        vnfd:logo: rift_logo.png
         vnfd:mgmt-interface:
             vnfd:dashboard-params:
                 vnfd:path: api/v1/ping/stats
                 vnfd:port: '18888'
             vnfd:port: '18888'
+            vnfd:ssh-key: 'true'
             vnfd:vdu-id: iovdu_0
         vnfd:monitoring-param:
         -   vnfd:description: no of ping requests
@@ -54,20 +96,18 @@ vnfd:vnfd-catalog:
             vnfd:units: packets
             vnfd:value-type: INT
             vnfd:widget-type: COUNTER
-        vnfd:name: ping_vnfd
         vnfd:placement-groups:
         -   vnfd:member-vdus:
             -   vnfd:member-vdu-ref: iovdu_0
             vnfd:name: Eris
             vnfd:requirement: Place this VM on the Kuiper belt object Eris
             vnfd:strategy: COLOCATION
-        vnfd:short-name: ping_vnfd
         vnfd:vdu:
         -   vnfd:count: '1'
             vnfd:external-interface:
             -   vnfd:name: eth0
                 vnfd:virtual-interface:
-                    vnfd:type: OM-MGMT
+                    vnfd:type: VIRTIO
                 vnfd:vnfd-connection-point-ref: ping_vnfd/cp0
             -   vnfd:name: eth1
                 vnfd:virtual-interface:
@@ -81,30 +121,44 @@ vnfd:vnfd-catalog:
                 vnfd:memory-mb: '512'
                 vnfd:storage-gb: '4'
                 vnfd:vcpu-count: '1'
-        vnfd:vendor: RIFT.io
-        vnfd:version: '1.0'
         vnfd:vnf-configuration:
-            vnfd:config-attributes:
-                vnfd:config-delay: '0'
-                vnfd:config-priority: '2'
-            vnfd:config-template: "\n#!/bin/bash\n\n# Rest API config\nping_mgmt_ip='<rw_mgmt_ip>'\n\
-                ping_mgmt_port=18888\n\n# VNF specific configuration\npong_server_ip='<rw_connection_point_name\
-                \ pong_vnfd/cp0>'\nping_rate=5\nserver_port=5555\n\n# Make rest API\
-                \ calls to configure VNF\ncurl -D /dev/stdout \\\n    -H \"Accept:\
-                \ application/vnd.yang.data+xml\" \\\n    -H \"Content-Type: application/vnd.yang.data+json\"\
-                \ \\\n    -X POST \\\n    -d \"{\\\"ip\\\":\\\"$pong_server_ip\\\"\
-                , \\\"port\\\":$server_port}\" \\\n    http://${ping_mgmt_ip}:${ping_mgmt_port}/api/v1/ping/server\n\
-                rc=$?\nif [ $rc -ne 0 ]\nthen\n    echo \"Failed to set server info\
-                \ for ping!\"\n    exit $rc\nfi\n\ncurl -D /dev/stdout \\\n    -H\
-                \ \"Accept: application/vnd.yang.data+xml\" \\\n    -H \"Content-Type:\
-                \ application/vnd.yang.data+json\" \\\n    -X POST \\\n    -d \"{\\\
-                \"rate\\\":$ping_rate}\" \\\n    http://${ping_mgmt_ip}:${ping_mgmt_port}/api/v1/ping/rate\n\
-                rc=$?\nif [ $rc -ne 0 ]\nthen\n    echo \"Failed to set ping rate!\"\
-                \n    exit $rc\nfi\n\n\noutput=$(curl -D /dev/stdout \\\n    -H \"\
-                Accept: application/vnd.yang.data+xml\" \\\n    -H \"Content-Type:\
-                \ application/vnd.yang.data+json\" \\\n    -X POST \\\n    -d \"{\\\
-                \"enable\\\":true}\" \\\n    http://${ping_mgmt_ip}:${ping_mgmt_port}/api/v1/ping/adminstatus/state)\n\
-                if [[ $output == *\"Internal Server Error\"* ]]\nthen\n    echo $output\n\
-                \    exit 3\nelse\n    echo $output\nfi\n\nexit 0\n"
-            vnfd:script:
-                vnfd:script-type: bash
+            vnfd:config-primitive:
+            -   vnfd:name: start
+            -   vnfd:name: stop
+            -   vnfd:name: restart
+            -   vnfd:name: config
+                vnfd:parameter:
+                -   vnfd:data-type: STRING
+                    vnfd:name: ssh-hostname
+                -   vnfd:data-type: STRING
+                    vnfd:name: ssh-username
+                -   vnfd:data-type: STRING
+                    vnfd:name: ssh-private-key
+                -   vnfd:data-type: STRING
+                    vnfd:default-value: ping
+                    vnfd:name: mode
+                    vnfd:read-only: 'true'
+            -   vnfd:name: set-server
+                vnfd:parameter:
+                -   vnfd:data-type: STRING
+                    vnfd:name: server-ip
+                -   vnfd:data-type: INTEGER
+                    vnfd:name: server-port
+            -   vnfd:name: set-rate
+                vnfd:parameter:
+                -   vnfd:data-type: INTEGER
+                    vnfd:default-value: '5'
+                    vnfd:name: rate
+            -   vnfd:name: start-traffic
+            -   vnfd:name: stop-traffic
+            vnfd:initial-config-primitive:
+            -   vnfd:config-primitive-ref: config
+                vnfd:seq: '1'
+            -   vnfd:config-primitive-ref: start
+                vnfd:seq: '2'
+            -   vnfd:config-primitive-ref: set-server
+                vnfd:seq: '3'
+            -   vnfd:config-primitive-ref: set-rate
+                vnfd:seq: '4'
+            vnfd:juju:
+                vnfd:charm: pingpong