summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_metrics_after_72h.txt391
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_metrics_before_72h.txt244
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.jpgbin139518 -> 0 bytes
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.pngbin0 -> 135217 bytes
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.jpgbin171549 -> 0 bytes
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.pngbin0 -> 134635 bytes
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_top_after_72h.jpgbin51328 -> 0 bytes
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_top_after_72h.pngbin0 -> 76131 bytes
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_top_before_72h.jpgbin72787 -> 0 bytes
-rw-r--r--docs/development/devtools/apex-s3p-results/apex_top_before_72h.pngbin0 -> 74785 bytes
-rw-r--r--docs/development/devtools/apex-s3p.rst75
-rw-r--r--docs/development/devtools/clamp-dcae.rst20
-rw-r--r--docs/development/devtools/clamp-policy.rst10
-rw-r--r--docs/development/devtools/clamp-sdc.rst117
-rw-r--r--docs/development/devtools/devtools.rst2
-rw-r--r--docs/development/devtools/images/ac-commission.pngbin0 -> 208559 bytes
-rw-r--r--docs/development/devtools/images/ac-create.png (renamed from docs/development/devtools/images/cl-create.png)bin226752 -> 226752 bytes
-rw-r--r--docs/development/devtools/images/ac-instantiation.png (renamed from docs/development/devtools/images/cl-instantiation.png)bin230788 -> 230788 bytes
-rw-r--r--docs/development/devtools/images/ac-passive.png (renamed from docs/development/devtools/images/cl-passive.png)bin206486 -> 206486 bytes
-rw-r--r--docs/development/devtools/images/ac-running-state.png (renamed from docs/development/devtools/images/cl-running-state.png)bin226765 -> 226765 bytes
-rw-r--r--docs/development/devtools/images/ac-running.png (renamed from docs/development/devtools/images/cl-running.png)bin206577 -> 206577 bytes
-rw-r--r--docs/development/devtools/images/ac-uninitialise.png (renamed from docs/development/devtools/images/cl-uninitialise.png)bin206284 -> 206284 bytes
-rw-r--r--docs/development/devtools/images/ac-uninitialised-state.png (renamed from docs/development/devtools/images/cl-uninitialised-state.png)bin227934 -> 227934 bytes
-rw-r--r--docs/development/devtools/images/ac-upload.pngbin0 -> 162824 bytes
-rw-r--r--docs/development/devtools/images/cl-commission.pngbin161307 -> 0 bytes
-rw-r--r--docs/development/devtools/images/sdc_compose_acm.pngbin0 -> 162680 bytes
-rw-r--r--docs/development/devtools/images/sdc_create_acm.pngbin0 -> 112121 bytes
-rw-r--r--docs/development/devtools/images/sdc_create_element.pngbin0 -> 116027 bytes
-rw-r--r--docs/development/devtools/images/sdc_create_participant.pngbin0 -> 97458 bytes
-rw-r--r--docs/development/devtools/images/sdc_distribute.pngbin0 -> 114485 bytes
-rw-r--r--docs/development/devtools/images/sdc_element_props.pngbin0 -> 128859 bytes
-rw-r--r--docs/development/devtools/images/sdc_tosca.pngbin0 -> 97452 bytes
-rw-r--r--docs/development/devtools/json/pd_config.json145
-rw-r--r--docs/development/devtools/postman/create-vnf-pnf-aai-for-apex-s3p.postman_collection.json788
-rw-r--r--docs/development/devtools/tosca/pairwise-testing.yml3520
35 files changed, 4475 insertions, 837 deletions
diff --git a/docs/development/devtools/apex-s3p-results/apex_metrics_after_72h.txt b/docs/development/devtools/apex-s3p-results/apex_metrics_after_72h.txt
index 38fe5054..56f13907 100644
--- a/docs/development/devtools/apex-s3p-results/apex_metrics_after_72h.txt
+++ b/docs/development/devtools/apex-s3p-results/apex_metrics_after_72h.txt
@@ -1,173 +1,316 @@
-# HELP jvm_info VM version info
-# TYPE jvm_info gauge
-jvm_info{runtime="OpenJDK Runtime Environment",vendor="Alpine",version="11.0.9+11-alpine-r1",} 1.0
+# HELP jvm_threads_current Current thread count of a JVM
+# TYPE jvm_threads_current gauge
+jvm_threads_current 32.0
+# HELP jvm_threads_daemon Daemon thread count of a JVM
+# TYPE jvm_threads_daemon gauge
+jvm_threads_daemon 17.0
+# HELP jvm_threads_peak Peak thread count of a JVM
+# TYPE jvm_threads_peak gauge
+jvm_threads_peak 81.0
+# HELP jvm_threads_started_total Started thread count of a JVM
+# TYPE jvm_threads_started_total counter
+jvm_threads_started_total 423360.0
+# HELP jvm_threads_deadlocked Cycles of JVM-threads that are in deadlock waiting to acquire object monitors or ownable synchronizers
+# TYPE jvm_threads_deadlocked gauge
+jvm_threads_deadlocked 0.0
+# HELP jvm_threads_deadlocked_monitor Cycles of JVM-threads that are in deadlock waiting to acquire object monitors
+# TYPE jvm_threads_deadlocked_monitor gauge
+jvm_threads_deadlocked_monitor 0.0
+# HELP jvm_threads_state Current count of threads by state
+# TYPE jvm_threads_state gauge
+jvm_threads_state{state="BLOCKED",} 0.0
+jvm_threads_state{state="TIMED_WAITING",} 11.0
+jvm_threads_state{state="NEW",} 0.0
+jvm_threads_state{state="RUNNABLE",} 7.0
+jvm_threads_state{state="TERMINATED",} 0.0
+jvm_threads_state{state="WAITING",} 14.0
+# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
+# TYPE process_cpu_seconds_total counter
+process_cpu_seconds_total 16418.06
+# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
+# TYPE process_start_time_seconds gauge
+process_start_time_seconds 1.651077494162E9
+# HELP process_open_fds Number of open file descriptors.
+# TYPE process_open_fds gauge
+process_open_fds 357.0
+# HELP process_max_fds Maximum number of open file descriptors.
+# TYPE process_max_fds gauge
+process_max_fds 1048576.0
+# HELP process_virtual_memory_bytes Virtual memory size in bytes.
+# TYPE process_virtual_memory_bytes gauge
+process_virtual_memory_bytes 1.0165403648E10
+# HELP process_resident_memory_bytes Resident memory size in bytes.
+# TYPE process_resident_memory_bytes gauge
+process_resident_memory_bytes 5.58034944E8
+# HELP pdpa_engine_event_executions Total number of APEX events processed by the engine.
+# TYPE pdpa_engine_event_executions gauge
+pdpa_engine_event_executions{engine_instance_id="NSOApexEngine-1:0.0.1",} 30743.0
+pdpa_engine_event_executions{engine_instance_id="NSOApexEngine-4:0.0.1",} 30766.0
+pdpa_engine_event_executions{engine_instance_id="NSOApexEngine-3:0.0.1",} 30722.0
+pdpa_engine_event_executions{engine_instance_id="NSOApexEngine-0:0.0.1",} 30727.0
+pdpa_engine_event_executions{engine_instance_id="NSOApexEngine-2:0.0.1",} 30742.0
+# HELP jvm_buffer_pool_used_bytes Used bytes of a given JVM buffer pool.
+# TYPE jvm_buffer_pool_used_bytes gauge
+jvm_buffer_pool_used_bytes{pool="mapped",} 0.0
+jvm_buffer_pool_used_bytes{pool="direct",} 3.3833905E7
+# HELP jvm_buffer_pool_capacity_bytes Bytes capacity of a given JVM buffer pool.
+# TYPE jvm_buffer_pool_capacity_bytes gauge
+jvm_buffer_pool_capacity_bytes{pool="mapped",} 0.0
+jvm_buffer_pool_capacity_bytes{pool="direct",} 3.3833904E7
+# HELP jvm_buffer_pool_used_buffers Used buffers of a given JVM buffer pool.
+# TYPE jvm_buffer_pool_used_buffers gauge
+jvm_buffer_pool_used_buffers{pool="mapped",} 0.0
+jvm_buffer_pool_used_buffers{pool="direct",} 15.0
+# HELP pdpa_policy_executions_total The total number of TOSCA policy executions.
+# TYPE pdpa_policy_executions_total counter
+# HELP pdpa_policy_deployments_total The total number of policy deployments.
+# TYPE pdpa_policy_deployments_total counter
+pdpa_policy_deployments_total{operation="deploy",status="TOTAL",} 5.0
+pdpa_policy_deployments_total{operation="undeploy",status="TOTAL",} 5.0
+pdpa_policy_deployments_total{operation="undeploy",status="SUCCESS",} 5.0
+pdpa_policy_deployments_total{operation="deploy",status="SUCCESS",} 5.0
+# HELP pdpa_engine_average_execution_time_seconds Average time taken to execute an APEX policy in seconds.
+# TYPE pdpa_engine_average_execution_time_seconds gauge
+pdpa_engine_average_execution_time_seconds{engine_instance_id="NSOApexEngine-1:0.0.1",} 0.00515235988680349
+pdpa_engine_average_execution_time_seconds{engine_instance_id="NSOApexEngine-4:0.0.1",} 0.00521845543782099
+pdpa_engine_average_execution_time_seconds{engine_instance_id="NSOApexEngine-3:0.0.1",} 0.005200800729119198
+pdpa_engine_average_execution_time_seconds{engine_instance_id="NSOApexEngine-0:0.0.1",} 0.005191785725908804
+pdpa_engine_average_execution_time_seconds{engine_instance_id="NSOApexEngine-2:0.0.1",} 0.0051784854596317684
+# HELP pdpa_engine_state State of the APEX engine as integers mapped as - 0:UNDEFINED, 1:STOPPED, 2:READY, 3:EXECUTING, 4:STOPPING
+# TYPE pdpa_engine_state gauge
+pdpa_engine_state{engine_instance_id="NSOApexEngine-1:0.0.1",} 1.0
+pdpa_engine_state{engine_instance_id="NSOApexEngine-4:0.0.1",} 1.0
+pdpa_engine_state{engine_instance_id="NSOApexEngine-3:0.0.1",} 1.0
+pdpa_engine_state{engine_instance_id="NSOApexEngine-0:0.0.1",} 1.0
+pdpa_engine_state{engine_instance_id="NSOApexEngine-2:0.0.1",} 1.0
+# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds.
+# TYPE jvm_gc_collection_seconds summary
+jvm_gc_collection_seconds_count{gc="Copy",} 5883.0
+jvm_gc_collection_seconds_sum{gc="Copy",} 97.808
+jvm_gc_collection_seconds_count{gc="MarkSweepCompact",} 3.0
+jvm_gc_collection_seconds_sum{gc="MarkSweepCompact",} 0.357
+# HELP pdpa_engine_last_start_timestamp_epoch Epoch timestamp of the instance when engine was last started.
+# TYPE pdpa_engine_last_start_timestamp_epoch gauge
+pdpa_engine_last_start_timestamp_epoch{engine_instance_id="NSOApexEngine-1:0.0.1",} 0.0
+pdpa_engine_last_start_timestamp_epoch{engine_instance_id="NSOApexEngine-4:0.0.1",} 0.0
+pdpa_engine_last_start_timestamp_epoch{engine_instance_id="NSOApexEngine-3:0.0.1",} 0.0
+pdpa_engine_last_start_timestamp_epoch{engine_instance_id="NSOApexEngine-0:0.0.1",} 0.0
+pdpa_engine_last_start_timestamp_epoch{engine_instance_id="NSOApexEngine-2:0.0.1",} 0.0
+# HELP jvm_memory_pool_allocated_bytes_total Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously.
+# TYPE jvm_memory_pool_allocated_bytes_total counter
+jvm_memory_pool_allocated_bytes_total{pool="Eden Space",} 8.29800936264E11
+jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'profiled nmethods'",} 4.839232E7
+jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-profiled nmethods'",} 3.5181056E7
+jvm_memory_pool_allocated_bytes_total{pool="Compressed Class Space",} 8194120.0
+jvm_memory_pool_allocated_bytes_total{pool="Metaspace",} 7.7729144E7
+jvm_memory_pool_allocated_bytes_total{pool="Tenured Gen",} 1.41180272E8
+jvm_memory_pool_allocated_bytes_total{pool="Survivor Space",} 4.78761928E8
+jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-nmethods'",} 1392128.0
+# HELP pdpa_engine_uptime Time elapsed since the engine was started.
+# TYPE pdpa_engine_uptime gauge
+pdpa_engine_uptime{engine_instance_id="NSOApexEngine-1:0.0.1",} 259200.522
+pdpa_engine_uptime{engine_instance_id="NSOApexEngine-4:0.0.1",} 259200.751
+pdpa_engine_uptime{engine_instance_id="NSOApexEngine-3:0.0.1",} 259200.678
+pdpa_engine_uptime{engine_instance_id="NSOApexEngine-0:0.0.1",} 259200.439
+pdpa_engine_uptime{engine_instance_id="NSOApexEngine-2:0.0.1",} 259200.601
+# HELP pdpa_engine_last_execution_time Time taken to execute the last APEX policy in seconds.
+# TYPE pdpa_engine_last_execution_time histogram
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.005",} 24726.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.01",} 50195.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.025",} 70836.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.05",} 71947.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.075",} 71996.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.1",} 72001.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.25",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.5",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="0.75",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="1.0",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="2.5",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="5.0",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="7.5",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="10.0",} 72002.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-1:0.0.1",le="+Inf",} 72002.0
+pdpa_engine_last_execution_time_count{engine_instance_id="NSOApexEngine-1:0.0.1",} 72002.0
+pdpa_engine_last_execution_time_sum{engine_instance_id="NSOApexEngine-1:0.0.1",} 609.1939999998591
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.005",} 24512.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.01",} 50115.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.025",} 70746.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.05",} 71918.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.075",} 71966.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.1",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.25",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.5",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="0.75",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="1.0",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="2.5",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="5.0",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="7.5",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="10.0",} 71967.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-4:0.0.1",le="+Inf",} 71967.0
+pdpa_engine_last_execution_time_count{engine_instance_id="NSOApexEngine-4:0.0.1",} 71967.0
+pdpa_engine_last_execution_time_sum{engine_instance_id="NSOApexEngine-4:0.0.1",} 610.3469999998522
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.005",} 24607.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.01",} 50182.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.025",} 70791.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.05",} 71929.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.075",} 71965.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.1",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.25",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.5",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="0.75",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="1.0",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="2.5",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="5.0",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="7.5",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="10.0",} 71970.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-3:0.0.1",le="+Inf",} 71970.0
+pdpa_engine_last_execution_time_count{engine_instance_id="NSOApexEngine-3:0.0.1",} 71970.0
+pdpa_engine_last_execution_time_sum{engine_instance_id="NSOApexEngine-3:0.0.1",} 608.8539999998619
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.005",} 24623.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.01",} 50207.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.025",} 70783.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.05",} 71934.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.075",} 71981.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.1",} 71986.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.25",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.5",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="0.75",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="1.0",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="2.5",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="5.0",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="7.5",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="10.0",} 71988.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-0:0.0.1",le="+Inf",} 71988.0
+pdpa_engine_last_execution_time_count{engine_instance_id="NSOApexEngine-0:0.0.1",} 71988.0
+pdpa_engine_last_execution_time_sum{engine_instance_id="NSOApexEngine-0:0.0.1",} 610.5579999998558
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.005",} 24594.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.01",} 50131.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.025",} 70816.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.05",} 71905.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.075",} 71959.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.1",} 71961.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.25",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.5",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="0.75",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="1.0",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="2.5",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="5.0",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="7.5",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="10.0",} 71962.0
+pdpa_engine_last_execution_time_bucket{engine_instance_id="NSOApexEngine-2:0.0.1",le="+Inf",} 71962.0
+pdpa_engine_last_execution_time_count{engine_instance_id="NSOApexEngine-2:0.0.1",} 71962.0
+pdpa_engine_last_execution_time_sum{engine_instance_id="NSOApexEngine-2:0.0.1",} 608.3549999998555
# HELP jvm_memory_objects_pending_finalization The number of objects waiting in the finalizer queue.
# TYPE jvm_memory_objects_pending_finalization gauge
jvm_memory_objects_pending_finalization 0.0
# HELP jvm_memory_bytes_used Used bytes of a given JVM memory area.
# TYPE jvm_memory_bytes_used gauge
-jvm_memory_bytes_used{area="heap",} 1.8570308E8
-jvm_memory_bytes_used{area="nonheap",} 1.1990352E8
+jvm_memory_bytes_used{area="heap",} 1.90274552E8
+jvm_memory_bytes_used{area="nonheap",} 1.16193856E8
# HELP jvm_memory_bytes_committed Committed (bytes) of a given JVM memory area.
# TYPE jvm_memory_bytes_committed gauge
-jvm_memory_bytes_committed{area="heap",} 2.55655936E8
-jvm_memory_bytes_committed{area="nonheap",} 1.65216256E8
+jvm_memory_bytes_committed{area="heap",} 5.10984192E8
+jvm_memory_bytes_committed{area="nonheap",} 1.56127232E8
# HELP jvm_memory_bytes_max Max (bytes) of a given JVM memory area.
# TYPE jvm_memory_bytes_max gauge
-jvm_memory_bytes_max{area="heap",} 4.064673792E9
+jvm_memory_bytes_max{area="heap",} 8.151564288E9
jvm_memory_bytes_max{area="nonheap",} -1.0
# HELP jvm_memory_bytes_init Initial bytes of a given JVM memory area.
# TYPE jvm_memory_bytes_init gauge
-jvm_memory_bytes_init{area="heap",} 2.64241152E8
+jvm_memory_bytes_init{area="heap",} 5.28482304E8
jvm_memory_bytes_init{area="nonheap",} 7667712.0
# HELP jvm_memory_pool_bytes_used Used bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_used gauge
-jvm_memory_pool_bytes_used{pool="CodeHeap 'non-nmethods'",} 1357312.0
-jvm_memory_pool_bytes_used{pool="Metaspace",} 8.2427648E7
-jvm_memory_pool_bytes_used{pool="Tenured Gen",} 1.5998668E8
-jvm_memory_pool_bytes_used{pool="CodeHeap 'profiled nmethods'",} 4413696.0
-jvm_memory_pool_bytes_used{pool="Eden Space",} 2.1659816E7
-jvm_memory_pool_bytes_used{pool="Survivor Space",} 4056584.0
-jvm_memory_pool_bytes_used{pool="Compressed Class Space",} 8293152.0
-jvm_memory_pool_bytes_used{pool="CodeHeap 'non-profiled nmethods'",} 2.3411712E7
+jvm_memory_pool_bytes_used{pool="CodeHeap 'non-nmethods'",} 1353600.0
+jvm_memory_pool_bytes_used{pool="Metaspace",} 7.7729144E7
+jvm_memory_pool_bytes_used{pool="Tenured Gen",} 1.41180272E8
+jvm_memory_pool_bytes_used{pool="CodeHeap 'profiled nmethods'",} 4831104.0
+jvm_memory_pool_bytes_used{pool="Eden Space",} 4.5145032E7
+jvm_memory_pool_bytes_used{pool="Survivor Space",} 3949248.0
+jvm_memory_pool_bytes_used{pool="Compressed Class Space",} 8194120.0
+jvm_memory_pool_bytes_used{pool="CodeHeap 'non-profiled nmethods'",} 2.4085888E7
# HELP jvm_memory_pool_bytes_committed Committed bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_committed gauge
jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-nmethods'",} 2555904.0
-jvm_memory_pool_bytes_committed{pool="Metaspace",} 9.4896128E7
-jvm_memory_pool_bytes_committed{pool="Tenured Gen",} 1.76160768E8
-jvm_memory_pool_bytes_committed{pool="CodeHeap 'profiled nmethods'",} 3.2309248E7
-jvm_memory_pool_bytes_committed{pool="Eden Space",} 7.0713344E7
-jvm_memory_pool_bytes_committed{pool="Survivor Space",} 8781824.0
-jvm_memory_pool_bytes_committed{pool="Compressed Class Space",} 1.0223616E7
-jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-profiled nmethods'",} 2.523136E7
+jvm_memory_pool_bytes_committed{pool="Metaspace",} 8.5348352E7
+jvm_memory_pool_bytes_committed{pool="Tenured Gen",} 3.52321536E8
+jvm_memory_pool_bytes_committed{pool="CodeHeap 'profiled nmethods'",} 3.3030144E7
+jvm_memory_pool_bytes_committed{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_bytes_committed{pool="Survivor Space",} 1.7629184E7
+jvm_memory_pool_bytes_committed{pool="Compressed Class Space",} 9175040.0
+jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-profiled nmethods'",} 2.6017792E7
# HELP jvm_memory_pool_bytes_max Max bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_max gauge
jvm_memory_pool_bytes_max{pool="CodeHeap 'non-nmethods'",} 5828608.0
jvm_memory_pool_bytes_max{pool="Metaspace",} -1.0
-jvm_memory_pool_bytes_max{pool="Tenured Gen",} 2.803236864E9
+jvm_memory_pool_bytes_max{pool="Tenured Gen",} 5.621809152E9
jvm_memory_pool_bytes_max{pool="CodeHeap 'profiled nmethods'",} 1.22912768E8
-jvm_memory_pool_bytes_max{pool="Eden Space",} 1.12132096E9
-jvm_memory_pool_bytes_max{pool="Survivor Space",} 1.40115968E8
+jvm_memory_pool_bytes_max{pool="Eden Space",} 2.248671232E9
+jvm_memory_pool_bytes_max{pool="Survivor Space",} 2.81083904E8
jvm_memory_pool_bytes_max{pool="Compressed Class Space",} 1.073741824E9
jvm_memory_pool_bytes_max{pool="CodeHeap 'non-profiled nmethods'",} 1.22916864E8
# HELP jvm_memory_pool_bytes_init Initial bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_init gauge
jvm_memory_pool_bytes_init{pool="CodeHeap 'non-nmethods'",} 2555904.0
jvm_memory_pool_bytes_init{pool="Metaspace",} 0.0
-jvm_memory_pool_bytes_init{pool="Tenured Gen",} 1.76160768E8
+jvm_memory_pool_bytes_init{pool="Tenured Gen",} 3.52321536E8
jvm_memory_pool_bytes_init{pool="CodeHeap 'profiled nmethods'",} 2555904.0
-jvm_memory_pool_bytes_init{pool="Eden Space",} 7.0516736E7
-jvm_memory_pool_bytes_init{pool="Survivor Space",} 8781824.0
+jvm_memory_pool_bytes_init{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_bytes_init{pool="Survivor Space",} 1.7563648E7
jvm_memory_pool_bytes_init{pool="Compressed Class Space",} 0.0
jvm_memory_pool_bytes_init{pool="CodeHeap 'non-profiled nmethods'",} 2555904.0
# HELP jvm_memory_pool_collection_used_bytes Used bytes after last collection of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_used_bytes gauge
-jvm_memory_pool_collection_used_bytes{pool="Tenured Gen",} 1.00182296E8
+jvm_memory_pool_collection_used_bytes{pool="Tenured Gen",} 3.853812E7
jvm_memory_pool_collection_used_bytes{pool="Eden Space",} 0.0
-jvm_memory_pool_collection_used_bytes{pool="Survivor Space",} 4056584.0
+jvm_memory_pool_collection_used_bytes{pool="Survivor Space",} 3949248.0
# HELP jvm_memory_pool_collection_committed_bytes Committed after last collection bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_committed_bytes gauge
-jvm_memory_pool_collection_committed_bytes{pool="Tenured Gen",} 1.76357376E8
-jvm_memory_pool_collection_committed_bytes{pool="Eden Space",} 7.0713344E7
-jvm_memory_pool_collection_committed_bytes{pool="Survivor Space",} 8781824.0
+jvm_memory_pool_collection_committed_bytes{pool="Tenured Gen",} 3.52321536E8
+jvm_memory_pool_collection_committed_bytes{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_collection_committed_bytes{pool="Survivor Space",} 1.7629184E7
# HELP jvm_memory_pool_collection_max_bytes Max bytes after last collection of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_max_bytes gauge
-jvm_memory_pool_collection_max_bytes{pool="Tenured Gen",} 2.803236864E9
-jvm_memory_pool_collection_max_bytes{pool="Eden Space",} 1.12132096E9
-jvm_memory_pool_collection_max_bytes{pool="Survivor Space",} 1.40115968E8
+jvm_memory_pool_collection_max_bytes{pool="Tenured Gen",} 5.621809152E9
+jvm_memory_pool_collection_max_bytes{pool="Eden Space",} 2.248671232E9
+jvm_memory_pool_collection_max_bytes{pool="Survivor Space",} 2.81083904E8
# HELP jvm_memory_pool_collection_init_bytes Initial after last collection bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_init_bytes gauge
-jvm_memory_pool_collection_init_bytes{pool="Tenured Gen",} 1.76160768E8
-jvm_memory_pool_collection_init_bytes{pool="Eden Space",} 7.0516736E7
-jvm_memory_pool_collection_init_bytes{pool="Survivor Space",} 8781824.0
-# HELP jvm_memory_pool_allocated_bytes_total Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously.
-# TYPE jvm_memory_pool_allocated_bytes_total counter
-jvm_memory_pool_allocated_bytes_total{pool="Eden Space",} 7.81369756592E11
-jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'profiled nmethods'",} 5.1833472E7
-jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-profiled nmethods'",} 3.6370048E7
-jvm_memory_pool_allocated_bytes_total{pool="Compressed Class Space",} 8986056.0
-jvm_memory_pool_allocated_bytes_total{pool="Metaspace",} 8.6383264E7
-jvm_memory_pool_allocated_bytes_total{pool="Tenured Gen",} 3.84983864E8
-jvm_memory_pool_allocated_bytes_total{pool="Survivor Space",} 1.506631592E9
-jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-nmethods'",} 1439232.0
-# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds.
-# TYPE jvm_gc_collection_seconds summary
-jvm_gc_collection_seconds_count{gc="Copy",} 11053.0
-jvm_gc_collection_seconds_sum{gc="Copy",} 90.383
-jvm_gc_collection_seconds_count{gc="MarkSweepCompact",} 6.0
-jvm_gc_collection_seconds_sum{gc="MarkSweepCompact",} 1.44
-# HELP jvm_threads_current Current thread count of a JVM
-# TYPE jvm_threads_current gauge
-jvm_threads_current 31.0
-# HELP jvm_threads_daemon Daemon thread count of a JVM
-# TYPE jvm_threads_daemon gauge
-jvm_threads_daemon 16.0
-# HELP jvm_threads_peak Peak thread count of a JVM
-# TYPE jvm_threads_peak gauge
-jvm_threads_peak 80.0
-# HELP jvm_threads_started_total Started thread count of a JVM
-# TYPE jvm_threads_started_total counter
-jvm_threads_started_total 320599.0
-# HELP jvm_threads_deadlocked Cycles of JVM-threads that are in deadlock waiting to acquire object monitors or ownable synchronizers
-# TYPE jvm_threads_deadlocked gauge
-jvm_threads_deadlocked 0.0
-# HELP jvm_threads_deadlocked_monitor Cycles of JVM-threads that are in deadlock waiting to acquire object monitors
-# TYPE jvm_threads_deadlocked_monitor gauge
-jvm_threads_deadlocked_monitor 0.0
-# HELP jvm_threads_state Current count of threads by state
-# TYPE jvm_threads_state gauge
-jvm_threads_state{state="BLOCKED",} 0.0
-jvm_threads_state{state="WAITING",} 13.0
-jvm_threads_state{state="RUNNABLE",} 7.0
-jvm_threads_state{state="TIMED_WAITING",} 11.0
-jvm_threads_state{state="TERMINATED",} 0.0
-jvm_threads_state{state="NEW",} 0.0
-# HELP jvm_buffer_pool_used_bytes Used bytes of a given JVM buffer pool.
-# TYPE jvm_buffer_pool_used_bytes gauge
-jvm_buffer_pool_used_bytes{pool="mapped",} 0.0
-jvm_buffer_pool_used_bytes{pool="direct",} 3.385029E7
-# HELP jvm_buffer_pool_capacity_bytes Bytes capacity of a given JVM buffer pool.
-# TYPE jvm_buffer_pool_capacity_bytes gauge
-jvm_buffer_pool_capacity_bytes{pool="mapped",} 0.0
-jvm_buffer_pool_capacity_bytes{pool="direct",} 3.3850289E7
-# HELP jvm_buffer_pool_used_buffers Used buffers of a given JVM buffer pool.
-# TYPE jvm_buffer_pool_used_buffers gauge
-jvm_buffer_pool_used_buffers{pool="mapped",} 0.0
-jvm_buffer_pool_used_buffers{pool="direct",} 16.0
+jvm_memory_pool_collection_init_bytes{pool="Tenured Gen",} 3.52321536E8
+jvm_memory_pool_collection_init_bytes{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_collection_init_bytes{pool="Survivor Space",} 1.7563648E7
# HELP jvm_classes_loaded The number of classes that are currently loaded in the JVM
# TYPE jvm_classes_loaded gauge
-jvm_classes_loaded 11238.0
+jvm_classes_loaded 11386.0
# HELP jvm_classes_loaded_total The total number of classes that have been loaded since the JVM has started execution
# TYPE jvm_classes_loaded_total counter
-jvm_classes_loaded_total 12239.0
+jvm_classes_loaded_total 11448.0
# HELP jvm_classes_unloaded_total The total number of classes that have been unloaded since the JVM has started execution
# TYPE jvm_classes_unloaded_total counter
-jvm_classes_unloaded_total 1001.0
-# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
-# TYPE process_cpu_seconds_total counter
-process_cpu_seconds_total 9308.0
-# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
-# TYPE process_start_time_seconds gauge
-process_start_time_seconds 1.633111663176E9
-# HELP process_open_fds Number of open file descriptors.
-# TYPE process_open_fds gauge
-process_open_fds 354.0
-# HELP process_max_fds Maximum number of open file descriptors.
-# TYPE process_max_fds gauge
-process_max_fds 1048576.0
-# HELP process_virtual_memory_bytes Virtual memory size in bytes.
-# TYPE process_virtual_memory_bytes gauge
-process_virtual_memory_bytes 5.933633536E9
-# HELP process_resident_memory_bytes Resident memory size in bytes.
-# TYPE process_resident_memory_bytes gauge
-process_resident_memory_bytes 5.2523008E8
+jvm_classes_unloaded_total 62.0
+# HELP jvm_info VM version info
+# TYPE jvm_info gauge
+jvm_info{runtime="OpenJDK Runtime Environment",vendor="Alpine",version="11.0.9+11-alpine-r1",} 1.0
# HELP jvm_memory_pool_allocated_bytes_created Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously.
# TYPE jvm_memory_pool_allocated_bytes_created gauge
-jvm_memory_pool_allocated_bytes_created{pool="Eden Space",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'profiled nmethods'",} 1.633111669942E9
-jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-profiled nmethods'",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Compressed Class Space",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Metaspace",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Tenured Gen",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Survivor Space",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-nmethods'",} 1.633111669968E9
+jvm_memory_pool_allocated_bytes_created{pool="Eden Space",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'profiled nmethods'",} 1.651077501657E9
+jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-profiled nmethods'",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Compressed Class Space",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Metaspace",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Tenured Gen",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Survivor Space",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-nmethods'",} 1.651077501662E9
+# HELP pdpa_engine_last_execution_time_created Time taken to execute the last APEX policy in seconds.
+# TYPE pdpa_engine_last_execution_time_created gauge
+pdpa_engine_last_execution_time_created{engine_instance_id="NSOApexEngine-1:0.0.1",} 1.651080501294E9
+pdpa_engine_last_execution_time_created{engine_instance_id="NSOApexEngine-4:0.0.1",} 1.651080501295E9
+pdpa_engine_last_execution_time_created{engine_instance_id="NSOApexEngine-3:0.0.1",} 1.651080501295E9
+pdpa_engine_last_execution_time_created{engine_instance_id="NSOApexEngine-0:0.0.1",} 1.651080501294E9
+pdpa_engine_last_execution_time_created{engine_instance_id="NSOApexEngine-2:0.0.1",} 1.651080501294E9
+# HELP pdpa_policy_deployments_created The total number of policy deployments.
+# TYPE pdpa_policy_deployments_created gauge
+pdpa_policy_deployments_created{operation="deploy",status="TOTAL",} 1.651080501289E9
+pdpa_policy_deployments_created{operation="undeploy",status="TOTAL",} 1.651081148331E9
+pdpa_policy_deployments_created{operation="undeploy",status="SUCCESS",} 1.651081148331E9
+pdpa_policy_deployments_created{operation="deploy",status="SUCCESS",} 1.651080501289E9
diff --git a/docs/development/devtools/apex-s3p-results/apex_metrics_before_72h.txt b/docs/development/devtools/apex-s3p-results/apex_metrics_before_72h.txt
index 551bd824..4a3d8835 100644
--- a/docs/development/devtools/apex-s3p-results/apex_metrics_before_72h.txt
+++ b/docs/development/devtools/apex-s3p-results/apex_metrics_before_72h.txt
@@ -1,173 +1,175 @@
-# HELP jvm_info VM version info
-# TYPE jvm_info gauge
-jvm_info{runtime="OpenJDK Runtime Environment",vendor="Alpine",version="11.0.9+11-alpine-r1",} 1.0
+# HELP jvm_threads_current Current thread count of a JVM
+# TYPE jvm_threads_current gauge
+jvm_threads_current 31.0
+# HELP jvm_threads_daemon Daemon thread count of a JVM
+# TYPE jvm_threads_daemon gauge
+jvm_threads_daemon 16.0
+# HELP jvm_threads_peak Peak thread count of a JVM
+# TYPE jvm_threads_peak gauge
+jvm_threads_peak 31.0
+# HELP jvm_threads_started_total Started thread count of a JVM
+# TYPE jvm_threads_started_total counter
+jvm_threads_started_total 32.0
+# HELP jvm_threads_deadlocked Cycles of JVM-threads that are in deadlock waiting to acquire object monitors or ownable synchronizers
+# TYPE jvm_threads_deadlocked gauge
+jvm_threads_deadlocked 0.0
+# HELP jvm_threads_deadlocked_monitor Cycles of JVM-threads that are in deadlock waiting to acquire object monitors
+# TYPE jvm_threads_deadlocked_monitor gauge
+jvm_threads_deadlocked_monitor 0.0
+# HELP jvm_threads_state Current count of threads by state
+# TYPE jvm_threads_state gauge
+jvm_threads_state{state="BLOCKED",} 0.0
+jvm_threads_state{state="TIMED_WAITING",} 11.0
+jvm_threads_state{state="NEW",} 0.0
+jvm_threads_state{state="RUNNABLE",} 7.0
+jvm_threads_state{state="TERMINATED",} 0.0
+jvm_threads_state{state="WAITING",} 13.0
+# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds.
+# TYPE jvm_gc_collection_seconds summary
+jvm_gc_collection_seconds_count{gc="Copy",} 2.0
+jvm_gc_collection_seconds_sum{gc="Copy",} 0.059
+jvm_gc_collection_seconds_count{gc="MarkSweepCompact",} 2.0
+jvm_gc_collection_seconds_sum{gc="MarkSweepCompact",} 0.185
+# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
+# TYPE process_cpu_seconds_total counter
+process_cpu_seconds_total 38.14
+# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
+# TYPE process_start_time_seconds gauge
+process_start_time_seconds 1.651077494162E9
+# HELP process_open_fds Number of open file descriptors.
+# TYPE process_open_fds gauge
+process_open_fds 355.0
+# HELP process_max_fds Maximum number of open file descriptors.
+# TYPE process_max_fds gauge
+process_max_fds 1048576.0
+# HELP process_virtual_memory_bytes Virtual memory size in bytes.
+# TYPE process_virtual_memory_bytes gauge
+process_virtual_memory_bytes 1.0070171648E10
+# HELP process_resident_memory_bytes Resident memory size in bytes.
+# TYPE process_resident_memory_bytes gauge
+process_resident_memory_bytes 2.9052928E8
+# HELP jvm_buffer_pool_used_bytes Used bytes of a given JVM buffer pool.
+# TYPE jvm_buffer_pool_used_bytes gauge
+jvm_buffer_pool_used_bytes{pool="mapped",} 0.0
+jvm_buffer_pool_used_bytes{pool="direct",} 187432.0
+# HELP jvm_buffer_pool_capacity_bytes Bytes capacity of a given JVM buffer pool.
+# TYPE jvm_buffer_pool_capacity_bytes gauge
+jvm_buffer_pool_capacity_bytes{pool="mapped",} 0.0
+jvm_buffer_pool_capacity_bytes{pool="direct",} 187432.0
+# HELP jvm_buffer_pool_used_buffers Used buffers of a given JVM buffer pool.
+# TYPE jvm_buffer_pool_used_buffers gauge
+jvm_buffer_pool_used_buffers{pool="mapped",} 0.0
+jvm_buffer_pool_used_buffers{pool="direct",} 9.0
+# HELP jvm_memory_pool_allocated_bytes_total Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously.
+# TYPE jvm_memory_pool_allocated_bytes_total counter
+jvm_memory_pool_allocated_bytes_total{pool="Eden Space",} 3.035482E8
+jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'profiled nmethods'",} 9772800.0
+jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-profiled nmethods'",} 2152064.0
+jvm_memory_pool_allocated_bytes_total{pool="Compressed Class Space",} 4912232.0
+jvm_memory_pool_allocated_bytes_total{pool="Metaspace",} 4.1337744E7
+jvm_memory_pool_allocated_bytes_total{pool="Tenured Gen",} 2.8136056E7
+jvm_memory_pool_allocated_bytes_total{pool="Survivor Space",} 6813240.0
+jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-nmethods'",} 1272320.0
+# HELP pdpa_policy_deployments_total The total number of policy deployments.
+# TYPE pdpa_policy_deployments_total counter
# HELP jvm_memory_objects_pending_finalization The number of objects waiting in the finalizer queue.
# TYPE jvm_memory_objects_pending_finalization gauge
jvm_memory_objects_pending_finalization 0.0
# HELP jvm_memory_bytes_used Used bytes of a given JVM memory area.
# TYPE jvm_memory_bytes_used gauge
-jvm_memory_bytes_used{area="heap",} 4.7930528E7
-jvm_memory_bytes_used{area="nonheap",} 5.3899512E7
+jvm_memory_bytes_used{area="heap",} 9.5900224E7
+jvm_memory_bytes_used{area="nonheap",} 6.0285288E7
# HELP jvm_memory_bytes_committed Committed (bytes) of a given JVM memory area.
# TYPE jvm_memory_bytes_committed gauge
-jvm_memory_bytes_committed{area="heap",} 2.555904E8
-jvm_memory_bytes_committed{area="nonheap",} 5.8589184E7
+jvm_memory_bytes_committed{area="heap",} 5.10984192E8
+jvm_memory_bytes_committed{area="nonheap",} 6.3922176E7
# HELP jvm_memory_bytes_max Max (bytes) of a given JVM memory area.
# TYPE jvm_memory_bytes_max gauge
-jvm_memory_bytes_max{area="heap",} 4.064673792E9
+jvm_memory_bytes_max{area="heap",} 8.151564288E9
jvm_memory_bytes_max{area="nonheap",} -1.0
# HELP jvm_memory_bytes_init Initial bytes of a given JVM memory area.
# TYPE jvm_memory_bytes_init gauge
-jvm_memory_bytes_init{area="heap",} 2.64241152E8
+jvm_memory_bytes_init{area="heap",} 5.28482304E8
jvm_memory_bytes_init{area="nonheap",} 7667712.0
# HELP jvm_memory_pool_bytes_used Used bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_used gauge
-jvm_memory_pool_bytes_used{pool="CodeHeap 'non-nmethods'",} 1271680.0
-jvm_memory_pool_bytes_used{pool="Metaspace",} 4.0208712E7
-jvm_memory_pool_bytes_used{pool="Tenured Gen",} 2.8176296E7
-jvm_memory_pool_bytes_used{pool="CodeHeap 'profiled nmethods'",} 5948416.0
-jvm_memory_pool_bytes_used{pool="Eden Space",} 1.780424E7
-jvm_memory_pool_bytes_used{pool="Survivor Space",} 1949992.0
-jvm_memory_pool_bytes_used{pool="Compressed Class Space",} 4855216.0
-jvm_memory_pool_bytes_used{pool="CodeHeap 'non-profiled nmethods'",} 1615488.0
+jvm_memory_pool_bytes_used{pool="CodeHeap 'non-nmethods'",} 1272320.0
+jvm_memory_pool_bytes_used{pool="Metaspace",} 4.1681312E7
+jvm_memory_pool_bytes_used{pool="Tenured Gen",} 2.8136056E7
+jvm_memory_pool_bytes_used{pool="CodeHeap 'profiled nmethods'",} 1.0006912E7
+jvm_memory_pool_bytes_used{pool="Eden Space",} 6.5005376E7
+jvm_memory_pool_bytes_used{pool="Survivor Space",} 2758792.0
+jvm_memory_pool_bytes_used{pool="Compressed Class Space",} 4913352.0
+jvm_memory_pool_bytes_used{pool="CodeHeap 'non-profiled nmethods'",} 2411392.0
# HELP jvm_memory_pool_bytes_committed Committed bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_committed gauge
jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-nmethods'",} 2555904.0
-jvm_memory_pool_bytes_committed{pool="Metaspace",} 4.194304E7
-jvm_memory_pool_bytes_committed{pool="Tenured Gen",} 1.76160768E8
-jvm_memory_pool_bytes_committed{pool="CodeHeap 'profiled nmethods'",} 6029312.0
-jvm_memory_pool_bytes_committed{pool="Eden Space",} 7.0647808E7
-jvm_memory_pool_bytes_committed{pool="Survivor Space",} 8781824.0
+jvm_memory_pool_bytes_committed{pool="Metaspace",} 4.32128E7
+jvm_memory_pool_bytes_committed{pool="Tenured Gen",} 3.52321536E8
+jvm_memory_pool_bytes_committed{pool="CodeHeap 'profiled nmethods'",} 1.0092544E7
+jvm_memory_pool_bytes_committed{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_bytes_committed{pool="Survivor Space",} 1.7629184E7
jvm_memory_pool_bytes_committed{pool="Compressed Class Space",} 5505024.0
jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-profiled nmethods'",} 2555904.0
# HELP jvm_memory_pool_bytes_max Max bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_max gauge
jvm_memory_pool_bytes_max{pool="CodeHeap 'non-nmethods'",} 5828608.0
jvm_memory_pool_bytes_max{pool="Metaspace",} -1.0
-jvm_memory_pool_bytes_max{pool="Tenured Gen",} 2.803236864E9
+jvm_memory_pool_bytes_max{pool="Tenured Gen",} 5.621809152E9
jvm_memory_pool_bytes_max{pool="CodeHeap 'profiled nmethods'",} 1.22912768E8
-jvm_memory_pool_bytes_max{pool="Eden Space",} 1.12132096E9
-jvm_memory_pool_bytes_max{pool="Survivor Space",} 1.40115968E8
+jvm_memory_pool_bytes_max{pool="Eden Space",} 2.248671232E9
+jvm_memory_pool_bytes_max{pool="Survivor Space",} 2.81083904E8
jvm_memory_pool_bytes_max{pool="Compressed Class Space",} 1.073741824E9
jvm_memory_pool_bytes_max{pool="CodeHeap 'non-profiled nmethods'",} 1.22916864E8
# HELP jvm_memory_pool_bytes_init Initial bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_bytes_init gauge
jvm_memory_pool_bytes_init{pool="CodeHeap 'non-nmethods'",} 2555904.0
jvm_memory_pool_bytes_init{pool="Metaspace",} 0.0
-jvm_memory_pool_bytes_init{pool="Tenured Gen",} 1.76160768E8
+jvm_memory_pool_bytes_init{pool="Tenured Gen",} 3.52321536E8
jvm_memory_pool_bytes_init{pool="CodeHeap 'profiled nmethods'",} 2555904.0
-jvm_memory_pool_bytes_init{pool="Eden Space",} 7.0516736E7
-jvm_memory_pool_bytes_init{pool="Survivor Space",} 8781824.0
+jvm_memory_pool_bytes_init{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_bytes_init{pool="Survivor Space",} 1.7563648E7
jvm_memory_pool_bytes_init{pool="Compressed Class Space",} 0.0
jvm_memory_pool_bytes_init{pool="CodeHeap 'non-profiled nmethods'",} 2555904.0
# HELP jvm_memory_pool_collection_used_bytes Used bytes after last collection of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_used_bytes gauge
-jvm_memory_pool_collection_used_bytes{pool="Tenured Gen",} 2.8176296E7
+jvm_memory_pool_collection_used_bytes{pool="Tenured Gen",} 2.8136056E7
jvm_memory_pool_collection_used_bytes{pool="Eden Space",} 0.0
-jvm_memory_pool_collection_used_bytes{pool="Survivor Space",} 1949992.0
+jvm_memory_pool_collection_used_bytes{pool="Survivor Space",} 2758792.0
# HELP jvm_memory_pool_collection_committed_bytes Committed after last collection bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_committed_bytes gauge
-jvm_memory_pool_collection_committed_bytes{pool="Tenured Gen",} 1.76160768E8
-jvm_memory_pool_collection_committed_bytes{pool="Eden Space",} 7.0647808E7
-jvm_memory_pool_collection_committed_bytes{pool="Survivor Space",} 8781824.0
+jvm_memory_pool_collection_committed_bytes{pool="Tenured Gen",} 3.52321536E8
+jvm_memory_pool_collection_committed_bytes{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_collection_committed_bytes{pool="Survivor Space",} 1.7629184E7
# HELP jvm_memory_pool_collection_max_bytes Max bytes after last collection of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_max_bytes gauge
-jvm_memory_pool_collection_max_bytes{pool="Tenured Gen",} 2.803236864E9
-jvm_memory_pool_collection_max_bytes{pool="Eden Space",} 1.12132096E9
-jvm_memory_pool_collection_max_bytes{pool="Survivor Space",} 1.40115968E8
+jvm_memory_pool_collection_max_bytes{pool="Tenured Gen",} 5.621809152E9
+jvm_memory_pool_collection_max_bytes{pool="Eden Space",} 2.248671232E9
+jvm_memory_pool_collection_max_bytes{pool="Survivor Space",} 2.81083904E8
# HELP jvm_memory_pool_collection_init_bytes Initial after last collection bytes of a given JVM memory pool.
# TYPE jvm_memory_pool_collection_init_bytes gauge
-jvm_memory_pool_collection_init_bytes{pool="Tenured Gen",} 1.76160768E8
-jvm_memory_pool_collection_init_bytes{pool="Eden Space",} 7.0516736E7
-jvm_memory_pool_collection_init_bytes{pool="Survivor Space",} 8781824.0
-# HELP jvm_memory_pool_allocated_bytes_total Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously.
-# TYPE jvm_memory_pool_allocated_bytes_total counter
-jvm_memory_pool_allocated_bytes_total{pool="Eden Space",} 1.62790696E8
-jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'profiled nmethods'",} 5150080.0
-jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-profiled nmethods'",} 1428864.0
-jvm_memory_pool_allocated_bytes_total{pool="Compressed Class Space",} 4785752.0
-jvm_memory_pool_allocated_bytes_total{pool="Metaspace",} 3.9463568E7
-jvm_memory_pool_allocated_bytes_total{pool="Tenured Gen",} 2.8176296E7
-jvm_memory_pool_allocated_bytes_total{pool="Survivor Space",} 5422680.0
-jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-nmethods'",} 1271680.0
-# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds.
-# TYPE jvm_gc_collection_seconds summary
-jvm_gc_collection_seconds_count{gc="Copy",} 3.0
-jvm_gc_collection_seconds_sum{gc="Copy",} 0.076
-jvm_gc_collection_seconds_count{gc="MarkSweepCompact",} 2.0
-jvm_gc_collection_seconds_sum{gc="MarkSweepCompact",} 0.126
-# HELP jvm_threads_current Current thread count of a JVM
-# TYPE jvm_threads_current gauge
-jvm_threads_current 31.0
-# HELP jvm_threads_daemon Daemon thread count of a JVM
-# TYPE jvm_threads_daemon gauge
-jvm_threads_daemon 16.0
-# HELP jvm_threads_peak Peak thread count of a JVM
-# TYPE jvm_threads_peak gauge
-jvm_threads_peak 31.0
-# HELP jvm_threads_started_total Started thread count of a JVM
-# TYPE jvm_threads_started_total counter
-jvm_threads_started_total 32.0
-# HELP jvm_threads_deadlocked Cycles of JVM-threads that are in deadlock waiting to acquire object monitors or ownable synchronizers
-# TYPE jvm_threads_deadlocked gauge
-jvm_threads_deadlocked 0.0
-# HELP jvm_threads_deadlocked_monitor Cycles of JVM-threads that are in deadlock waiting to acquire object monitors
-# TYPE jvm_threads_deadlocked_monitor gauge
-jvm_threads_deadlocked_monitor 0.0
-# HELP jvm_threads_state Current count of threads by state
-# TYPE jvm_threads_state gauge
-jvm_threads_state{state="BLOCKED",} 0.0
-jvm_threads_state{state="WAITING",} 13.0
-jvm_threads_state{state="RUNNABLE",} 7.0
-jvm_threads_state{state="TIMED_WAITING",} 11.0
-jvm_threads_state{state="TERMINATED",} 0.0
-jvm_threads_state{state="NEW",} 0.0
-# HELP jvm_buffer_pool_used_bytes Used bytes of a given JVM buffer pool.
-# TYPE jvm_buffer_pool_used_bytes gauge
-jvm_buffer_pool_used_bytes{pool="mapped",} 0.0
-jvm_buffer_pool_used_bytes{pool="direct",} 187392.0
-# HELP jvm_buffer_pool_capacity_bytes Bytes capacity of a given JVM buffer pool.
-# TYPE jvm_buffer_pool_capacity_bytes gauge
-jvm_buffer_pool_capacity_bytes{pool="mapped",} 0.0
-jvm_buffer_pool_capacity_bytes{pool="direct",} 187392.0
-# HELP jvm_buffer_pool_used_buffers Used buffers of a given JVM buffer pool.
-# TYPE jvm_buffer_pool_used_buffers gauge
-jvm_buffer_pool_used_buffers{pool="mapped",} 0.0
-jvm_buffer_pool_used_buffers{pool="direct",} 8.0
+jvm_memory_pool_collection_init_bytes{pool="Tenured Gen",} 3.52321536E8
+jvm_memory_pool_collection_init_bytes{pool="Eden Space",} 1.41033472E8
+jvm_memory_pool_collection_init_bytes{pool="Survivor Space",} 1.7563648E7
# HELP jvm_classes_loaded The number of classes that are currently loaded in the JVM
# TYPE jvm_classes_loaded gauge
-jvm_classes_loaded 7287.0
+jvm_classes_loaded 7378.0
# HELP jvm_classes_loaded_total The total number of classes that have been loaded since the JVM has started execution
# TYPE jvm_classes_loaded_total counter
-jvm_classes_loaded_total 7287.0
+jvm_classes_loaded_total 7378.0
# HELP jvm_classes_unloaded_total The total number of classes that have been unloaded since the JVM has started execution
# TYPE jvm_classes_unloaded_total counter
jvm_classes_unloaded_total 0.0
-# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
-# TYPE process_cpu_seconds_total counter
-process_cpu_seconds_total 19.23
-# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
-# TYPE process_start_time_seconds gauge
-process_start_time_seconds 1.633111663176E9
-# HELP process_open_fds Number of open file descriptors.
-# TYPE process_open_fds gauge
-process_open_fds 350.0
-# HELP process_max_fds Maximum number of open file descriptors.
-# TYPE process_max_fds gauge
-process_max_fds 1048576.0
-# HELP process_virtual_memory_bytes Virtual memory size in bytes.
-# TYPE process_virtual_memory_bytes gauge
-process_virtual_memory_bytes 5.825941504E9
-# HELP process_resident_memory_bytes Resident memory size in bytes.
-# TYPE process_resident_memory_bytes gauge
-process_resident_memory_bytes 2.13909504E8
+# HELP jvm_info VM version info
+# TYPE jvm_info gauge
+jvm_info{runtime="OpenJDK Runtime Environment",vendor="Alpine",version="11.0.9+11-alpine-r1",} 1.0
# HELP jvm_memory_pool_allocated_bytes_created Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously.
# TYPE jvm_memory_pool_allocated_bytes_created gauge
-jvm_memory_pool_allocated_bytes_created{pool="Eden Space",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'profiled nmethods'",} 1.633111669942E9
-jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-profiled nmethods'",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Compressed Class Space",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Metaspace",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Tenured Gen",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="Survivor Space",} 1.633111669968E9
-jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-nmethods'",} 1.633111669968E9
+jvm_memory_pool_allocated_bytes_created{pool="Eden Space",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'profiled nmethods'",} 1.651077501657E9
+jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-profiled nmethods'",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Compressed Class Space",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Metaspace",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Tenured Gen",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="Survivor Space",} 1.651077501662E9
+jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-nmethods'",} 1.651077501662E9
diff --git a/docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.jpg b/docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.jpg
deleted file mode 100644
index 89447874..00000000
--- a/docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.png b/docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.png
new file mode 100644
index 00000000..c17d3a6c
--- /dev/null
+++ b/docs/development/devtools/apex-s3p-results/apex_perf_jmeter_results.png
Binary files differ
diff --git a/docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.jpg b/docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.jpg
deleted file mode 100644
index 1cdabb7e..00000000
--- a/docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.png b/docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.png
new file mode 100644
index 00000000..e092d77c
--- /dev/null
+++ b/docs/development/devtools/apex-s3p-results/apex_stability_jmeter_results.png
Binary files differ
diff --git a/docs/development/devtools/apex-s3p-results/apex_top_after_72h.jpg b/docs/development/devtools/apex-s3p-results/apex_top_after_72h.jpg
deleted file mode 100644
index e51b942a..00000000
--- a/docs/development/devtools/apex-s3p-results/apex_top_after_72h.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/apex-s3p-results/apex_top_after_72h.png b/docs/development/devtools/apex-s3p-results/apex_top_after_72h.png
new file mode 100644
index 00000000..dafc7002
--- /dev/null
+++ b/docs/development/devtools/apex-s3p-results/apex_top_after_72h.png
Binary files differ
diff --git a/docs/development/devtools/apex-s3p-results/apex_top_before_72h.jpg b/docs/development/devtools/apex-s3p-results/apex_top_before_72h.jpg
deleted file mode 100644
index cc2da54f..00000000
--- a/docs/development/devtools/apex-s3p-results/apex_top_before_72h.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/apex-s3p-results/apex_top_before_72h.png b/docs/development/devtools/apex-s3p-results/apex_top_before_72h.png
new file mode 100644
index 00000000..2e2e7574
--- /dev/null
+++ b/docs/development/devtools/apex-s3p-results/apex_top_before_72h.png
Binary files differ
diff --git a/docs/development/devtools/apex-s3p.rst b/docs/development/devtools/apex-s3p.rst
index a4759f5c..9575277c 100644
--- a/docs/development/devtools/apex-s3p.rst
+++ b/docs/development/devtools/apex-s3p.rst
@@ -12,16 +12,58 @@ Policy APEX PDP component
Both the Stability and the Performance tests were executed in a full ONAP OOM deployment in Nordix lab.
-
Setup Details
+++++++++++++
-- APEX-PDP along with all policy components deployed as part of a full ONAP OOM deployment.
-- Policy-models-simulator is deployed to use CDS and DMaaP simulators during policy execution.
+Deploying ONAP using OOM
+------------------------
+
+APEX-PDP along with all policy components are deployed as part of a full ONAP OOM deployment.
+At a minimum, the following ONAP components are needed: policy, mariadb-galera, aai, cassandra, aaf, and dmaap.
+
+Before deploying, the values.yaml files are changed to use NodePort instead of ClusterIP for policy-api,
+policy-pap, and policy-apex-pdp, so that they are accessible from jmeter::
+
+ policy-apex-pdp NodePort 10.43.70.176 <none> 6969:30237/TCP
+ policy-api NodePort 10.43.2.99 <none> 6969:30240/TCP
+ policy-pap NodePort 10.43.203.178 <none> 6969:30442/TCP
+
+The node ports (30237, 30240 and 30442 above) are used in JMeter. The HOSTNAME for JMeter is set to the IP returned by running kubectl cluster-info.
+
+Set up policy-models-simulator
+------------------------------
+
+Policy-models-simulator is deployed to use CDS and DMaaP simulators during policy execution.
Simulator configurations used are available in apex-pdp repository:
testsuites/apex-pdp-stability/src/main/resources/simulatorConfig/
-- Two APEX policies are executed in the APEX-PDP engine, and are triggered by multiple threads during the tests.
-- Both tests were run via jMeter.
+
+It is run as a docker image from a node accessible to the kubernetes cluster::
+
+ docker run -d --rm --publish 6680:6680 --publish 31054:3905 \
+ --volume "apex-pdp/testsuites/apex-pdp-stability/src/main/resources/simulatorConfig:/opt/app/policy/simulators/etc/mounted" \
+ nexus3.onap.org:10001/onap/policy-models-simulator:2.6-SNAPSHOT-latest
+
+The published ports 6680 and 31054 are used in JMeter for CDS and DMaaP simulators.
+
+Creation of VNF & PNF in AAI
+----------------------------
+
+In order for APEX-PDP engine to fetch the resource details from AAI during runtime execution, we need to create dummy
+VNF & PNF entities in AAI. In a real control loop flow, the entities in AAI will be either created during orchestration
+phase or provisioned in AAI separately.
+
+Download & execute the steps in postman collection for creating the entities along with it’s dependencies.
+The steps needs to be performed sequentially one after another. And no input is required from user.
+
+:download:`Create VNF & PNF in AAI for Apex S3P <postman/create-vnf-pnf-aai-for-apex-s3p.postman_collection.json>`
+
+Make sure to skip the delete VNF & PNF steps.
+
+JMeter Tests
+------------
+
+Two APEX policies are executed in the APEX-PDP engine, and are triggered by multiple threads during the tests.
+Both tests were run via jMeter.
Stability test script is available in apex-pdp repository:
testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
@@ -85,6 +127,8 @@ Only one thread is in action and this step is done only once after the Main phas
- **Delete Policy onap.policies.apex.Simplecontrolloop** - delete the first APEX policy using policy/api component.
- **Delete Policy onap.policies.apex.Example** - delete the second APEX policy also using policy/api component.
+Test Configuration
+------------------
The following steps can be used to configure the parameters of test plan.
@@ -97,8 +141,11 @@ The following steps can be used to configure the parameters of test plan.
=================== ===============================================================================
HOSTNAME IP Address or host name to access the components
PAP_PORT Port number of PAP for making REST API calls such as deploy/undeploy of policy
- API_PORT Port number of API for making REST API calls such as create/ delete of policy
+ API_PORT Port number of API for making REST API calls such as create/delete of policy
APEX_PORT Port number of APEX for making REST API calls such as healthcheck/metrics
+ SIM_HOST IP Address or hostname running policy-models-simulator
+ DMAAP_PORT Port number of DMaaP simulator for making REST API calls such as reading notification events
+ CDS_PORT Port number of CDS simulator
wait Wait time if required after a request (in milliseconds)
threads Number of threads to run test cases in parallel
threadsTimeOutInMs Synchronization timer for threads running in parallel (in milliseconds)
@@ -111,7 +158,7 @@ The test was run in the background via "nohup", to prevent it from being interru
.. code-block:: bash
- nohup ./apache-jmeter-5.4.1/bin/jmeter.sh -n -t apexPdpStabilityTestPlan.jmx -l stabilityTestResults.jtl
+ nohup ./apache-jmeter-5.4.3/bin/jmeter.sh -n -t apexPdpStabilityTestPlan.jmx -l stabilityTestResults.jtl
Test Results
------------
@@ -126,7 +173,7 @@ Stability test plan was triggered for 72 hours. There were no failures during th
======================= ================= ================== ==================================
**Total # of requests** **Success %** **Error %** **Average time taken per request**
======================= ================= ================== ==================================
-428661 100 % 0.00 % 162 ms
+430331 100 % 0.00 % 152 ms
======================= ================= ================== ==================================
.. Note::
@@ -135,7 +182,7 @@ Stability test plan was triggered for 72 hours. There were no failures during th
**JMeter Screenshot**
-.. image:: apex-s3p-results/apex_stability_jmeter_results.jpg
+.. image:: apex-s3p-results/apex_stability_jmeter_results.png
**Memory and CPU usage**
@@ -145,13 +192,13 @@ Prometheus metrics is also collected before and after the test execution.
Memory and CPU usage before test execution:
-.. image:: apex-s3p-results/apex_top_before_72h.jpg
+.. image:: apex-s3p-results/apex_top_before_72h.png
:download:`Prometheus metrics before 72h test <apex-s3p-results/apex_metrics_before_72h.txt>`
Memory and CPU usage after test execution:
-.. image:: apex-s3p-results/apex_top_after_72h.jpg
+.. image:: apex-s3p-results/apex_top_after_72h.png
:download:`Prometheus metrics after 72h test <apex-s3p-results/apex_metrics_after_72h.txt>`
@@ -182,7 +229,7 @@ Run Test
.. code-block:: bash
- nohup ./apache-jmeter-5.4.1/bin/jmeter.sh -n -t apexPdpPerformanceTestPlan.jmx -l perftestresults.jtl
+ nohup ./apache-jmeter-5.4.3/bin/jmeter.sh -n -t apexPdpPerformanceTestPlan.jmx -l perftestresults.jtl
Test Results
@@ -195,12 +242,12 @@ Test results are shown as below.
======================= ================= ================== ==================================
**Total # of requests** **Success %** **Error %** **Average time taken per request**
======================= ================= ================== ==================================
-46946 100 % 0.00 % 198 ms
+47586 100 % 0.00 % 163 ms
======================= ================= ================== ==================================
**JMeter Screenshot**
-.. image:: apex-s3p-results/apex_perf_jmeter_results.jpg
+.. image:: apex-s3p-results/apex_perf_jmeter_results.png
Summary
+++++++
diff --git a/docs/development/devtools/clamp-dcae.rst b/docs/development/devtools/clamp-dcae.rst
index aeba21fd..0d48c2bc 100644
--- a/docs/development/devtools/clamp-dcae.rst
+++ b/docs/development/devtools/clamp-dcae.rst
@@ -27,7 +27,7 @@ The worker VM hosting the policy components has the following spec:
The ONAP components used during the pairwise tests are:
-- CLAMP control loop runtime, policy participant, kubernetes participant.
+- CLAMP acm runtime, policy participant, kubernetes participant.
- DCAE for running dcaegen2-service via kubernetes participant.
- ChartMuseum service from platform, initialised with DCAE helm charts.
- DMaaP for the communication between Automation Composition runtime and participants.
@@ -57,11 +57,13 @@ Creation of the Automation Composition:
---------------------------------------
An Automation Composition is created by commissioning a Tosca template with Automation Composition definitions and instantiating the Automation Composition with the state "UNINITIALISED".
-- Upload a TOSCA template from the POLICY GUI. The definitions include a kubernetes participant and control loop elements that deploys and configures a microservice in the kubernetes cluster.
+- Upload a TOSCA template from the POLICY GUI. The definitions include a kubernetes participant and automation composition elements that deploys and configures a microservice in the kubernetes cluster.
Automation Composition element for kubernetes participant includes a helm chart information of DCAE microservice and the element for Http Participant includes the configuration entity for the microservice.
:download:`Sample Tosca template <tosca/pairwise-testing.yml>`
- .. image:: images/cl-commission.png
+ .. image:: images/ac-commission.png
+
+ .. image:: images/ac-upload.png
Verification: The template is commissioned successfully without errors.
@@ -73,16 +75,16 @@ An Automation Composition is created by commissioning a Tosca template with Auto
.. image:: images/update-instance.png
- Verification: The control loop is created with default state "UNINITIALISED" without errors.
+ Verification: The Automation composition is created with default state "UNINITIALISED" without errors.
- .. image:: images/cl-instantiation.png
+ .. image:: images/ac-instantiation.png
Deployment and Configuration of DCAE microservice (PMSH):
---------------------------------------------------------
The Automation Composition state is changed from "UNINITIALISED" to "PASSIVE" from the Policy Gui. The kubernetes participant deploys the PMSH helm chart from the DCAE chartMuseum server.
-.. image:: images/cl-passive.png
+.. image:: images/ac-passive.png
Verification:
@@ -94,14 +96,14 @@ Verification:
- The overall state of the Automation Composition is changed to "PASSIVE" in the Policy Gui.
-.. image:: images/cl-create.png
+.. image:: images/ac-create.png
Undeployment of DCAE microservice (PMSH):
-----------------------------------------
The Automation Composition state is changed from "PASSIVE" to "UNINITIALISED" from the Policy Gui.
-.. image:: images/cl-uninitialise.png
+.. image:: images/ac-uninitialise.png
Verification:
@@ -109,7 +111,7 @@ Verification:
- The overall state of the Automation Composition is changed to "UNINITIALISED" in the Policy Gui.
-.. image:: images/cl-uninitialised-state.png
+.. image:: images/ac-uninitialised-state.png
diff --git a/docs/development/devtools/clamp-policy.rst b/docs/development/devtools/clamp-policy.rst
index 20089b4e..0a25ce81 100644
--- a/docs/development/devtools/clamp-policy.rst
+++ b/docs/development/devtools/clamp-policy.rst
@@ -49,7 +49,7 @@ An Automation Composition is created by commissioning a Tosca template with Auto
- Upload a TOSCA template from the POLICY GUI. The definitions include a policy participant and an Automation Composition element that creates and deploys required policies. :download:`Sample Tosca template <tosca/pairwise-testing.yml>`
- .. image:: images/cl-commission.png
+ .. image:: images/ac-commission.png
Verification: The template is commissioned successfully without errors.
@@ -63,14 +63,14 @@ An Automation Composition is created by commissioning a Tosca template with Auto
Verification: The Automation Composition is created with default state "UNINITIALISED" without errors.
- .. image:: images/cl-instantiation.png
+ .. image:: images/ac-instantiation.png
Creation and deployment of policies:
------------------------------------
The Automation Composition state is changed from "UNINITIALISED" to "PASSIVE" from the Policy Gui. Verify the POLICY API endpoint for the creation of policy types that are defined in the TOSCA template. Verify the PAP endpoint for the deployment of policies.
-.. image:: images/cl-passive.png
+.. image:: images/ac-passive.png
Verification:
@@ -82,7 +82,7 @@ Verification:
- The overall state of the Automation Composition is changed to "PASSIVE" in the Policy Gui.
-.. image:: images/cl-create.png
+.. image:: images/ac-create.png
Undeployment and deletion of Policies:
--------------------------------------
@@ -98,5 +98,5 @@ Verification:
- The overall state of the Automation Composition is changed to "PASSIVE" in the Policy Gui.
-.. image:: images/cl-create.png
+.. image:: images/ac-create.png
diff --git a/docs/development/devtools/clamp-sdc.rst b/docs/development/devtools/clamp-sdc.rst
new file mode 100644
index 00000000..b125d216
--- /dev/null
+++ b/docs/development/devtools/clamp-sdc.rst
@@ -0,0 +1,117 @@
+.. This work is licensed under a
+.. Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+.. _clamp-pairwise-testing-label:
+
+.. toctree::
+ :maxdepth: 2
+
+CLAMP <-> SDC
+~~~~~~~~~~~~~~
+
+The pairwise testing is executed against a default ONAP installation in the OOM.
+It briefly states the procedure to design an Automation Composition starting from service creation,
+adding the required ONAP component artifacts, policy and properties in the composition phase of SDC
+and finally distributing it to the CLAMP for Commissioning.
+SDC provides an interface for distributing the modeled services to the run time components.
+
+The instructions below will enable to design an Automation Composition. There are different phases to the design:
+
+Step 1: Design an automation composition template and associate it to a Service, the template represents the theoretical flow of the ACM.
+
+Step 2: Generate a deployment artifact that can be ingested by the Policy Framework
+
+Step 3: Distribute the automation composition to CLAMP, the csar is distributed to CLAMP over Dmaap
+
+Step 4: Policy Distribution will internally call Automation Composition Commissioning rest endpoint
+
+Step 5: Service Template is commissioned in CLAMP, and can be followed by Instantiation and state changes.
+
+General Setup
+*************
+
+The kubernetes installation allocated all policy components across multiple worker node VMs.
+The worker VM hosting the policy components has the following spec:
+
+- 16GB RAM
+- 8 VCPU
+- 160GB Ephemeral Disk
+
+The ONAP components used during the pairwise tests are:
+
+- CLAMP automation composition runtime, policy participant, kubernetes participant.
+- SDC for running SDC components.
+- DMaaP for the communication between Automation Composition runtime and participants.
+- Policy Framework components for instantiation and commissioning of automation compositions.
+
+Testing procedure
+*****************
+
+The test set focused on the following use cases:
+
+- Design of participants and automation composition elements
+- Design of Automation Composition template including the above designed participants and automation composition element templates.
+- Distribution of designed template along with other artifacts as a csar to policy-distribution
+- Commissioning of template in automation composition runtime.
+
+Configuration changes
+*********************
+
+Following are certain configuration changes required/cross-checked
+1. policy-distribution configuration should include toscaAutomationCompositionDecoderConfiguration
+ File: kubernetes/policy/components/policy-distribution/resources/config/config.json
+
+ - Automation composition decoders and forwards should be present. Reference: `Sample Configuration <json/pd_config.json>`
+
+Design of participants and automation composition elements:
+----------------------------------------------------------
+Different participants and automation composition elements are created in SDC dashboard with the models available for automation composition.
+
+SDC provides a graphical interface for onboarding/designing resources (such as VNFs, PNFs, CNFs) and designing services composed of such resources
+
+- Create as many participants as needed to present in the automation composition
+- Select VF, provide name of the participant. Choose Model as AUTOMATION COMPOSTIION and Category as Participant.
+
+ .. image:: images/sdc_create_participant.png
+
+- Create as many automation composition elements as needed to present in the automation composition
+- Select VF, provide name of the automation composition element. Choose Model as AUTOMATION COMPOSTIION and Category as AutomationComposition Element.
+
+ .. image:: images/sdc_create_element.png
+
+- Add properties as required for an automation composition element
+- Add any properties where input is needed in Inputs tab.
+
+ .. image:: images/sdc_element_props.png
+
+- Create an automation composition
+- Select Service, provide name of the automation composition. Choose Model as AUTOMATION COMPOSTIION and Category as AutomationComposition.
+
+ .. image:: images/sdc_create_acm.png
+
+- SDC Composition tab
+- Drag and Drop the previously created participants and automation composition elements into the Compistion pane.
+- Drag and Drop the policies that needs to be added to the service template.
+
+ .. image:: images/sdc_compose_acm.png
+
+- For a pre validation, Tosca artifacts can be downloaded and verified
+
+ .. image:: images/sdc_tosca.png
+
+- From SDC dashboard, perform a distribution of the automation composition
+
+ .. image:: images/sdc_distribute.png
+
+- An Automation Composition is created by commissioning a Tosca template with Automation Composition definitions.
+This commissioned tosca service template can be further used from Policy-GUI for instantiating the Automation Composition with the state "UNINITIALISED".
+
+- Instantiate the commissioned Automation Composition definitions from the Policy Gui under 'Instantiation Management'.
+
+ .. image:: images/create-instance.png
+
+- Verification: The automation composition is created with default state "UNINITIALISED" without errors.
+
+ .. image:: images/cl-instantiation.png
+
diff --git a/docs/development/devtools/devtools.rst b/docs/development/devtools/devtools.rst
index 5c84fd02..37fba6cc 100644
--- a/docs/development/devtools/devtools.rst
+++ b/docs/development/devtools/devtools.rst
@@ -334,6 +334,8 @@ the Policy Framework works in a full ONAP deployment.
policy-cds.rst
+ clamp-sdc.rst
+
..
api-pairwise.rst
diff --git a/docs/development/devtools/images/ac-commission.png b/docs/development/devtools/images/ac-commission.png
new file mode 100644
index 00000000..10d71181
--- /dev/null
+++ b/docs/development/devtools/images/ac-commission.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-create.png b/docs/development/devtools/images/ac-create.png
index df97a170..df97a170 100644
--- a/docs/development/devtools/images/cl-create.png
+++ b/docs/development/devtools/images/ac-create.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-instantiation.png b/docs/development/devtools/images/ac-instantiation.png
index b1101ffb..b1101ffb 100644
--- a/docs/development/devtools/images/cl-instantiation.png
+++ b/docs/development/devtools/images/ac-instantiation.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-passive.png b/docs/development/devtools/images/ac-passive.png
index def811a5..def811a5 100644
--- a/docs/development/devtools/images/cl-passive.png
+++ b/docs/development/devtools/images/ac-passive.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-running-state.png b/docs/development/devtools/images/ac-running-state.png
index ab7b73c5..ab7b73c5 100644
--- a/docs/development/devtools/images/cl-running-state.png
+++ b/docs/development/devtools/images/ac-running-state.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-running.png b/docs/development/devtools/images/ac-running.png
index e9730e0d..e9730e0d 100644
--- a/docs/development/devtools/images/cl-running.png
+++ b/docs/development/devtools/images/ac-running.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-uninitialise.png b/docs/development/devtools/images/ac-uninitialise.png
index d10b214c..d10b214c 100644
--- a/docs/development/devtools/images/cl-uninitialise.png
+++ b/docs/development/devtools/images/ac-uninitialise.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-uninitialised-state.png b/docs/development/devtools/images/ac-uninitialised-state.png
index f8a77da8..f8a77da8 100644
--- a/docs/development/devtools/images/cl-uninitialised-state.png
+++ b/docs/development/devtools/images/ac-uninitialised-state.png
Binary files differ
diff --git a/docs/development/devtools/images/ac-upload.png b/docs/development/devtools/images/ac-upload.png
new file mode 100644
index 00000000..efe51341
--- /dev/null
+++ b/docs/development/devtools/images/ac-upload.png
Binary files differ
diff --git a/docs/development/devtools/images/cl-commission.png b/docs/development/devtools/images/cl-commission.png
deleted file mode 100644
index ee1bab17..00000000
--- a/docs/development/devtools/images/cl-commission.png
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/images/sdc_compose_acm.png b/docs/development/devtools/images/sdc_compose_acm.png
new file mode 100644
index 00000000..3bdc9305
--- /dev/null
+++ b/docs/development/devtools/images/sdc_compose_acm.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_create_acm.png b/docs/development/devtools/images/sdc_create_acm.png
new file mode 100644
index 00000000..f60492bf
--- /dev/null
+++ b/docs/development/devtools/images/sdc_create_acm.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_create_element.png b/docs/development/devtools/images/sdc_create_element.png
new file mode 100644
index 00000000..42d28b3e
--- /dev/null
+++ b/docs/development/devtools/images/sdc_create_element.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_create_participant.png b/docs/development/devtools/images/sdc_create_participant.png
new file mode 100644
index 00000000..4178127f
--- /dev/null
+++ b/docs/development/devtools/images/sdc_create_participant.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_distribute.png b/docs/development/devtools/images/sdc_distribute.png
new file mode 100644
index 00000000..cffffaed
--- /dev/null
+++ b/docs/development/devtools/images/sdc_distribute.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_element_props.png b/docs/development/devtools/images/sdc_element_props.png
new file mode 100644
index 00000000..f2227465
--- /dev/null
+++ b/docs/development/devtools/images/sdc_element_props.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_tosca.png b/docs/development/devtools/images/sdc_tosca.png
new file mode 100644
index 00000000..eb881581
--- /dev/null
+++ b/docs/development/devtools/images/sdc_tosca.png
Binary files differ
diff --git a/docs/development/devtools/json/pd_config.json b/docs/development/devtools/json/pd_config.json
new file mode 100644
index 00000000..fd35cb35
--- /dev/null
+++ b/docs/development/devtools/json/pd_config.json
@@ -0,0 +1,145 @@
+{{/*
+# ============LICENSE_START=======================================================
+# Copyright (C) 2018 Ericsson. All rights reserved.
+# Modifications Copyright (C) 2020 AT&T Intellectual Property.
+# Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+*/}}
+{
+ "name":"SDCDistributionGroup",
+ "restServerParameters":{
+ "host":"0.0.0.0",
+ "port":6969,
+ "userName":"${RESTSERVER_USER}",
+ "password":"${RESTSERVER_PASSWORD}",
+ "https":true,
+ "prometheus": true
+ },
+ "receptionHandlerParameters":{
+ "SDCReceptionHandler":{
+ "receptionHandlerType":"SDC",
+ "receptionHandlerClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandler",
+ "receptionHandlerConfigurationName":"sdcConfiguration",
+ "pluginHandlerParameters":{
+ "policyDecoders":{
+ "ToscaPolicyDecoder":{
+ "decoderType":"ToscaPolicyDecoder",
+ "decoderClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicy",
+ "decoderConfigurationName": "toscaPolicyDecoderConfiguration"
+ },
+ "ToscaAutomationCompositionDecoder": {
+ "decoderType": "ToscaAutomationCompositionDecoder",
+ "decoderClassName": "org.onap.policy.distribution.reception.decoding.policy.file.AutomationCompositionDecoderFileInCsar",
+ "decoderConfigurationName": "toscaAutomationCompositionDecoderConfiguration"
+ }
+ },
+ "policyForwarders":{
+ "LifeCycleApiForwarder":{
+ "forwarderType":"LifeCycleAPI",
+ "forwarderClassName":"org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiPolicyForwarder",
+ "forwarderConfigurationName": "lifecycleApiConfiguration"
+ },
+ "LifeCycleApiAutomationCompositionForwarder": {
+ "forwarderType": "LifeCycleAutomationCompositionAPI",
+ "forwarderClassName": "org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiAutomationCompositionForwarder",
+ "forwarderConfigurationName": "lifecycleApiAutomationCompositionConfiguration"
+ }
+ }
+ }
+ }
+ },
+ "receptionHandlerConfigurationParameters":{
+ "sdcConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandlerConfigurationParameterGroup",
+ "parameters":{
+ "asdcAddress": "sdc-be:8443",
+ "messageBusAddress": [
+ "message-router.{{ include "common.namespace" . }}"
+ ],
+ "user": "${SDCBE_USER}",
+ "password": "${SDCBE_PASSWORD}",
+ "pollingInterval":20,
+ "pollingTimeout":30,
+ "consumerId": "policy-id",
+ "artifactTypes": [
+ "TOSCA_CSAR",
+ "HEAT"
+ ],
+ "consumerGroup": "policy-group",
+ "environmentName": "AUTO",
+ "keyStorePath": "null",
+ "keyStorePassword": "null",
+ "activeserverTlsAuth": false,
+ "isFilterinEmptyResources": true,
+ "isUseHttpsWithDmaap": true
+ }
+ }
+ },
+ "policyDecoderConfigurationParameters":{
+ "toscaPolicyDecoderConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicyParameterGroup",
+ "parameters":{
+ "policyFileName": "tosca_policy",
+ "policyTypeFileName": "tosca_policy_type"
+ }
+ },
+ "toscaAutomationCompositionDecoderConfiguration": {
+ "parameterClassName": "org.onap.policy.distribution.reception.decoding.policy.file.AutomationCompositionDecoderFileInCsarParameterGroup",
+ "parameters": {
+ "automationCompositionType": "acm"
+ }
+ }
+ },
+ "policyForwarderConfigurationParameters":{
+ "lifecycleApiConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiForwarderParameters",
+ "parameters":{
+ "apiParameters": {
+ "clientName": "policy-api",
+ "hostname": "policy-api",
+ "port": 6969,
+ "userName": "${API_USER}",
+ "password": "${API_PASSWORD}",
+ "useHttps": true
+ },
+ "papParameters": {
+ "clientName": "policy-pap",
+ "hostname": "policy-pap",
+ "port": 6969,
+ "userName": "${PAP_USER}",
+ "password": "${PAP_PASSWORD}",
+ "useHttps": true
+ },
+ "deployPolicies": true
+ }
+ },
+ ,
+ "lifecycleApiAutomationCompositionConfiguration": {
+ "parameterClassName": "org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiAutomationCompositionForwarderParameters",
+ "parameters": {
+ "automationCompositionRuntimeParameters": {
+ "clientName": "policy-clamp-runtime-acm",
+ "hostname": "policy-clamp-runtime-acm",
+ "port": 6969,
+ "useHttps": true,
+ "userName": "runtimeUser",
+ "password": "zb!XztG34"
+ }
+ }
+ }
+ }
+}
diff --git a/docs/development/devtools/postman/create-vnf-pnf-aai-for-apex-s3p.postman_collection.json b/docs/development/devtools/postman/create-vnf-pnf-aai-for-apex-s3p.postman_collection.json
new file mode 100644
index 00000000..b85e79b2
--- /dev/null
+++ b/docs/development/devtools/postman/create-vnf-pnf-aai-for-apex-s3p.postman_collection.json
@@ -0,0 +1,788 @@
+{
+ "info": {
+ "_postman_id": "b69368a6-2e65-4eeb-85f3-13d6b0b083ab",
+ "name": "Create VNF & PNF in AAI for Apex S3P",
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ },
+ "item": [
+ {
+ "name": "Add Customer",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\r\n \"global-customer-id\": \"DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf\",\r\n \"subscriber-name\": \"DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf\",\r\n \"subscriber-type\": \"INFRA\"\r\n}"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v11/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v11",
+ "business",
+ "customers",
+ "customer",
+ "DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add CloudRegion",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Real-Time",
+ "value": "true",
+ "type": "text"
+ },
+ {
+ "key": "X-TransactionId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ },
+ {
+ "key": "X-FromAppId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"cloud-owner\": \"CloudOwner\",\n \"cloud-region-id\": \"RegionOne\",\n \"cloud-type\": \"openstack\",\n \"owner-defined-type\": \"owner-defined-type\",\n \"cloud-region-version\": \"titanium_cloud\",\n \"identity-url\": \"http://10.195.194.213:5000/v2.0\",\n \"cloud-zone\": \"CloudZone\",\n \"sriov-automation\": true,\n \"tenants\": {\n \"tenant\": [\n {\n \"tenant-id\": \"7320ec4a5b9d4589ba7c4412ccfd290f\",\n \"tenant-name\": \"nso-vnf\",\n \"vservers\": {\n \"vserver\": [\n {\n \"vserver-id\": \"c82153dc-8d84-4e69-9673-5e0a60030779\",\n \"vserver-name\": \"viptela_scripts\",\n \"vserver-name2\": \"viptela_scripts\",\n \"prov-status\": \"Running\",\n \"vserver-selflink\": \"http://10.195.194.213:8774/v2.1/7320ec4a5b9d4589ba7c4412ccfd290f/servers/c82153dc-8d84-4e69-9673-5e0a60030779\",\n \"in-maint\": false,\n \"is-closed-loop-disabled\": false\n }\n ]\n }\n }\n ]\n }\n}"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "cloud-infrastructure",
+ "cloud-regions",
+ "cloud-region",
+ "CloudOwner",
+ "RegionOne"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add Service Subscription",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\r\n \"service-type\": \"vFWDT\",\r\n \"relationship-list\": {\r\n \"relationship\": [\r\n {\r\n \"related-to\": \"tenant\",\r\n \"related-link\": \"/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/7320ec4a5b9d4589ba7c4412ccfd290f\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-owner\",\r\n \"relationship-value\": \"CloudOwner\"\r\n },\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-region-id\",\r\n \"relationship-value\": \"RegionOne\"\r\n },\r\n {\r\n \"relationship-key\": \"tenant.tenant-id\",\r\n \"relationship-value\": \"7320ec4a5b9d4589ba7c4412ccfd290f\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"tenant.tenant-name\",\r\n \"property-value\": \"nso-vnf\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v11/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf/service-subscriptions/service-subscription/vFWDT",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v11",
+ "business",
+ "customers",
+ "customer",
+ "DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf",
+ "service-subscriptions",
+ "service-subscription",
+ "vFWDT"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add Model",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\r\n \"model-invariant-id\": \"vTEST_VITELA\",\r\n \"model-type\": \"model_type\",\r\n \"model-vers\": {\r\n \"model-ver\": [\r\n {\r\n \"model-version-id\": \"vTEST\",\r\n \"model-name\": \"vTEST\",\r\n \"model-version\": \"v1.4.0\"\r\n }\r\n ]\r\n }\r\n}\r\n"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/service-design-and-creation/models/model/vTEST_VITELA",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "service-design-and-creation",
+ "models",
+ "model",
+ "vTEST_VITELA"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add Service Instance",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\r\n \"service-instance-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"service-instance-name\": \"Service_Ete_Namea337dd5b-4620-4ea6-bc3f-6edf1124d659\",\r\n \"environment-context\": \"General_Revenue-Bearing\",\r\n \"workload-context\": \"Production\",\r\n \"model-invariant-id\": \"vTEST_VITELA\",\r\n \"model-version-id\": \"vTEST\",\r\n \"selflink\": \"restconf/config/GENERIC-RESOURCE-API:services/service/55322ada-145a-492e-b196-0d171539a4b2/service-data/service-topology/\",\r\n \"orchestration-status\": \"Active\"\r\n}"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v11/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf/service-subscriptions/service-subscription/vFWDT/service-instances/service-instance/55322ada-145a-492e-b196-0d171539a4b2",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v11",
+ "business",
+ "customers",
+ "customer",
+ "DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf",
+ "service-subscriptions",
+ "service-subscription",
+ "vFWDT",
+ "service-instances",
+ "service-instance",
+ "55322ada-145a-492e-b196-0d171539a4b2"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add dummy-vnf",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Real-Time",
+ "value": "true",
+ "type": "text"
+ },
+ {
+ "key": "X-TransactionId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ },
+ {
+ "key": "X-FromAppId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\r\n \"vnf-id\": \"de305d54-75b4-431b-adb2-eb6b9e5460141\",\r\n \"vnf-name\": \"vfw-cnf-cds-test-1-vnf\",\r\n \"vnf-type\": \"vfw_cnf_cds/null\",\r\n \"service-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"prov-status\": \"ACTIVE\",\r\n \"orchestration-status\": \"Assigned\",\r\n \"in-maint\": false,\r\n \"is-closed-loop-disabled\": false,\r\n \"model-invariant-id\": \"vTEST_VITELA\",\r\n \"model-version-id\": \"vTEST\",\r\n \"model-customization-id\": \"37b008b9-b367-4359-93fd-74d3ce0ee1a0\",\r\n \"relationship-list\": {\r\n \"relationship\": [\r\n {\r\n \"related-to\": \"service-instance\",\r\n \"relationship-label\": \"org.onap.relationships.inventory.ComposedOf\",\r\n \"related-link\": \"/aai/v14/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf/service-subscriptions/service-subscription/vFWDT/service-instances/service-instance/55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"customer.global-customer-id\",\r\n \"relationship-value\": \"DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf\"\r\n },\r\n {\r\n \"relationship-key\": \"service-subscription.service-type\",\r\n \"relationship-value\": \"vFWDT\"\r\n },\r\n {\r\n \"relationship-key\": \"service-instance.service-instance-id\",\r\n \"relationship-value\": \"55322ada-145a-492e-b196-0d171539a4b2\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"service-instance.service-instance-name\",\r\n \"property-value\": \"Service_Ete_Namea337dd5b-4620-4ea6-bc3f-6edf1124d659\"\r\n }\r\n ]\r\n },\r\n {\r\n \"related-to\": \"tenant\",\r\n \"relationship-label\": \"org.onap.relationships.inventory.BelongsTo\",\r\n \"related-link\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/7320ec4a5b9d4589ba7c4412ccfd290f\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-owner\",\r\n \"relationship-value\": \"CloudOwner\"\r\n },\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-region-id\",\r\n \"relationship-value\": \"RegionOne\"\r\n },\r\n {\r\n \"relationship-key\": \"tenant.tenant-id\",\r\n \"relationship-value\": \"7320ec4a5b9d4589ba7c4412ccfd290f\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"tenant.tenant-name\",\r\n \"property-value\": \"nso-vnf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"related-to\": \"vserver\",\r\n \"relationship-label\": \"tosca.relationships.HostedOn\",\r\n \"related-link\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/7320ec4a5b9d4589ba7c4412ccfd290f/vservers/vserver/c82153dc-8d84-4e69-9673-5e0a60030779\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-owner\",\r\n \"relationship-value\": \"CloudOwner\"\r\n },\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-region-id\",\r\n \"relationship-value\": \"RegionOne\"\r\n },\r\n {\r\n \"relationship-key\": \"tenant.tenant-id\",\r\n \"relationship-value\": \"7320ec4a5b9d4589ba7c4412ccfd290f\"\r\n },\r\n {\r\n \"relationship-key\": \"vserver.vserver-id\",\r\n \"relationship-value\": \"c82153dc-8d84-4e69-9673-5e0a60030779\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"vserver.vserver-name\",\r\n \"property-value\": \"viptela_scripts\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/network/generic-vnfs/generic-vnf/de305d54-75b4-431b-adb2-eb6b9e5460141",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "network",
+ "generic-vnfs",
+ "generic-vnf",
+ "de305d54-75b4-431b-adb2-eb6b9e5460141"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Verify dummy-vnf",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Real-Time",
+ "value": "true",
+ "type": "text"
+ },
+ {
+ "key": "X-TransactionId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ },
+ {
+ "key": "X-FromAppId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/network/generic-vnfs/generic-vnf/de305d54-75b4-431b-adb2-eb6b9e5460141",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "network",
+ "generic-vnfs",
+ "generic-vnf",
+ "de305d54-75b4-431b-adb2-eb6b9e5460141"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add simple-cl-pnf",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Real-Time",
+ "value": "true",
+ "type": "text"
+ },
+ {
+ "key": "X-TransactionId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ },
+ {
+ "key": "X-FromAppId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"pnf-name\": \"PNF101\",\n \"pnf-name2\": \"the-hostname\",\n \"pnf-id\": \"927b2580-36d9-4f13-8421-3c9d43b7a57e\",\n \"equip-type\": \"example-equip-type-val-20348\",\n \"equip-vendor\": \"example-equip-vendor-val-52182\",\n \"equip-model\": \"example-equip-model-val-8370\",\n \"management-option\": \"example-management-option-val-72881\",\n \"ipaddress-v4-oam\": \"10.195.200.23\",\n \"in-maint\": false,\n \"ipaddress-v6-oam\": \"\"\n }"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v15/network/pnfs/pnf/PNF101",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v15",
+ "network",
+ "pnfs",
+ "pnf",
+ "PNF101"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Verify simple-cl-pnf",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/PNF101",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "network",
+ "pnfs",
+ "pnf",
+ "PNF101"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add simple-cl-pnf-failure",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Real-Time",
+ "value": "true",
+ "type": "text"
+ },
+ {
+ "key": "X-TransactionId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ },
+ {
+ "key": "X-FromAppId",
+ "value": "AAI-Temp-Tool",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"pnf-name\": \"simple-cl-pnf-failure\",\n \"pnf-name2\": \"the-hostname\",\n \"pnf-id\": \"927b2580-36d9-4f13-8421-3c9d43b7a77e\",\n \"equip-type\": \"example-equip-type-val-20348\",\n \"equip-vendor\": \"example-equip-vendor-val-52182\",\n \"equip-model\": \"example-equip-model-val-8370\",\n \"management-option\": \"example-management-option-val-72881\",\n \"ipaddress-v4-oam\": \"10.195.200.23\",\n \"in-maint\": false,\n \"ipaddress-v6-oam\": \"\"\n }"
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v15/network/pnfs/pnf/simple-cl-pnf-failure",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v15",
+ "network",
+ "pnfs",
+ "pnf",
+ "simple-cl-pnf-failure"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Verify simple-cl-pnf-failure",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/simple-cl-pnf-failure",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "network",
+ "pnfs",
+ "pnf",
+ "simple-cl-pnf-failure"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete dummy-vnf",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/network/generic-vnfs/generic-vnf/57b008b9-b367-4359-93fd-74d3ce0ee1a0?resource-version=1633120087974",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "network",
+ "generic-vnfs",
+ "generic-vnf",
+ "57b008b9-b367-4359-93fd-74d3ce0ee1a0"
+ ],
+ "query": [
+ {
+ "key": "resource-version",
+ "value": "1633120087974"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete simple-cl-pnf",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/simple-cl-pnf?resource-version=1621307213843",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "network",
+ "pnfs",
+ "pnf",
+ "simple-cl-pnf"
+ ],
+ "query": [
+ {
+ "key": "resource-version",
+ "value": "1621307213843"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete simple-cl-pnf-failure",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Accept",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Real-Time",
+ "type": "text",
+ "value": "true"
+ },
+ {
+ "key": "X-TransactionId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ },
+ {
+ "key": "X-FromAppId",
+ "type": "text",
+ "value": "AAI-Temp-Tool"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/simple-cl-pnf-failure?resource-version=1621307213843",
+ "host": [
+ "{{AAI-URL}}"
+ ],
+ "path": [
+ "aai",
+ "v14",
+ "network",
+ "pnfs",
+ "pnf",
+ "simple-cl-pnf-failure"
+ ],
+ "query": [
+ {
+ "key": "resource-version",
+ "value": "1621307213843"
+ }
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "auth": {
+ "type": "basic",
+ "basic": [
+ {
+ "key": "password",
+ "value": "demo123456!",
+ "type": "string"
+ },
+ {
+ "key": "username",
+ "value": "aai@aai.onap.org",
+ "type": "string"
+ }
+ ]
+ },
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ]
+}
diff --git a/docs/development/devtools/tosca/pairwise-testing.yml b/docs/development/devtools/tosca/pairwise-testing.yml
index e6c25d0d..c4987aa4 100644
--- a/docs/development/devtools/tosca/pairwise-testing.yml
+++ b/docs/development/devtools/tosca/pairwise-testing.yml
@@ -11,7 +11,8 @@ data_types:
required: true
onap.datatype.controlloop.Target:
derived_from: tosca.datatypes.Root
- description: Definition for a entity in A&AI to perform a control loop operation on
+ description: Definition for a entity in A&AI to perform a control loop operation
+ on
properties:
targetType:
type: string
@@ -55,7 +56,8 @@ data_types:
required: true
payload:
type: map
- description: Name/value pairs of payload information passed by Policy to the actor
+ description: Name/value pairs of payload information passed by Policy to the
+ actor
required: false
metadata:
clamp_possible_values: ClampExecution:CDS/payload
@@ -83,12 +85,14 @@ data_types:
required: true
retries:
type: integer
- description: The number of retries the actor should attempt to perform the operation.
+ description: The number of retries the actor should attempt to perform the
+ operation.
required: true
default: 0
success:
type: string
- description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
+ description: Points to the operation to invoke on success. A value of "final_success"
+ indicates and end to the operation.
required: false
default: final_success
failure:
@@ -98,269 +102,34 @@ data_types:
default: final_failure
failure_timeout:
type: string
- description: Points to the operation to invoke when the time out for the operation occurs.
+ description: Points to the operation to invoke when the time out for the operation
+ occurs.
required: false
default: final_failure_timeout
failure_retries:
type: string
- description: Points to the operation to invoke when the current operation has exceeded its max retries.
+ description: Points to the operation to invoke when the current operation
+ has exceeded its max retries.
required: false
default: final_failure_retries
failure_exception:
type: string
- description: Points to the operation to invoke when the current operation causes an exception.
+ description: Points to the operation to invoke when the current operation
+ causes an exception.
required: false
default: final_failure_exception
failure_guard:
type: string
- description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
+ description: Points to the operation to invoke when the current operation
+ is blocked due to guard policy enforcement.
required: false
default: final_failure_guard
- onap.datatypes.monitoring.managedObjectDNsBasic:
- constraints: []
- properties:
- DN:
- name: DN
- type: string
- typeVersion: 0.0.0
- description: Managed object distinguished name
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasic
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.managedObjectDNsBasics:
- constraints: []
- properties:
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: map
- typeVersion: 0.0.0
- description: Managed object distinguished name object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasic
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasics
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroup:
- constraints: []
- properties:
- measurementTypes:
- name: measurementTypes
- type: list
- typeVersion: 0.0.0
- description: List of measurement types
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementTypes
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: list
- typeVersion: 0.0.0
- description: List of managed object distinguished names
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasics
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroup
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroups:
- constraints: []
- properties:
- measurementGroup:
- name: measurementGroup
- type: map
- typeVersion: 0.0.0
- description: Measurement Group
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroup
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroups
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementType:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: string
- typeVersion: 0.0.0
- description: Measurement type
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementType
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementTypes:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: map
- typeVersion: 0.0.0
- description: Measurement type object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementType
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementTypes
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.nfFilter:
- constraints: []
- properties:
- modelNames:
- name: modelNames
- type: list
- typeVersion: 0.0.0
- description: List of model names
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelInvariantIDs:
- name: modelInvariantIDs
- type: list
- typeVersion: 0.0.0
- description: List of model invariant IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelVersionIDs:
- name: modelVersionIDs
- type: list
- typeVersion: 0.0.0
- description: List of model version IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- nfNames:
- name: nfNames
- type: list
- typeVersion: 0.0.0
- description: List of network functions
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.nfFilter
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.subscription:
- constraints: []
- properties:
- measurementGroups:
- name: measurementGroups
- type: list
- typeVersion: 0.0.0
- description: Measurement Groups
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroups
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- fileBasedGP:
- name: fileBasedGP
- type: integer
- typeVersion: 0.0.0
- description: File based granularity period
- required: true
- constraints: []
- metadata: {}
- fileLocation:
- name: fileLocation
- type: string
- typeVersion: 0.0.0
- description: ROP file location
- required: true
- constraints: []
- metadata: {}
- subscriptionName:
- name: subscriptionName
- type: string
- typeVersion: 0.0.0
- description: Name of the subscription
- required: true
- constraints: []
- metadata: {}
- administrativeState:
- name: administrativeState
- type: string
- typeVersion: 0.0.0
- description: State of the subscription
- required: true
- constraints:
- - valid_values:
- - LOCKED
- - UNLOCKED
- metadata: {}
- nfFilter:
- name: nfFilter
- type: map
- typeVersion: 0.0.0
- description: Network function filter
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.nfFilter
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.subscription
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest:
+ org.onap.datatypes.policy.clamp.acm.httpControlLoopElement.RestRequest:
version: 1.0.0
derived_from: tosca.datatypes.Root
properties:
restRequestId:
- type: onap.datatypes.ToscaConceptIdentifier
+ type: onap.datatypes.ToscaConceptIdentifier
typeVersion: 1.0.0
required: true
description: The name and version of a REST request to be sent to a REST endpoint
@@ -368,7 +137,11 @@ data_types:
type: string
required: true
constraints:
- - valid_values: [POST, PUT, GET, DELETE]
+ - valid_values:
+ - POST
+ - PUT
+ - GET
+ - DELETE
description: The REST method to use
path:
type: string
@@ -381,49 +154,35 @@ data_types:
expectedResponse:
type: integer
required: true
- constraints:
- - in_range: [100, 599]
+ constraints: []
description: THe expected HTTP status code for the REST request
- org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity:
- version: 1.0.0
- derived_from: tosca.datatypes.Root
- properties:
- configurationEntityId:
- type: onap.datatypes.ToscaConceptIdentifier
+ org.onap.datatypes.policy.clamp.acm.httpControlLoopElement.ConfigurationEntity:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ configurationEntityId:
+ type: onap.datatypes.ToscaConceptIdentifier
+ typeVersion: 1.0.0
+ required: true
+ description: The name and version of a Configuration Entity to be handled
+ by the HTTP Automation Composition Element
+ restSequence:
+ type: list
+ entry_schema:
+ type: org.onap.datatypes.policy.clamp.acm.httpControlLoopElement.RestRequest
typeVersion: 1.0.0
- required: true
- description: The name and version of a Configuration Entity to be handled by the HTTP Control Loop Element
- restSequence:
- type: list
- entry_schema:
- type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest
- typeVersion: 1.0.0
- description: A sequence of REST commands to send to the REST endpoint
+ description: A sequence of REST commands to send to the REST endpoint
policy_types:
onap.policies.Monitoring:
derived_from: tosca.policies.Root
description: a base policy type for all policies that govern monitoring provisioning
version: 1.0.0
name: onap.policies.Monitoring
- onap.policies.Sirisha:
+ onap.policies.customPolicyType:
derived_from: tosca.policies.Root
description: a base policy type for all policies that govern monitoring provisioning
version: 1.0.0
- name: onap.policies.Sirisha
- onap.policies.monitoring.dcae-pm-subscription-handler:
- properties:
- pmsh_policy:
- name: pmsh_policy
- type: onap.datatypes.monitoring.subscription
- typeVersion: 0.0.0
- description: PMSH Policy JSON
- required: false
- constraints: []
- metadata: {}
- name: onap.policies.monitoring.dcae-pm-subscription-handler
- version: 1.0.0
- derived_from: onap.policies.Monitoring
- metadata: {}
+ name: onap.policies.customPolicyType
onap.policies.controlloop.operational.Common:
derived_from: tosca.policies.Root
version: 1.0.0
@@ -444,12 +203,14 @@ policy_types:
required: true
abatement:
type: boolean
- description: Whether an abatement event message will be expected for the control loop from DCAE.
+ description: Whether an abatement event message will be expected for the control
+ loop from DCAE.
required: true
default: false
trigger:
type: string
- description: Initial operation to execute upon receiving an Onset event message for the Control Loop.
+ description: Initial operation to execute upon receiving an Onset event message
+ for the Control Loop.
required: true
operations:
type: list
@@ -466,7 +227,8 @@ policy_types:
properties:
engineServiceParameters:
type: string
- description: The engine parameters like name, instanceCount, policy implementation, parameters etc.
+ description: The engine parameters like name, instanceCount, policy implementation,
+ parameters etc.
required: true
eventInputParameters:
type: string
@@ -480,15 +242,16 @@ policy_types:
type: string
description: Name/value pairs of properties to be set for APEX if needed.
required: false
+
node_types:
- org.onap.policy.clamp.controlloop.Participant:
+ org.onap.policy.clamp.acm.Participant:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
provider:
type: string
requred: false
- org.onap.policy.clamp.controlloop.ControlLoopElement:
+ org.onap.policy.clamp.acm.AutomationCompositionElement:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
@@ -497,7 +260,7 @@ node_types:
required: false
metadata:
common: true
- description: Specifies the organization that provides the control loop element
+ description: Specifies the organization that provides the automation composition element
participant_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: true
@@ -508,7 +271,7 @@ node_types:
required: true
metadata:
common: true
- description: The identity of the participant type that hosts this type of Control Loop Element
+ description: The identity of the participant type that hosts this type of Automation Composition Element
startPhase:
type: integer
required: false
@@ -516,9 +279,9 @@ node_types:
- greater_or_equal: 0
metadata:
common: true
- description: A value indicating the start phase in which this control loop element will be started, the
- first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
- in reverse start phase order. Control Loop Elements with the same start phase are started and
+ description: A value indicating the start phase in which this automation composition element will be started, the
+ first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped
+ in reverse start phase order. Automation Composition Elements with the same start phase are started and
stopped simultaneously
uninitializedToPassiveTimeout:
type: integer
@@ -556,7 +319,7 @@ node_types:
metadata:
common: true
description: The maximum time in seconds to wait for a state chage from passive to uninitialized
- org.onap.policy.clamp.controlloop.ControlLoop:
+ org.onap.policy.clamp.acm.AutomationComposition:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
@@ -565,7 +328,7 @@ node_types:
required: false
metadata:
common: true
- description: Specifies the organization that provides the control loop element
+ description: Specifies the organization that provides the automation composition element
elements:
type: list
required: true
@@ -573,30 +336,10 @@ node_types:
common: true
entry_schema:
type: onap.datatypes.ToscaConceptIdentifier
- description: Specifies a list of control loop element definitions that make up this control loop definition
- org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement:
+ description: Specifies a list of automation composition element definitions that make up this automation composition definition
+ org.onap.policy.clamp.acm.PolicyAutomationCompositionElement:
version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
properties:
policy_type_id:
type: onap.datatypes.ToscaConceptIdentifier
@@ -604,16 +347,16 @@ node_types:
policy_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: false
- org.onap.policy.clamp.controlloop.CDSControlLoopElement:
+ org.onap.policy.clamp.acm.CDSAutomationCompositionElement:
version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
properties:
cds_blueprint_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: true
- org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement:
+ org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement:
version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
properties:
chart:
type: string
@@ -631,9 +374,9 @@ node_types:
values:
type: string
requred: true
- org.onap.policy.clamp.controlloop.HttpControlLoopElement:
+ org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
properties:
baseUrl:
type: string
@@ -649,18 +392,12 @@ node_types:
type: map
required: true
entry_schema:
- type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity
+ type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity
typeVersion: 1.0.0
- description: The connfiguration entities the Control Loop Element is managing and their associated REST requests
+ description: The connfiguration entities the Automation Composition Element is managing and their associated REST requests
topology_template:
inputs:
- pmsh_monitoring_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH monitoring policy to use
- default:
- name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- version: 1.0.0
pmsh_operational_policy:
type: onap.datatypes.ToscaConceptIdentifier
description: The ID of the PMSH operational policy to use
@@ -668,130 +405,91 @@ topology_template:
name: operational.apex.pmcontrol
version: 1.0.0
node_templates:
- org.onap.policy.controlloop.PolicyControlLoopParticipant:
+ org.onap.policy.clamp.acm.PolicyParticipant:
version: 2.3.1
- type: org.onap.policy.clamp.controlloop.Participant
+ type: org.onap.policy.clamp.acm.Participant
type_version: 1.0.1
description: Participant for DCAE microservices
properties:
provider: ONAP
- org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
+ org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement:
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
+ type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
+ description: Automation composition element for the operational policy for Performance Management Subscription Handling
properties:
provider: Ericsson
participant_id:
name: org.onap.PM_Policy
version: 1.0.0
participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_monitoring_policy
- org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+ name: org.onap.policy.clamp.acm.PolicyParticipant
version: 2.3.1
policy_type_id:
name: onap.policies.operational.pm-subscription-handler
version: 1.0.0
policy_id:
get_input: pmsh_operational_policy
- org.onap.k8s.controlloop.K8SControlLoopParticipant:
+
+
+ org.onap.policy.clamp.acm.KubernetesParticipant:
version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
+ type: org.onap.policy.clamp.acm.Participant
type_version: 1.0.1
description: Participant for K8S
properties:
provider: ONAP
- org.onap.domain.database.PMSH_K8SMicroserviceControlLoopElement:
+ org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement:
# Chart from new repository
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
+ type: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
type_version: 1.0.0
- description: Control loop element for the K8S microservice for PMSH
+ description: Automation composition element for the K8S microservice for PMSH
properties:
provider: ONAP
participant_id:
name: K8sParticipant0
version: 1.0.0
participantType:
- name: org.onap.k8s.controlloop.K8SControlLoopParticipant
+ name: org.onap.policy.clamp.acm.KubernetesParticipant
version: 2.3.4
chart:
chartId:
name: dcae-pmsh
- version: 8.0.0
+ version: 10.0.0
namespace: onap
- releaseName: pmshms
+ releaseName: onap-dcae-pmsh
repository:
repoName: chartmuseum
- protocol: http
- address: chart-museum
- port: 80
+ address: http://chart-museum:80
userName: onapinitializer
password: demo123456!
overrideParams:
global.masterPassword: test
-
- org.onap.domain.database.Local_K8SMicroserviceControlLoopElement:
- # Chart installation without passing repository info
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the K8S microservice for local chart
- properties:
- provider: ONAP
- participant_id:
- name: K8sParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.k8s.controlloop.K8SControlLoopParticipant
- version: 2.3.4
- chart:
- chartId:
- name: nginx-ingress
- version: 0.9.1
- releaseName: nginxms
- namespace: test
- org.onap.controlloop.HttpControlLoopParticipant:
+ org.onap.policy.clamp.acm.HttpParticipant:
version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
+ type: org.onap.policy.clamp.acm.Participant
type_version: 1.0.1
description: Participant for Http requests
properties:
provider: ONAP
- org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement:
+ org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement:
# Consul http config for PMSH.
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.HttpControlLoopElement
+ type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
type_version: 1.0.1
- description: Control loop element for the http requests of PMSH microservice
+ description: Automation composition element for the http requests of PMSH microservice
properties:
provider: ONAP
participant_id:
name: HttpParticipant0
version: 1.0.0
participantType:
- name: org.onap.k8s.controlloop.HttpControlLoopParticipant
+ name: org.onap.policy.clamp.acm.HttpParticipant
version: 2.3.4
uninitializedToPassiveTimeout: 180
startPhase: 1
- baseUrl: http://consul-server-ui:8500
+ baseUrl: https://dcae-pmsh:8443
httpHeaders:
Content-Type: application/json
configurationEntities:
@@ -802,195 +500,2889 @@ topology_template:
- restRequestId:
name: request1
version: 1.0.1
- httpMethod: PUT
- path: v1/kv/dcae-pmsh2
+ httpMethod: POST
+ path: subscription
body: '{
- "control_loop_name":"pmsh-control-loop",
- "operational_policy_name":"pmsh-operational-policy",
- "aaf_password":"demo123456!",
- "aaf_identity":"dcae@dcae.onap.org",
- "cert_path":"/opt/app/pmsh/etc/certs/cert.pem",
- "key_path":"/opt/app/pmsh/etc/certs/key.pem",
- "ca_cert_path":"/opt/app/pmsh/etc/certs/cacert.pem",
- "enable_tls":"true",
- "pmsh_policy":{
- "subscription":{
- "subscriptionName":"ExtraPM-All-gNB-R2B",
- "administrativeState":"UNLOCKED",
- "fileBasedGP":15,
- "fileLocation":"\/pm\/pm.xml",
- "nfFilter":{
- "nfNames":[
- "^pnf.*",
- "^vnf.*"
- ],
- "modelInvariantIDs":[
- ],
- "modelVersionIDs":[
- ],
- "modelNames":[
- ]
- },
- "measurementGroups":[
- {
- "measurementGroup":{
- "measurementTypes":[
- {
- "measurementType":"countera"
+ "subscription":{
+ "subscriptionName":"new_sub_01",
+ "operationalPolicyName":"pmsh-operational-policy",
+ "controlLoopName":"controlLoop-name",
+ "nfFilter":{
+ "nfNames":[
+ "^pnf*"
+ ],
+ "modelInvariantIDs":[
+ "7129e420-d396-4efb-af02-6b83499b12f5"
+ ],
+ "modelVersionIDs":[
+ "e80a6ae3-cafd-4d24-850d-e14c084a5ca7"
+ ],
+ "modelNames":[
+ "pnf_134"
+ ]
},
+ "measurementGroups":[
{
- "measurementType":"counterb"
- }
- ],
- "managedObjectDNsBasic":[
+ "measurementGroup":{
+ "measurementGroupName":"msgroup_01",
+ "administrativeState":"UNLOCKED",
+ "fileBasedGP":15,
+ "fileLocation":"/pm/pm.xml",
+ "measurementTypes":[
+ {
+ "measurementType":"EutranCell.*"
+ },
+ {
+ "measurementType":"EutranCellRelation.pmCounter1"
+ },
+ {
+ "measurementType":"EutranCellRelation.pmCounter2"
+ }
+ ],
+ "managedObjectDNsBasic":[
{
- "DN":"dna"
+ "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1"
},
{
- "DN":"dnb"
- }
- ]
- }
- },
- {
- "measurementGroup":{
- "measurementTypes":[
- {
- "measurementType":"counterc"
+ "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter2"
},
{
- "measurementType":"counterd"
+ "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter3"
}
- ],
- "managedObjectDNsBasic":[
- {
- "DN":"dnc"
- },
- {
- "DN":"dnd"
+ ]
}
- ]
- }
- }
- ]
- }
- },
- "streams_subscribes":{
- "aai_subscriber":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/AAI_EVENT",
- "client_role":"org.onap.dcae.aaiSub",
- "location":"san-francisco",
- "client_id":"1575976809466"
- }
- },
- "policy_pm_subscriber":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
- "client_role":"org.onap.dcae.pmSubscriber",
- "location":"san-francisco",
- "client_id":"1575876809456"
- }
- }
- },
- "streams_publishes":{
- "policy_pm_publisher":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
- "client_role":"org.onap.dcae.pmPublisher",
- "location":"san-francisco",
- "client_id":"1475976809466"
- }
- },
- "other_publisher":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.SOME_OTHER_TOPIC",
- "client_role":"org.onap.dcae.pmControlPub",
- "location":"san-francisco",
- "client_id":"1875976809466"
- }
- }
- }
- }'
- expectedResponse: 200
- org.onap.domain.sample.GenericK8s_ControlLoopDefinition:
+ }
+ ]
+ }
+ }'
+ expectedResponse: 201
+
+
+ org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition:
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
+ type: org.onap.policy.clamp.acm.AutomationComposition
type_version: 1.0.0
- description: Control loop for Hello World
+ description: Automation composition for Hello World
properties:
provider: ONAP
elements:
- - name: org.onap.domain.database.PMSH_K8SMicroserviceControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.database.Local_K8SMicroserviceControlLoopElement
+ - name: org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement
version: 1.2.3
- - name: org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement
+ - name: org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement
version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
+ - name: org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement
version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
- version: 1.2.3
-
policies:
- - MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test:
- type: onap.policies.monitoring.dcae-pm-subscription-handler
+ - operational.apex.pmcontrol:
+ type: onap.policies.controlloop.operational.common.Apex
type_version: 1.0.0
- name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
version: 1.0.0
- metadata:
- policy-id: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- policy-version: 1.0.0
properties:
- pmsh_policy:
- fileBasedGP: 15
- fileLocation: /pm/pm.xml
- subscriptionName: subscriptiona
- administrativeState: UNLOCKED
- nfFilter:
- onap.datatypes.monitoring.nfFilter:
- modelVersionIDs:
- - e80a6ae3-cafd-4d24-850d-e14c084a5ca9
- modelInvariantIDs:
- - 5845y423-g654-6fju-po78-8n53154532k6
- - 7129e420-d396-4efb-af02-6b83499b12f8
- modelNames: []
- nfNames:
- - '"^pnf1.*"'
- measurementGroups:
- - measurementGroup:
- onap.datatypes.monitoring.measurementGroup:
- measurementTypes:
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: countera
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: counterb
- managedObjectDNsBasic:
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dna
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dnb
- - measurementGroup:
- onap.datatypes.monitoring.measurementGroup:
- measurementTypes:
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: counterc
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: counterd
- managedObjectDNsBasic:
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dnc
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dnd \ No newline at end of file
+ engineServiceParameters:
+ name: MyApexEngine
+ version: 0.0.1
+ id: 45
+ instanceCount: 2
+ deploymentPort: 12561
+ engineParameters:
+ executorParameters:
+ JAVASCRIPT:
+ parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
+ contextParameters:
+ parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
+ schemaParameters:
+ Avro:
+ parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
+ Java:
+ parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters
+ jsonAdapters:
+ Instant:
+ adaptedClass: java.time.Instant
+ adaptorClass: org.onap.policy.common.gson.InstantAsMillisTypeAdapter
+ policy_type_impl:
+ apexPolicyModel:
+ key:
+ name: PMControlPolicy
+ version: 0.0.1
+ keyInformation:
+ key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ keyInfoMap:
+ entry:
+ - key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
+ description: Generated description for concept referred to by
+ key "CDSActionIdentifiersType:0.0.1"
+ - key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
+ description: Generated description for concept referred to by
+ key "CDSCreateResponseEvent:0.0.1"
+ - key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
+ description: Generated description for concept referred to by
+ key "CDSCreateResponsePayloadType:0.0.1"
+ - key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
+ description: Generated description for concept referred to by
+ key "CDSCreateResponsePolicy:0.0.1"
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
+ description: Generated description for concept referred to by
+ key "CDSCreateResponseTask:0.0.1"
+ - key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
+ description: Generated description for concept referred to by
+ key "CDSCreateSubscriptionPayloadType:0.0.1"
+ - key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
+ description: Generated description for concept referred to by
+ key "CDSCreateSubscriptionRequestEvent:0.0.1"
+ - key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
+ description: Generated description for concept referred to by
+ key "CDSDeleteResponseEvent:0.0.1"
+ - key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
+ description: Generated description for concept referred to by
+ key "CDSDeleteResponsePayloadType:0.0.1"
+ - key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ UUID: a780251c-edd5-3132-b865-04313246b43c
+ description: Generated description for concept referred to by
+ key "CDSDeleteResponsePolicy:0.0.1"
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
+ description: Generated description for concept referred to by
+ key "CDSDeleteResponseTask:0.0.1"
+ - key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
+ description: Generated description for concept referred to by
+ key "CDSDeleteSubscriptionPayloadType:0.0.1"
+ - key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
+ description: Generated description for concept referred to by
+ key "CDSDeleteSubscriptionRequestEvent:0.0.1"
+ - key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
+ description: Generated description for concept referred to by
+ key "CDSRequestCommonHeaderType:0.0.1"
+ - key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
+ description: Generated description for concept referred to by
+ key "CDSResponseCommonHeaderType:0.0.1"
+ - key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ UUID: 7986e21b-32f7-302e-9554-31f21b673493
+ description: Generated description for concept referred to by
+ key "CDSResponseStatusEvent:0.0.1"
+ - key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
+ description: Generated description for concept referred to by
+ key "CDSResponseStatusType:0.0.1"
+ - key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
+ description: Generated description for concept referred to by
+ key "CreateSubscriptionPayloadEvent:0.0.1"
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
+ description: Generated description for concept referred to by
+ key "CreateSubscriptionPayloadTask:0.0.1"
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
+ description: Generated description for concept referred to by
+ key "CreateSubscriptionRequestTask:0.0.1"
+ - key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
+ description: Generated description for concept referred to by
+ key "DeleteSubscriptionPayloadEvent:0.0.1"
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ UUID: 0f519117-5fea-3e4b-941f-8f778100465f
+ description: Generated description for concept referred to by
+ key "DeleteSubscriptionPayloadTask:0.0.1"
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ UUID: acb772fe-d442-39e3-98f9-b1080caf4150
+ description: Generated description for concept referred to by
+ key "DeleteSubscriptionRequestTask:0.0.1"
+ - key:
+ name: MRResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: MRResponseEvent
+ version: 0.0.1
+ UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
+ description: Generated description for concept referred to by
+ key "MRResponseEvent:0.0.1"
+ - key:
+ name: PMControlPolicy
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy
+ version: 0.0.1
+ UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
+ description: Generated description for concept referred to by
+ key "PMControlPolicy:0.0.1"
+ - key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
+ description: Generated description for concept referred to by
+ key "PMControlPolicy_Albums:0.0.1"
+ - key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ UUID: be3871a0-c42a-3113-a066-82d192840eca
+ description: Generated description for concept referred to by
+ key "PMControlPolicy_Events:0.0.1"
+ - key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ UUID: ced37634-28a4-3178-b7f6-2980794927b0
+ description: Generated description for concept referred to by
+ key "PMControlPolicy_KeyInfo:0.0.1"
+ - key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
+ description: Generated description for concept referred to by
+ key "PMControlPolicy_Policies:0.0.1"
+ - key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
+ description: Generated description for concept referred to by
+ key "PMControlPolicy_Schemas:0.0.1"
+ - key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
+ description: Generated description for concept referred to by
+ key "PMControlPolicy_Tasks:0.0.1"
+ - key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
+ description: Generated description for concept referred to by
+ key "PMSubscriptionAlbum:0.0.1"
+ - key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
+ description: Generated description for concept referred to by
+ key "PMSubscriptionOutputEvent:0.0.1"
+ - key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
+ description: Generated description for concept referred to by
+ key "PMSubscriptionType:0.0.1"
+ - key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1
+ description: Generated description for concept referred to by
+ key "ReceiveEventPolicy:0.0.1"
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ UUID: f596afc8-100c-35eb-92c8-352355ea457d
+ description: Generated description for concept referred to by
+ key "ReceiveSubscriptionTask:0.0.1"
+ - key:
+ name: SimpleIntType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleIntType
+ version: 0.0.1
+ UUID: 153791fd-ae0a-36a7-88a5-309a7936415d
+ description: Generated description for concept referred to by
+ key "SimpleIntType:0.0.1"
+ - key:
+ name: SimpleStringType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleStringType
+ version: 0.0.1
+ UUID: 8a4957cf-9493-3a76-8c22-a208e23259af
+ description: Generated description for concept referred to by
+ key "SimpleStringType:0.0.1"
+ - key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
+ description: Generated description for concept referred to by
+ key "SubscriptionStatusType:0.0.1"
+ - key:
+ name: SubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionType
+ version: 0.0.1
+ UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
+ description: Generated description for concept referred to by
+ key "SubscriptionType:0.0.1"
+ - key:
+ name: UUIDType
+ version: 0.0.1
+ value:
+ key:
+ name: UUIDType
+ version: 0.0.1
+ UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c
+ description: Generated description for concept referred to by
+ key "UUIDType:0.0.1"
+ - key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ value:
+ key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
+ description: Generated description for concept referred to by
+ key "pmsh-operational-policy:0.0.1"
+ policies:
+ key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ policyMap:
+ entry:
+ - key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CDSCreateResponseState
+ value:
+ stateKey:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CDSCreateResponseState
+ trigger:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ResponseOutput
+ value:
+ key:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: ResponseOutput
+ outgoingEvent:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: CDSResponseStatusEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: [ ]
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: CDSCreateResponsePolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: ResponseOutput
+ firstState: CDSCreateResponseState
+ - key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CDSDeleteResponseState
+ value:
+ stateKey:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CDSDeleteResponseState
+ trigger:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ResponseOutput
+ value:
+ key:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: ResponseOutput
+ outgoingEvent:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: CDSResponseStatusEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: [ ]
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: CDSDeleteResponsePolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: ResponseOutput
+ firstState: CDSDeleteResponseState
+ - key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CreateOrDeleteState
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateOrDeleteState
+ trigger:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: CreateSubscriptionPayload
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: CreateSubscriptionPayload
+ outgoingEvent:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateSubscription
+ - key: DeleteSubscriptionPayload
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: DeleteSubscriptionPayload
+ outgoingEvent:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DeleteSubscription
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: TaskSelectionLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toString()
+ executor.logger.info("Change Type is " + changeType)
+ if ("CREATE".equals(changeType)) {
+ executor.logger.info("Choosing to create a subscription")
+ executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
+ }
+ else if ("DELETE".equals(changeType)) {
+ executor.logger.info("Choosing to delete a subscription")
+ executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
+ }
+ returnValue = executor.isTrue;
+ true;
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: CreateSubscriptionPayload
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: DeleteSubscriptionPayload
+ - key: CreateSubscription
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateSubscription
+ trigger:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: IssueCreateSubscriptionRequestOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: IssueCreateSubscriptionRequestOutput
+ outgoingEvent:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: IssueCreateSubscriptionRequestOutput
+ - key: DeleteSubscription
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DeleteSubscription
+ trigger:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: IssueDeleteSubscriptionRequestOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: IssueDeleteSubscriptionRequestOutput
+ outgoingEvent:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: IssueDeleteSubscriptionRequestOutput
+ - key: ReceiveSubscriptionState
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: ReceiveSubscriptionState
+ trigger:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ReceivePMSubscriptionOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceivePMSubscriptionOutput
+ outgoingEvent:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateOrDeleteState
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceivePMSubscriptionOutput
+ firstState: ReceiveSubscriptionState
+ tasks:
+ key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ taskMap:
+ entry:
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ inputEvent:
+ key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ outputEvents:
+ entry:
+ - key: CDSResponseStatusEvent
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: DCAE
+ parameter:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var commonHeader = executor.inFields.get("commonHeader")
+ var response = executor.inFields.get("payload")
+ var albumID = commonHeader.get("requestId")
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+ var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+ var changeType = pmSubscriptionInfo.get("changeType").toUpperCase()
+ responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+ responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+ if ("CREATE".equals(changeType)) {
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("subscription").get("measurementGroup").get("measurementGroupName"))
+ }
+ else if ("DELETE".equals(changeType)) {
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
+ responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
+ }
+ var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+ executor.logger.info("RESPONSE STATUS = " + status)
+ if(status == "success") {
+ responseStatus.put("message", "success")
+ } else {
+ responseStatus.put("message", "failed")
+ }
+ executor.outFields.put("status", responseStatus)
+ returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ inputEvent:
+ key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ outputEvents:
+ entry:
+ - key: CDSResponseStatusEvent
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: DCAE
+ parameter:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var commonHeader = executor.inFields.get("commonHeader")
+ var response = executor.inFields.get("payload")
+ var albumID = commonHeader.get("requestId")
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+ var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+ var changeType = pmSubscriptionInfo.get("changeType").toUpperCase()
+ responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+ responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+ if ("CREATE".equals(changeType)) {
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("subscription").get("measurementGroup").get("measurementGroupName"))
+ }
+ else if ("DELETE".equals(changeType)) {
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
+ responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
+ }
+ var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+ executor.logger.info("RESPONSE STATUS = " + status)
+ if(status == "success") {
+ responseStatus.put("message", "success")
+ } else {
+ responseStatus.put("message", "failed")
+ }
+ executor.outFields.put("status", responseStatus)
+ returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ inputEvent:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ outputEvents:
+ entry:
+ - key: CreateSubscriptionPayloadEvent
+ value:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+ payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
+ payloadProperties.put("ipAddress", pmSubscriptionInfo.get("ipAddress"))
+ if ("create".equals(changeType)) {
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+ payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+ payloadProperties.put("measurementGroup", pmSubscriptionInfo.get("subscription").get("measurementGroup"))
+ }
+ else if ("delete".equals(changeType)) {
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
+ payloadProperties.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
+ }
+ var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+ payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+ var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+ payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+ executor.outFields.put("albumID", executor.inFields.get("albumID"))
+ executor.outFields.put("payload", payload);
+ returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ inputEvent:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ outputEvents:
+ entry:
+ - key: CDSCreateSubscriptionRequestEvent
+ value:
+ key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ executor.logger.info(pmSubscriptionInfo)
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+ var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+ var payload = executor.inFields.get("payload")
+ var actionName = changeType + "-subscription"
+ var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+ commonHeader.put("originatorId", "sdnc");
+ commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+ commonHeader.put("subRequestId", "sub-123456-1000");
+ var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+ actionIdentifiers.put("actionName", actionName);
+ actionIdentifiers.put("blueprintName", blueprintName);
+ actionIdentifiers.put("blueprintVersion", blueprintVersion);
+ actionIdentifiers.put("mode", "sync");
+ executor.outFields.put("commonHeader", commonHeader);
+ executor.outFields.put("actionIdentifiers", actionIdentifiers);
+ executor.outFields.put("payload", payload);
+ returnValue = executor.isTrue;
+ true;
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ inputEvent:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ outputEvents:
+ entry:
+ - key: DeleteSubscriptionPayloadEvent
+ value:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+ payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
+ payloadProperties.put("ipAddress", pmSubscriptionInfo.get("ipAddress"))
+ if ("create".equals(changeType)) {
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+ payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+ payloadProperties.put("measurementGroup", pmSubscriptionInfo.get("subscription").get("measurementGroup"))
+ }
+ else if ("delete".equals(changeType)) {
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
+ payloadProperties.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
+ }
+ var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+ payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+ var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+ payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+ executor.outFields.put("albumID", executor.inFields.get("albumID"))
+ executor.outFields.put("payload", payload);
+ returnValue = executor.isTrue;
+ true;
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ inputEvent:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ outputEvents:
+ entry:
+ - key: CDSDeleteSubscriptionRequestEvent
+ value:
+ key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ executor.logger.info(pmSubscriptionInfo)
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+ var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+ var payload = executor.inFields.get("payload")
+ var actionName = changeType + "-subscription"
+ var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+ commonHeader.put("originatorId", "sdnc");
+ commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+ commonHeader.put("subRequestId", "sub-123456-1000");
+ var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+ actionIdentifiers.put("actionName", actionName);
+ actionIdentifiers.put("blueprintName", blueprintName);
+ actionIdentifiers.put("blueprintVersion", blueprintVersion);
+ actionIdentifiers.put("mode", "sync");
+ executor.outFields.put("commonHeader", commonHeader);
+ executor.outFields.put("actionIdentifiers", actionIdentifiers);
+ executor.outFields.put("payload", payload);
+ returnValue = executor.isTrue;
+ true;
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ inputEvent:
+ key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: DCAE
+ target: APEX
+ parameter:
+ entry:
+ - key: blueprintName
+ value:
+ key: blueprintName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: blueprintVersion
+ value:
+ key: blueprintVersion
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: changeType
+ value:
+ key: changeType
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: controlLoopName
+ value:
+ key: controlLoopName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: ipAddress
+ value:
+ key: ipAddress
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: measurementGroupName
+ value:
+ key: measurementGroupName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: true
+ - key: nfName
+ value:
+ key: nfName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: operationalPolicyName
+ value:
+ key: operationalPolicyName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: subscription
+ value:
+ key: subscription
+ fieldSchemaKey:
+ name: SubscriptionType
+ version: 0.0.1
+ optional: true
+ - key: subscriptionName
+ value:
+ key: subscriptionName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: true
+ outputEvents:
+ entry:
+ - key: PMSubscriptionOutputEvent
+ value:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ var uuidType = java.util.UUID;
+ executor.logger.info(executor.subject.id);
+ //albumID will be used to fetch info from our album later
+ var albumID = uuidType.randomUUID();
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
+ var returnValue = true;
+ if(executor.inFields.get("operationalPolicyName") != null) {
+ executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
+ var changeType = executor.inFields.get("changeType")
+ var nfName = executor.inFields.get("nfName")
+ var ipAddress = executor.inFields.get("ipAddress")
+ var operationalPolicyName = executor.inFields.get("operationalPolicyName")
+ var controlLoopName = executor.inFields.get("controlLoopName")
+ var subscription = executor.inFields.get("subscription")
+ var blueprintName = executor.inFields.get("blueprintName")
+ var blueprintVersion = executor.inFields.get("blueprintVersion")
+ pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
+ pmSubscriptionInfo.put("ipAddress", executor.inFields.get("ipAddress"));
+ pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
+ pmSubscriptionInfo.put("operationalPolicyName", executor.inFields.get("operationalPolicyName"))
+ pmSubscriptionInfo.put("controlLoopName", executor.inFields.get("controlLoopName"))
+ pmSubscriptionInfo.put("subscription", subscription)
+ pmSubscriptionInfo.put("blueprintName", blueprintName)
+ pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
+ if ("delete".equals(changeType.toLowerCase())) {
+ pmSubscriptionInfo.put("subscriptionName", executor.inFields.get("subscriptionName"))
+ pmSubscriptionInfo.put("measurementGroupName", executor.inFields.get("measurementGroupName"))
+ }
+ executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
+ executor.outFields.put("albumID", albumID)
+ } else {
+ executor.message = "Received invalid event"
+ returnValue = false;
+ }
+ returnValue;
+ events:
+ key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ eventMap:
+ entry:
+ - key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: DCAE
+ parameter:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: MRResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: MRResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: DCAE
+ target: APEX
+ parameter:
+ entry:
+ - key: count
+ value:
+ key: count
+ fieldSchemaKey:
+ name: SimpleIntType
+ version: 0.0.1
+ optional: false
+ - key: serverTimeMs
+ value:
+ key: serverTimeMs
+ fieldSchemaKey:
+ name: SimpleIntType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ value:
+ key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: DCAE
+ target: APEX
+ parameter:
+ entry:
+ - key: blueprintName
+ value:
+ key: blueprintName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: blueprintVersion
+ value:
+ key: blueprintVersion
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: changeType
+ value:
+ key: changeType
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: controlLoopName
+ value:
+ key: controlLoopName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: ipAddress
+ value:
+ key: ipAddress
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: measurementGroupName
+ value:
+ key: measurementGroupName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: true
+ - key: nfName
+ value:
+ key: nfName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: operationalPolicyName
+ value:
+ key: operationalPolicyName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: subscription
+ value:
+ key: subscription
+ fieldSchemaKey:
+ name: SubscriptionType
+ version: 0.0.1
+ optional: true
+ - key: subscriptionName
+ value:
+ key: subscriptionName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: true
+ albums:
+ key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ albums:
+ entry:
+ - key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ scope: policy
+ isWritable: true
+ itemSchema:
+ name: PMSubscriptionType
+ version: 0.0.1
+ schemas:
+ key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ schemas:
+ entry:
+ - key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ActionIdentifiers_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "actionName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintVersion",
+ "type": "string"
+ },
+ {
+ "name": "mode",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "CreateResponsePayloadEntry",
+ "type": "record",
+ "namespace": "com.acme.avro",
+ "fields": [
+ {
+ "name": "create_DasH_subscription_DasH_response",
+ "type": {
+ "name": "create_DasH_subscription_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "odl_DasH_response",
+ "type": {
+ "name": "odl_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "status",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type":"map",
+ "values":{
+ "type":"record",
+ "name":"CDSRequestPayloadEntry",
+ "fields":[
+ {
+ "name":"create_DasH_subscription_DasH_properties",
+ "type":{
+ "name":"create_DasH_subscription_DasH_properties_record",
+ "type":"record",
+ "fields":[
+ {
+ "name":"nfName",
+ "type":"string"
+ },
+ {
+ "name":"ipAddress",
+ "type":"string"
+ },
+ {
+ "name":"subscriptionName",
+ "type":"string"
+ },
+ {
+ "name":"fileBasedGP",
+ "type":"string"
+ },
+ {
+ "name":"fileLocation",
+ "type":"string"
+ },
+ {
+ "name":"measurementGroup",
+ "type":{
+ "name":"Measurement_Group_Type",
+ "type":"record",
+ "fields":[
+ {
+ "name":"measurementGroupName",
+ "type":"string"
+ },
+ {
+ "name":"measurementTypes",
+ "type":{
+ "type":"array",
+ "items":{
+ "name":"Measurement_Types_Type",
+ "type":"record",
+ "fields":[
+ {
+ "name":"measurementType",
+ "type":"string"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name":"managedObjectDNsBasic",
+ "type":{
+ "type":"array",
+ "items":{
+ "name":"Managed_Object_Dns_Basic_Type",
+ "type":"record",
+ "fields":[
+ {
+ "name":"DN",
+ "type":"string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ - key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "DeleteResponsePayloadEntry",
+ "type": "record",
+ "namespace": "com.acme.avro",
+ "fields": [
+ {
+ "name": "delete_DasH_subscription_DasH_response",
+ "type": {
+ "name": "delete_DasH_subscription_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "odl_DasH_response",
+ "type": {
+ "name": "odl_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "status",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type":"map",
+ "values":{
+ "type":"record",
+ "name":"CDSRequestPayloadEntry",
+ "fields":[
+ {
+ "name":"delete_DasH_subscription_DasH_properties",
+ "type":{
+ "name":"delete_DasH_subscription_DasH_properties_record",
+ "type":"record",
+ "fields":[
+ {
+ "name":"nfName",
+ "type":"string"
+ },
+ {
+ "name":"ipAddress",
+ "type":"string"
+ },
+ {
+ "name":"subscriptionName",
+ "type":"string"
+ },
+ {
+ "name":"measurementGroupName",
+ "type":"string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ - key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "RequestCommonHeader_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "originatorId",
+ "type": "string"
+ },
+ {
+ "name": "requestId",
+ "type": "string"
+ },
+ {
+ "name": "subRequestId",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ResponseCommonHeader_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "originatorId",
+ "type": "string"
+ },
+ {
+ "name": "requestId",
+ "type": "string"
+ },
+ {
+ "name": "subRequestId",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "type": "string"
+ },
+ {
+ "name": "flags",
+ "type": ["null", "string"]
+ }
+ ]
+ }
+ - key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ResponseStatus_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "code",
+ "type": "int"
+ },
+ {
+ "name": "eventType",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "type": "string"
+ },
+ {
+ "name": "message",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "PMSubscription",
+ "type": "record",
+ "namespace": "org.onap.policy.apex.onap.pmcontrol",
+ "fields": [
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "ipAddress",
+ "type": "string"
+ },
+ {
+ "name": "changeType",
+ "type": "string"
+ },
+ {
+ "name": "controlLoopName",
+ "type": "string"
+ },
+ {
+ "name": "operationalPolicyName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintVersion",
+ "type": "string"
+ },
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroupName",
+ "type": "string"
+ },
+ {
+ "name": "subscription",
+ "type": {
+ "name": "subscription",
+ "type": "record",
+ "fields": [
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "fileBasedGP",
+ "type": "int"
+ },
+ {
+ "name": "fileLocation",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroup",
+ "type": {
+ "name": "Measurement_Group_Type",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementGroupName",
+ "type": "string"
+ },
+ {
+ "name": "measurementTypes",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "Measurement_Types_Type",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementType",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "managedObjectDNsBasic",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "Managed_Object_Dns_Basic_Type",
+ "type": "record",
+ "fields": [
+ {
+ "name": "DN",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: SimpleIntType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleIntType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.Integer
+ - key:
+ name: SimpleStringType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleStringType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.String
+ - key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ActivateSubscriptionStatus_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroupName",
+ "type": "string"
+ },
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "changeType",
+ "type": "string"
+ },
+ {
+ "name": "message",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: SubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "subscription",
+ "type": "record",
+ "default": "null",
+ "fields": [
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "fileBasedGP",
+ "type": "int"
+ },
+ {
+ "name": "fileLocation",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroup",
+ "type": {
+ "name": "Measurement_Group_Type",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementGroupName",
+ "type": "string"
+ },
+ {
+ "name": "measurementTypes",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "Measurement_Types_Type",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementType",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "managedObjectDNsBasic",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "Managed_Object_Dns_Basic_Type",
+ "type": "record",
+ "fields": [
+ {
+ "name": "DN",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: UUIDType
+ version: 0.0.1
+ value:
+ key:
+ name: UUIDType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.util.UUID
+ eventInputParameters:
+ DCAEConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ consumerPollTime: '50'
+ url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ nameAlias: operationalPolicyName
+ eventName: pmsh-operational-policy
+ eventNameFilter: pmsh-operational-policy
+ CDSRequestConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: http://cds-blueprints-processor-http:8080/api/v1/execution-service/process
+ httpMethod: POST
+ restRequestTimeout: 2000
+ httpHeaders:
+ - - Authorization
+ - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: CDSCreateResponseEvent
+ eventNameFilter: CDSCreateResponseEvent
+ requestorMode: true
+ requestorPeer: CDSRequestProducer
+ requestorTimeout: 500
+ CDSDeleteRequestConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: http://cds-blueprints-processor-http:8080/api/v1/execution-service/process
+ httpMethod: POST
+ restRequestTimeout: 2000
+ httpHeaders:
+ - - Authorization
+ - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: CDSDeleteResponseEvent
+ eventNameFilter: CDSDeleteResponseEvent
+ requestorMode: true
+ requestorPeer: CDSDeleteRequestProducer
+ requestorTimeout: 500
+ eventOutputParameters:
+ logOutputter:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ standardIo: true
+ eventProtocolParameters:
+ eventProtocol: JSON
+ StdOutOutputter:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ standardIo: true
+ eventProtocolParameters:
+ eventProtocol: JSON
+ CDSRequestProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSCreateSubscriptionRequestEvent
+ requestorMode: true
+ requestorPeer: CDSRequestConsumer
+ requestorTimeout: 500
+ CDSDeleteRequestProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSDeleteSubscriptionRequestEvent
+ requestorMode: true
+ requestorPeer: CDSDeleteRequestConsumer
+ requestorTimeout: 500
+ CDSReplyProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
+ httpMethod: POST
+ restRequestTimeout: 2000
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSResponseStatusEvent \ No newline at end of file