blob: dd162db34ef5395c07aca56bf5d399c06a3e4bac [file] [log] [blame]
Philip Joseph29d39662016-10-06 05:37:50 -04001#
2# Copyright 2016 RIFT.io Inc
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16#
17
18vnfd:vnfd-catalog:
19 vnfd:vnfd:
20 - vnfd:connection-point:
21 - vnfd:name: ping_vnfd/cp0
22 vnfd:type: VPORT
23 - vnfd:name: ping_vnfd/cp1
24 vnfd:type: VPORT
25 vnfd:description: This is an example RIFT.ware VNF
26 vnfd:http-endpoint:
27 - vnfd:path: api/v1/ping/stats
28 vnfd:polling_interval_secs: '2'
29 vnfd:port: '18888'
30 vnfd:id: 8759e766-8b99-11e6-9664-02b76030c497
31 vnfd:logo: rift_logo.png
32 vnfd:mgmt-interface:
33 vnfd:dashboard-params:
34 vnfd:path: api/v1/ping/stats
35 vnfd:port: '18888'
36 vnfd:port: '18888'
37 vnfd:vdu-id: iovdu_0
38 vnfd:monitoring-param:
39 - vnfd:description: no of ping requests
40 vnfd:group-tag: Group1
41 vnfd:http-endpoint-ref: api/v1/ping/stats
42 vnfd:id: '1'
43 vnfd:json-query-method: NAMEKEY
44 vnfd:name: ping-request-tx-count
45 vnfd:units: packets
46 vnfd:value-type: INT
47 vnfd:widget-type: COUNTER
48 - vnfd:description: no of ping responses
49 vnfd:group-tag: Group1
50 vnfd:http-endpoint-ref: api/v1/ping/stats
51 vnfd:id: '2'
52 vnfd:json-query-method: NAMEKEY
53 vnfd:name: ping-response-rx-count
54 vnfd:units: packets
55 vnfd:value-type: INT
56 vnfd:widget-type: COUNTER
57 vnfd:name: ping_vnfd
58 vnfd:placement-groups:
59 - vnfd:member-vdus:
60 - vnfd:member-vdu-ref: iovdu_0
61 vnfd:name: Eris
62 vnfd:requirement: Place this VM on the Kuiper belt object Eris
63 vnfd:strategy: COLOCATION
64 vnfd:short-name: ping_vnfd
65 vnfd:vdu:
66 - vnfd:count: '1'
67 vnfd:external-interface:
68 - vnfd:name: eth0
69 vnfd:virtual-interface:
70 vnfd:type: OM-MGMT
71 vnfd:vnfd-connection-point-ref: ping_vnfd/cp0
72 - vnfd:name: eth1
73 vnfd:virtual-interface:
74 vnfd:type: VIRTIO
75 vnfd:vnfd-connection-point-ref: ping_vnfd/cp1
76 vnfd:id: iovdu_0
77 vnfd:image: Fedora-x86_64-20-20131211.1-sda-ping.qcow2
78 vnfd:image-checksum: a6ffaa77f949a9e4ebb082c6147187cf
79 vnfd:name: iovdu_0
80 vnfd:vm-flavor:
81 vnfd:memory-mb: '512'
82 vnfd:storage-gb: '4'
83 vnfd:vcpu-count: '1'
84 vnfd:vendor: RIFT.io
85 vnfd:version: '1.0'
86 vnfd:vnf-configuration:
87 vnfd:config-attributes:
88 vnfd:config-delay: '0'
89 vnfd:config-priority: '2'
90 vnfd:config-template: "\n#!/bin/bash\n\n# Rest API config\nping_mgmt_ip='<rw_mgmt_ip>'\n\
91 ping_mgmt_port=18888\n\n# VNF specific configuration\npong_server_ip='<rw_connection_point_name\
92 \ pong_vnfd/cp0>'\nping_rate=5\nserver_port=5555\n\n# Make rest API\
93 \ calls to configure VNF\ncurl -D /dev/stdout \\\n -H \"Accept:\
94 \ application/vnd.yang.data+xml\" \\\n -H \"Content-Type: application/vnd.yang.data+json\"\
95 \ \\\n -X POST \\\n -d \"{\\\"ip\\\":\\\"$pong_server_ip\\\"\
96 , \\\"port\\\":$server_port}\" \\\n http://${ping_mgmt_ip}:${ping_mgmt_port}/api/v1/ping/server\n\
97 rc=$?\nif [ $rc -ne 0 ]\nthen\n echo \"Failed to set server info\
98 \ for ping!\"\n exit $rc\nfi\n\ncurl -D /dev/stdout \\\n -H\
99 \ \"Accept: application/vnd.yang.data+xml\" \\\n -H \"Content-Type:\
100 \ application/vnd.yang.data+json\" \\\n -X POST \\\n -d \"{\\\
101 \"rate\\\":$ping_rate}\" \\\n http://${ping_mgmt_ip}:${ping_mgmt_port}/api/v1/ping/rate\n\
102 rc=$?\nif [ $rc -ne 0 ]\nthen\n echo \"Failed to set ping rate!\"\
103 \n exit $rc\nfi\n\n\noutput=$(curl -D /dev/stdout \\\n -H \"\
104 Accept: application/vnd.yang.data+xml\" \\\n -H \"Content-Type:\
105 \ application/vnd.yang.data+json\" \\\n -X POST \\\n -d \"{\\\
106 \"enable\\\":true}\" \\\n http://${ping_mgmt_ip}:${ping_mgmt_port}/api/v1/ping/adminstatus/state)\n\
107 if [[ $output == *\"Internal Server Error\"* ]]\nthen\n echo $output\n\
108 \ exit 3\nelse\n echo $output\nfi\n\nexit 0\n"
109 vnfd:script:
110 vnfd:script-type: bash