| # |
| # Copyright 2016 RIFT.io Inc |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # |
| |
| vnfd:vnfd-catalog: |
| vnfd:vnfd: |
| - vnfd:connection-point: |
| - vnfd:name: pong_vnfd/cp0 |
| vnfd:type: VPORT |
| - vnfd:name: pong_vnfd/cp1 |
| vnfd:type: VPORT |
| vnfd:description: This is an example RIFT.ware VNF |
| vnfd:http-endpoint: |
| - vnfd:path: api/v1/pong/stats |
| vnfd:polling_interval_secs: '2' |
| vnfd:port: '18889' |
| vnfd:id: 875b30d0-8b99-11e6-9664-02b76030c497 |
| vnfd:logo: rift_logo.png |
| vnfd:mgmt-interface: |
| vnfd:dashboard-params: |
| vnfd:path: api/v1/pong/stats |
| vnfd:port: '18889' |
| vnfd:port: '18889' |
| vnfd:vdu-id: iovdu_0 |
| vnfd:monitoring-param: |
| - vnfd:description: no of ping requests |
| vnfd:group-tag: Group1 |
| vnfd:http-endpoint-ref: api/v1/pong/stats |
| vnfd:id: '1' |
| vnfd:json-query-method: NAMEKEY |
| vnfd:name: ping-request-rx-count |
| vnfd:units: packets |
| vnfd:value-type: INT |
| vnfd:widget-type: COUNTER |
| - vnfd:description: no of ping responses |
| vnfd:group-tag: Group1 |
| vnfd:http-endpoint-ref: api/v1/pong/stats |
| vnfd:id: '2' |
| vnfd:json-query-method: NAMEKEY |
| vnfd:name: ping-response-tx-count |
| vnfd:units: packets |
| vnfd:value-type: INT |
| vnfd:widget-type: COUNTER |
| vnfd:name: pong_vnfd |
| vnfd:placement-groups: |
| - vnfd:member-vdus: |
| - vnfd:member-vdu-ref: iovdu_0 |
| vnfd:name: Weywot |
| vnfd:requirement: Place this VM on the Kuiper belt object Weywot |
| vnfd:strategy: COLOCATION |
| vnfd:short-name: pong_vnfd |
| vnfd:vdu: |
| - vnfd:count: '1' |
| vnfd:external-interface: |
| - vnfd:name: eth0 |
| vnfd:virtual-interface: |
| vnfd:type: OM-MGMT |
| vnfd:vnfd-connection-point-ref: pong_vnfd/cp0 |
| - vnfd:name: eth1 |
| vnfd:virtual-interface: |
| vnfd:type: VIRTIO |
| vnfd:vnfd-connection-point-ref: pong_vnfd/cp1 |
| vnfd:id: iovdu_0 |
| vnfd:image: Fedora-x86_64-20-20131211.1-sda-pong.qcow2 |
| vnfd:image-checksum: 977484d95575f80ef8399c9cf1d45ebd |
| vnfd:name: iovdu_0 |
| vnfd:vm-flavor: |
| 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: '60' |
| vnfd:config-priority: '1' |
| vnfd:config-template: "\n#!/bin/bash\n\n# Rest API configuration\npong_mgmt_ip='<rw_mgmt_ip>'\n\ |
| pong_mgmt_port=18889\n# username=<rw_username>\n# password=<rw_password>\n\ |
| \n# VNF specific configuration\npong_server_ip='<rw_connection_point_name\ |
| \ pong_vnfd/cp0>'\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://${pong_mgmt_ip}:${pong_mgmt_port}/api/v1/pong/server\n\ |
| rc=$?\nif [ $rc -ne 0 ]\nthen\n echo \"Failed to set server(own)\ |
| \ info for pong!\"\n exit $rc\nfi\n\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 \"{\\\ |
| \"enable\\\":true}\" \\\n http://${pong_mgmt_ip}:${pong_mgmt_port}/api/v1/pong/adminstatus/state\n\ |
| rc=$?\nif [ $rc -ne 0 ]\nthen\n echo \"Failed to enable pong service!\"\ |
| \n exit $rc\nfi\n\nexit 0\n" |
| vnfd:script: |
| vnfd:script-type: bash |