- vnfd = {
- "_id": "63f44c41-45ee-456b-b10d-5f08fb1796e0",
- "name": "cirros_vdu_scaling_vnf",
- "vendor": "OSM",
- "vdu": [
- {
- "name": "cirros_vnfd-VM",
- "monitoring-param": [
- {
- "id": "cirros_vnfd-VM_memory_util",
- "nfvi-metric": "average_memory_utilization"
- }
- ],
- "vm-flavor": {
- "vcpu-count": 1,
- "memory-mb": 256,
- "storage-gb": 2
- },
- "description": "cirros_vnfd-VM",
- "count": 1,
- "id": "cirros_vnfd-VM",
- "interface": [
- {
- "name": "eth0",
- "external-connection-point-ref": "eth0",
- "type": "EXTERNAL",
- "virtual-interface": {
- "bandwidth": "0",
- "type": "VIRTIO",
- "vpci": "0000:00:0a.0"
- }
- }
- ],
- "image": "cirros034"
- }
- ],
- "monitoring-param": [
- {
- "id": "cirros_vnf_memory_util",
- "name": "cirros_vnf_memory_util",
- "aggregation-type": "AVERAGE",
- "vdu-monitoring-param-ref": "cirros_vnfd-VM_memory_util",
- "vdu-ref": "cirros_vnfd-VM"
- }
- ],
- "description": "Simple VNF example with a cirros and a scaling group descriptor",
- "id": "cirros_vdu_scaling_vnf",
- "logo": "cirros-64.png",
- "version": "1.0",
- "connection-point": [
- {
- "name": "eth0",
- "type": "VPORT"
- }
- ],
- "mgmt-interface": {
- "cp": "eth0"
- },
- "scaling-group-descriptor": [
- {
- "name": "scale_cirros_vnfd-VM",
- "min-instance-count": 1,
- "vdu": [
- {
- "count": 1,
- "vdu-id-ref": "cirros_vnfd-VM"
- }
- ],
- "max-instance-count": 10,
- "scaling-policy": [
- {
- "name": "auto_memory_util_above_threshold",
- "scaling-type": "automatic",
- "cooldown-time": 60,
- "threshold-time": 10,
- "scaling-criteria": [
- {
- "name": "group1_memory_util_above_threshold",
- "vnf-monitoring-param-ref": "cirros_vnf_memory_util",
- "scale-out-threshold": 80,
- "scale-out-relational-operation": "GT",
- "scale-in-relational-operation": "LT",
- "scale-in-threshold": 20
- }
- ]
- }
- ]
- }
- ],
- "short-name": "cirros_vdu_scaling_vnf",
- "_admin": {
- "created": 1535392242.6281035,
- "modified": 1535392242.6281035,
- "storage": {
- "zipfile": "package.tar.gz",
- "pkg-dir": "cirros_vnf",
- "path": "/app/storage/",
- "folder": "63f44c41-45ee-456b-b10d-5f08fb1796e0",
- "fs": "local",
- "descriptor": "cirros_vnf/cirros_vdu_scaling_vnfd.yaml"
- },
- "usageSate": "NOT_IN_USE",
- "onboardingState": "ONBOARDED",
- "userDefinedData": {
-
- },
- "projects_read": [
- "admin"
- ],
- "operationalState": "ENABLED",
- "projects_write": [
- "admin"
- ]
- }
- }
- payloads = MonCollector._generate_metric_data_payloads(vnfr, vnfd)
- expected_payload = {'ns_id': '87776f33-b67c-417a-8119-cb08e4098951',
- 'vnf_member_index': '1',
- 'metric_name': 'average_memory_utilization',
- 'collection_period': 1,
- 'collection_unit': 'DAY',
- 'vdu_name': 'cirros_ns-1-cirros_vnfd-VM-1'}
- self.assertEqual(len(payloads), 1)
- self.assertEqual(set(expected_payload.items()).issubset(set(payloads[0].items())), True)