diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 74 |
1 files changed, 35 insertions, 39 deletions
@@ -1,14 +1,14 @@ # A1 Policy Enforcement Simulator (A1 PE Simulator) -Simulator that supports the A1-P OSC\_2.1.0 interface also provides internal API to managed the RAN elements (Cells, Ues) and allows to customize and send VES Events. +This simulator supports standard A1-P OSC\_2.1.0 interface. In addition, internal APIs are provided to manage the RAN elements (Cells, UEs) and to customize and send VES Events. ## How to use the A1 PE Simulator? ### RAN -A1 PE Simulator needs two main files to define the topology(cells) and user equipments that should be managed (and those cells/ues are used in A1 Policy Enforcement loop). +A1 PE Simulator needs two main files to define the topology (cells) and user equipments that should be managed (those cells/UEs are then used in A1 Policy Enforcement loop). -- doc/resource/cell.json +- doc/resource/cells.json ```json { @@ -60,24 +60,24 @@ A1 PE Simulator needs two main files to define the topology(cells) and user equi ] ``` -Those files location is defined in the *src/main/resources/application.properties*. +The locations of these files are defined in *src/main/resources/application.properties*. -Important: The vnf.config, cells.json, ue.json files should be in the */var/a1pesim/* (default folder location, can be changed). -So copy the content of **doc/resources/** to this location on the host, where simulator will be running. +Important: The vnf.config, cells.json and ue.json files should be under */var/a1pesim/* (default folder location, can be changed). +Copy the content of **doc/resources/** to this location on the host that will be running the simulator. -How to change those default location, see: +To change the default locations, see: - **Run A1 PE Simulator with a new configuration** -How to refresh the content of those files in runtime, see: +To refresh the content of those files on runtime, see: -- **Refresh the configuration files in runtime** +- **Refresh the configuration files on runtime** ### VES -A1 PE Simulator provides REST endpoints that can be used to trigger sending VES events to e.q DMaaP topic via VES-COLLECTOR (DCAE MS). +A1 PE Simulator provides REST endpoints that can be used to trigger sending of VES events to DMaaP topic via VES-COLLECTOR (DCAE MS). -The file **vnf.config** provides the connectivity configuration like also the sourceId, sourceName values that will be added to the commonEventHeader: +The file **vnf.config** provides the connectivity configuration as well as some commonEventHeader default values (like sourceId and sourceName): ``` vesHost=vesconsumer @@ -105,9 +105,9 @@ vnfName=ibcx0001vm002ssc001 } ``` -Cells can seed two types of VES events **normal** and **failure**. -In both cases the VES events values are mostly the same. -Is only one distinction, the *measurementFields.additionalMeasurements.latency/throughput* values are generated by using different algorithms. +Cells can send two types of VES events: **normal** and **failure**. +In both cases the VES event values are mostly the same; +the only difference is that *measurementFields.additionalMeasurements.latency/throughput* values are generated by using different algorithms. - for normal VES Events @@ -165,12 +165,12 @@ Is only one distinction, the *measurementFields.additionalMeasurements.latency/t ### A1-P Mediator API -The A1 Mediator listens on the northbound interface of the RIC for policy guidance. -The caller (e.g., non RT RIC, SMO, etc.) creates policy types and policy instances through A1, and subsequently A1 exchanges messages with xApps via RMR. +The A1 Mediator listens to the northbound interface of the RIC for policy guidance. +The caller (e.g., non-RT RIC, SMO, etc.) creates policy types and policy instances through A1, and subsequently A1 exchanges messages with xApps via RMR. #### Policy Type -Example schema (use in Policy Enforcement PoC): +Example schema (used in Policy Enforcement PoC): ```json { @@ -238,7 +238,7 @@ Example schema (use in Policy Enforcement PoC): } ``` -To create the policy type, the proper request, can be sent: +Required policy type can be created as follows: ``` curl -X PUT -v -H "accept: application/json" -H "Content-Type: application/json" --data-binary @/tmp/policy_type.json localhost:9998/v1/a1-p/policytypes/1000 @@ -247,11 +247,11 @@ curl -X PUT -v -H "accept: application/json" -H "Content-Type: application/json" where: - @/tmp/policy_type.json file with policy schema -- localhost:9998/v1/a1-p/policytypes/${policy_type_id} - policy type ID use to create the policy instance +- localhost:9998/v1/a1-p/policytypes/${policy_type_id} - policy type ID (defined by client) used to create the policy type #### Create/Delete Policy Instance -Create new/Update example policy instance request: +Create/update example policy instance request for given policy type: ``` curl --location --request PUT 'http://localhost:9998/a1-p/policytypes/1000/policies/1' \ @@ -271,9 +271,9 @@ curl --location --request PUT 'http://localhost:9998/a1-p/policytypes/1000/polic where: -- localhost:9998/a1-p/policytypes/${policy_type_id}/policies/${policy_instance_id} - id of the policy instance to create +- localhost:9998/a1-p/policytypes/${policy_type_id}/policies/${policy_instance_id} - policy instance ID (defined by client) used to create the policy instance -Delete the policy instance request: +Delete the policy instance request of a given policy type: ``` curl --location --request DELETE 'http://localhost:9998/a1-p/policytypes/1000/policies/1' @@ -281,17 +281,17 @@ curl --location --request DELETE 'http://localhost:9998/a1-p/policytypes/1000/po ### Run A1 PE Simulator with a new configuration -A1 PE Simulator uses the properties to define the: +A1 PE Simulator uses the properties to define the following: -- File location for vnf.config, cells.json, ue.json -- VES consumer supported protocol and endpoint (e.q for VES-Collector) +- File locations of vnf.config, cells.json, ue.json files +- VES consumer's supported protocol and endpoint (e.g. for VES-Collector) - Cell range -- VES sending default interval +- Default VES event sending interval - Version of the A1 PE Simulator API -To see the default see (src/main/resources/application.properties) +See (src/main/resources/application.properties) for default values. -To override those values one of the options can be used: +The default values can be overridden in multiple ways: #### 1. By defining the OS env variables @@ -305,7 +305,7 @@ To override those values one of the options can be used: #### 2. By adding the process arguments -Add the -D flag the running command: +Add -D flag to the execution command: - "-Dvnf.config.file=" - "-Dtopology.cell.config.file=" @@ -315,17 +315,17 @@ Add the -D flag the running command: - "-Dves.defaultinterval=" - "-Drestapi.version=" -When running with -Dspring.profiles.active=dev default values for **vnf.config.file**, **topology.cell.config.file** and **topology.ue.config.file** are setup to use the example files from *src/test/resources/* +When running with -Dspring.profiles.active=dev default values for **vnf.config.file**, **topology.cell.config.file** and **topology.ue.config.file** are set to use the example files from *src/test/resources/* -### Refresh the configuration files in runtime +### Refresh the configuration files on runtime -When the content of cells.json, use.json will be changed, the user should send a request to notify the server about this change and A1 PE Simulator will reload those files: +If the contents of cells.json or ue.json are changed, the user should send a request to A1 PE Simulator to reload those files: ``` curl --location --request GET 'http://localhost:9998/v1/ran/refresh' ``` -Also, A1 PE Simulator automatically refreshes the topology/ues information from those file in defined time interval: +Also, A1 PE Simulator automatically refreshes the topology/ues information from those files in defined time interval: **refresher.fixed.rate.ms=60000** @@ -336,8 +336,8 @@ The API is documented by the Swagger tool. ## Swagger The generated swagger html file can be found in *doc/swagger/html* directory. -JSON file that can be e.q import to Swagger GUI can be found in *doc/swagger*. -Those files are regenerate each maven build. So to generate this file please see **Build the A1 PE Simulator** chapter. +JSON file that can be imported to Swagger GUI can be found in *doc/swagger*. +Those files are regenerated in each maven build, so to generate this file please see **Build the A1 PE Simulator** chapter. # Developer Guide @@ -375,7 +375,3 @@ After the A1 PE Simulator starts successfully the */path_to_dir.log* should star │ └── metrics-2021-03-15.0.log └── debug-2021-03-15.0.log ``` - -# Dockerized the A1 PE Simulator - -... |