...
As part of Core NF Simulators setup, here is the link which gives the design time insights of Core NF Simulators. (Ref: Core-NF-Simulator).
Prerequisites:
VES Collector:
Core NF Simulator uses VES-evelJavaLibrary to send FileReady notification event to VES-Collector. VES-agent communicates to the collector by HTTP only, So in your ONAP environment, one has to enable HTTP connection for VES-collector. As of Istanbul, VES collector is enabled and if not in your environment, you can enable it either by followint the blueprint method by running the mentioned as below(reference link https://docs.onap.org/projects/onap-dcaegen2/en/frankfurt/sections/services/ves-http/installation.html)
...
, or the HELM method which is the go forward method as of Istanbul.
- Execute into Bootstrap POD using kubectl command, then VES blueprint is available under /blueprints directory
k8s-ves.yaml
. A corresponding input file is also pre-loaded into the bootstrap pod under /inputs/k8s-ves-inputs.yaml - Deploy blueprint
- $ >> cfy install -b ves-http -d ves-http -i /inputs/k8s-ves-inputs.yaml /blueprints/k8s-ves.yaml
- Execute into Bootstrap POD using kubectl command, then VES blueprint is available under /blueprints directory
Fixing the upf simulator:
The upf simulator in the docker registry for lttscoresimulator does not work. The amf and smf functions were updated to version 1.5, upf remained at 1.3 and was not updated, and does not work "out of the box". However the version available can be pulled to a local host, edited, and served locally using docker registry, and tagged as version 1.5.
Edits to the upf-simulator container image:
- Use docker pull to grab a copy of the upf-simulator version 1.3
- Use docker save -o ~/Downloads/upf-siumlaotr_v1.3.tgz lttscoresimulators/upf_simulator:v1.3
- Make these edits to the code:
- AT the top level there is a repositories file. You will need to add the path to your repository. This is the localhost tag, and the long string that appears after you launch your Docker registry. For example, {"localhost:5000/lttscoresimulators/upf_simulator":{"v1.5":"ef0368aae6b2b32910ff97cb0095b4b98463c8f444a2abf1ba2c6c9c27a11692"}}
- There is an archive in the image file that's ~75kb in size, and should contain a Code, and Config folder. Several files need to be edited.
- In the application-config.py file change line 38 from self.config_file = '/etc/config/supportedNssai.json to self.config_file = '/etc/config/upf-conf/supportedNssai.json
- The file is missing a path to the granularity period configuration. Add this text after the dcae_collector_port_file_path, self.granularity_period_file_path = '/etc/config/upf-conf/granularity_period.txt'
- In the sftp_config.sh file, comment out with a "#" everything below "service ssh restart"
- Once you have your docker image file updated and ready to be published in your local registry, use the docker load command to load it into your local image repository. Do not use the docker import command.
- Tag it as per the docker registry instructions as pre-ceded with localhost:5000, version 1.5, then push it push it using docker push, delete your local image using docker rm, then pull it using docker pull to make sure it work and the image is in your repository and thus in the registry.,
Edit the upf Helm Chart from the downloaded versions below:
In the templates folder, deployments.yaml file, change the mount path for the config-volume in the spec section from /etc/config/ to /etc/config/upf-conf. This will align the Helm based deployment to the specifications in the code above for application configurations and ensure they are placed in the correct location on your pod.
In the same folder, the configmap.yaml file should have the json mapping for the supported snssai at the bottom the JSON code in this code block. This also needs to be done for the amf, and smf configmap.yaml charts as well.
Code Block | ||
---|---|---|
| ||
{
"s-nssai": "{{ .Values.config.supportedNssai.sNssai.snssai }}",
"status": "{{ .Values.config.supportedNssai.sNssai.status }}"
} |
In the values.yaml file, the "Image section needs to reflect that you are now locally hosting the code. Example in the code block below;
Code Block | ||
---|---|---|
| ||
image:
repository: localhost:5000/lttscoresimulators/upf_simulator
tag: v1.5
pullPolicy: IfNotPresent |
Deployment Options:
Core NF Simulators (AMF/SMF/UPF) can be deployed in two ways,
...