X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_policy_module%2Ftests%2Fintegration%2Ftest_policy_agent.py;h=9fe5e2ad62758359329feb29c0891c1fd0f0580d;hb=refs%2Ftags%2Frelease-v9.0-start;hp=1a9dd689e8cf2259a998f8d8b97bc43b43a145cd;hpb=8ba99ff372d2d8ef13b2c6865b16c0869fa04069;p=osm%2FPOL.git diff --git a/osm_policy_module/tests/integration/test_policy_agent.py b/osm_policy_module/tests/integration/test_policy_agent.py index 1a9dd68..9fe5e2a 100644 --- a/osm_policy_module/tests/integration/test_policy_agent.py +++ b/osm_policy_module/tests/integration/test_policy_agent.py @@ -53,43 +53,7 @@ nsr_record_mock = { "ssh-authorized-key": None, "name-ref": "cirros_ns", "nsd": { - "name": "cirros_vdu_scaling_ns", "_id": "d7c8bd3c-eb39-4514-8847-19f01345524f", - "vld": [ - { - "id": "cirros_nsd_vld1", - "name": "cirros_nsd_vld1", - "type": "ELAN", - "mgmt-network": "true", - "vnfd-connection-point-ref": [ - { - "vnfd-id-ref": "cirros_vdu_scaling_vnf", - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "eth0" - }, - { - "vnfd-id-ref": "cirros_vdu_scaling_vnf", - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "eth0" - } - ] - } - ], - "vendor": "OSM", - "constituent-vnfd": [ - { - "member-vnf-index": "1", - "vnfd-id-ref": "cirros_vdu_scaling_vnf" - }, - { - "member-vnf-index": "2", - "vnfd-id-ref": "cirros_vdu_scaling_vnf" - } - ], - "version": "1.0", - "id": "cirros_vdu_scaling_ns", - "description": "Simple NS example with a cirros_vdu_scaling_vnf", - "logo": "osm.png", "_admin": { "created": 1535392246.499733, "userDefinedData": { @@ -114,7 +78,40 @@ nsr_record_mock = { "admin" ] }, - "short-name": "cirros_vdu_scaling_ns" + "id": "cirros_vdu_scaling_ns", + "name": "cirros_vdu_scaling_ns", + "description": "Simple NS example with a cirros_vdu_scaling_vnf", + "designer": "OSM", "version": "1.0", + "vnfd-id": ["cirros_vdu_scaling_vnf"], + "df": [{ + "id": "default-df", + "vnf-profile": [ + { + "id": "1", + "vnfd-id": "cirros_vdu_scaling_vnf", + "virtual-link-connectivity": [{ + "virtual-link-profile-id": "cirros_nsd_vld1", + "constituent-cpd-id": [{ + "constituent-base-element-id": "1", + "constituent-cpd-id": "eth0-ext" + }] + }] + }, { + "id": "2", + "vnfd-id": "cirros_vdu_scaling_vnf", + "virtual-link-connectivity": [{ + "virtual-link-profile-id": "cirros_nsd_vld1", + "constituent-cpd-id": [{ + "constituent-base-element-id": "2", + "constituent-cpd-id": "eth0-ext" + }] + }] + } + ] + }], + "virtual-link-desc": [{ + "id": "cirros_nsd_vld1", "mgmt-network": "true" + }] }, "id": "87776f33-b67c-417a-8119-cb08e4098951", "config-status": "configured", @@ -264,163 +261,171 @@ vnfr_record_mocks = [ } ]}] -nsd_record_mock = {'name': 'cirros_vdu_scaling_ns', - 'version': '1.0', - 'short-name': 'cirros_vdu_scaling_ns', - 'logo': 'osm.png', - 'id': 'cirros_vdu_scaling_ns', - 'description': 'Simple NS example with a cirros_vdu_scaling_vnf', - 'vendor': 'OSM', - 'vld': [ - {'name': 'cirros_nsd_vld1', - 'type': 'ELAN', - 'id': 'cirros_nsd_vld1', - 'mgmt-network': 'true', - 'vnfd-connection-point-ref': [ - {'vnfd-id-ref': 'cirros_vdu_scaling_vnf', - 'vnfd-connection-point-ref': 'eth0', - 'member-vnf-index-ref': 1}, - {'vnfd-id-ref': 'cirros_vdu_scaling_vnf', - 'vnfd-connection-point-ref': 'eth0', - 'member-vnf-index-ref': 2}]}], - 'constituent-vnfd': [{'vnfd-id-ref': 'cirros_vdu_scaling_vnf', - 'member-vnf-index': '1'}, - {'vnfd-id-ref': 'cirros_vdu_scaling_vnf', - 'member-vnf-index': '2'}]} +nsd_record_mock = { + 'id': 'cirros_vdu_scaling_ns', + 'name': 'cirros_vdu_scaling_ns', + 'description': 'Simple NS example with a cirros_vdu_scaling_vnf', + 'designer': 'OSM', + 'version': '1.0', + 'vnfd-id': ['cirros_vdu_scaling_vnf'], + 'df': [{ + 'id': 'default-df', + 'vnf-profile': [ + { + 'id': '1', + 'vnfd-id': 'cirros_vdu_scaling_vnf', + 'virtual-link-connectivity': [{ + 'virtual-link-profile-id': 'cirros_nsd_vld1', + 'constituent-cpd-id': [{ + 'constituent-base-element-id': '1', + 'constituent-cpd-id': 'eth0-ext' + }] + }] + }, { + 'id': '2', + 'vnfd-id': 'cirros_vdu_scaling_vnf', + 'virtual-link-connectivity': [{ + 'virtual-link-profile-id': 'cirros_nsd_vld1', + 'constituent-cpd-id': [{ + 'constituent-base-element-id': '2', + 'constituent-cpd-id': 'eth0-ext' + }] + }] + } + ] + }], + 'virtual-link-desc': [{ + 'id': 'cirros_nsd_vld1', + 'mgmt-network': 'true' + }] +} + vnfd_record_mock = { + 'id': 'cirros_vdu_scaling_vnf', "_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", - "alarm": [ - { - "value": 20.0000, - "actions": { - "insufficient-data": [ - { - "url": "localhost:9090" - } - ], - "ok": [ - { - "url": "localhost:9090" - } - ], - "alarm": [ - { - "url": "localhost:9090" - } - ] - }, - "alarm-id": "alarm-1", - "operation": "LT", - "vnf-monitoring-param-ref": "cirros_vnf_memory_util" - } - ] + 'product-name': 'cirros_vdu_scaling_vnf', + 'description': 'Simple VNF example with a cirros and a scaling group descriptor', + 'provider': 'OSM', + 'version': '1.0', + 'mgmt-cp': 'eth0-ext', + 'virtual-storage-desc': [{ + 'id': 'cirros_vnfd-VM-storage', + 'size-of-storage': 2 + }], + 'virtual-compute-desc': [{ + 'id': 'cirros_vnfd-VM-compute', + 'virtual-cpu': { + 'num-virtual-cpu': 1 + }, + 'virtual-memory': { + 'size': 0.25 } - ], - "monitoring-param": [ - { - "id": "cirros_vnf_memory_util", - "name": "cirros_vnf_memory_util", - "aggregation-type": "AVERAGE", - "vdu-monitoring-param": { - "vdu-monitoring-param-ref": "cirros_vnfd-VM_memory_util", - "vdu-ref": "cirros_vnfd-VM" + }], + 'sw-image-desc': [{ + 'id': 'cirros034', + 'name': 'cirros034', + 'image': 'cirros034' + }], + 'vdu': [{ + 'id': 'cirros_vnfd-VM', + 'description': 'cirros_vnfd-VM', + 'name': 'cirros_vnfd-VM', + 'alarm': [{ + 'value': 20.0, + 'actions': { + 'insufficient-data': [{ + 'url': 'localhost:9090' + }], + 'ok': [{ + 'url': 'localhost:9090' + }], + 'alarm': [{ + 'url': 'localhost:9090' + }] + }, + 'alarm-id': 'alarm-1', + 'operation': 'LT', + 'vnf-monitoring-param-ref': 'cirros_vnf_memory_util' + }], + 'sw-image-desc': 'cirros034', + 'virtual-compute-desc': 'cirros_vnfd-VM-compute', + 'virtual-storage-desc': ['cirros_vnfd-VM-storage'], + 'int-cpd': [{ + 'id': 'eth0-int', + 'virtual-network-interface-requirement': [{ + 'name': 'eth0', + 'virtual-interface': { + 'bandwidth': '0', + 'type': 'VIRTIO', + 'vpci': '0000:00:0a.0'} + }] + }], + 'monitoring-parameter': [{ + 'id': 'cirros_vnf_memory_util', + 'name': 'cirros_vnf_memory_util', + 'performance-metric': 'average_memory_utilization' + }] + }], + 'df': [{ + 'id': 'default-df', + 'vdu-profile': [{ + 'id': 'cirros_vnfd-VM', + 'min-number-of-instances': 1, + 'max-number-of-instances': 10, + 'vdu-configuration-id': 'cirros_vnfd-VM-vdu-configuration' + }], + 'instantiation-level': [{ + 'id': 'default-instantiation-level', + 'vdu-level': [{ + 'vdu-id': 'cirros_vnfd-VM', + 'number-of-instances': 1}] + }], + 'scaling-aspect': [{ + 'id': 'scale_cirros_vnfd-VM', + 'name': 'scale_cirros_vnfd-VM', + 'max-scale-level': 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 + }] + }], + 'aspect-delta-details': { + 'deltas': [{ + 'id': 'scale_cirros_vnfd-VM-delta', + 'vdu-delta': [{ + 'number-of-instances': 1, + 'id': 'cirros_vnfd-VM'}] + }] } - }, - { - "id": "haproxy_users", - "name": "haproxy_users", - "aggregation-type": "AVERAGE", - "vnf-metric": - {"vnf-metric-name-ref": "users"} + }] + }], + 'ext-cpd': [{ + 'id': 'eth0-ext', + 'int-cpd': { + 'vdu-id': 'cirros_vnfd-VM', + 'cpd': 'eth0-int' } - ], - "vdu-configuration": { - "juju": { - "charm": "testmetrics", - "proxy": True + }], + 'vdu-configuration': [{ + 'juju': { + 'charm': 'testmetrics', + 'proxy': True }, - "metrics": { - "name": "users" - } - }, - "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", + 'metrics': [{ + 'name': 'users' + }], + 'id': 'cirros_vnfd-VM-vdu-configuration' + }], "_admin": { "created": 1535392242.6281035, "modified": 1535392242.6281035, @@ -500,28 +505,24 @@ class PolicyModuleAgentTest(unittest.TestCase): create_alarm.assert_any_call(metric_name='average_memory_utilization', ns_id='test_nsr_id', operation='GT', - statistic='AVERAGE', threshold=80, vdu_name='cirros_ns-1-cirros_vnfd-VM-1', vnf_member_index='1') create_alarm.assert_not_called_with(metric_name='average_memory_utilization', ns_id='test_nsr_id', operation='LT', - statistic='AVERAGE', threshold=20, vdu_name='cirros_ns-1-cirros_vnfd-VM-1', vnf_member_index='1') create_alarm.assert_any_call(metric_name='average_memory_utilization', ns_id='test_nsr_id', operation='GT', - statistic='AVERAGE', threshold=80, vdu_name='cirros_ns-2-cirros_vnfd-VM-1', vnf_member_index='2') create_alarm.assert_not_called_with(metric_name='average_memory_utilization', ns_id='test_nsr_id', operation='LT', - statistic='AVERAGE', threshold=20, vdu_name='cirros_ns-2-cirros_vnfd-VM-1', vnf_member_index='2') @@ -558,15 +559,13 @@ class PolicyModuleAgentTest(unittest.TestCase): vdu_name='cirros_ns-1-cirros_vnfd-VM-1', vnf_member_index='1', threshold=20.0, - operation='LT', - statistic='AVERAGE') + operation='LT') create_alarm.assert_any_call(metric_name='average_memory_utilization', ns_id='test_nsr_id', vdu_name='cirros_ns-2-cirros_vnfd-VM-1', vnf_member_index='2', threshold=20.0, - operation='LT', - statistic='AVERAGE') + operation='LT') if __name__ == '__main__':