When running the instructions from our Run wiki page, still errors can happenedhappen. This page will try to address some common issues we have seen that could help to successfully run all components.
...
In order to collect logs from each service a docker container you can use the following command:
...
Below there is a list with the container names follow by the log path, to replace the values in the command above. The container names correspond to the names used in the example Run page, to double check that the you are using the same names in your environment, you could use docker ps
.
sdnc_container
="/opt/opendaylight/data/log/karaf.log"
policy-agent-containera1policymanagmentservice
="/var/log/policy-agent/application.log"
nonrtric-control-panel
="/logs/nonrtric-controlpanel.log"
nonrtric-gateway
="/var/log/nonrtric-gateway/application.log"
...
The below command can be used to check if there is any error in the logs, in this case for me policy-agent-container, but it could be check for every other container. For the a1policymanagmentservice
container you can check the log using the following. Other containers can be checked in a similar way.
Code Block | ||||
---|---|---|---|---|
| ||||
docker exec policy-agent-containera1policymanagmentservice grep ERR /var/log/policy-agent/application.log |
Warning Warnings can be also checked, using WARN
instead or ERR
in the command above.
Did SDNC started correctly?
If using A1 controllerA1 Controller (SDNC & A1 Adapter), SDNC should be usedstarted. Specifically, mariadb
and sdnc_image
must have started correctly.
Check MariaDB container
If you can see the following message in the logs for DB container:
Code Block | ||||
---|---|---|---|---|
| ||||
sdnc_db_container | 2021-10-28 14:39:34+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' sdnc_db_container | 2021-10-28 14:39:34+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.5.12+maria~focal started. sdnc_db_container | 2021-10-28 14:39:35+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified sdnc_db_container | You need to specify one of MARIADB_ROOT_PASSWORD, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD and MARIADB_RANDOM_ROOT_PASSWORD sdnc_db_container exited with code 1 |
You probably are missing vaues values for MARIADB_ROOT_PASSWORD
, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD
and MARIADB_RANDOM_ROOT_PASSWORD
. These values must be provided in order for docker compose to work correctly. You can use following values:
...
Check SDNC logs
Logs from sdnc_controller
container can be found in /opt/opendaylight/data/log/karaf.log
directory from the sdnc_controller
container. To collect the logs, the following command can be used:
...
Log will be store in current directory with the name karaf_log.log.
Once we get the logs, we can verify if there is any error.
If there is any error in SDNC you can contact CCSDK/SDNC team for help.
Did
...
A1 Policy Management Service start correctly?
Volume not mounted properly
The A1 Policy Management Service is unlikely to operate as expected if its configuration files (volumes) are not loaded/mounted correctly.
For example:
2021-10-29 07:23:04.878 DEBUG 1 --- [ parallel-2] o.o.c.o.a.dmaap.DmaapMessageConsumer : InfiniteFlux.onRequest 1
2021-10-29 07:23:04.879 DEBUG 1 --- [ parallel-2] o.o.c.o.a.dmaap.DmaapMessageConsumer : fetchFromDmaap, no action DMAAP not configured
To be sure that the configuration file was mount mounted properly execute the follow command:
Code Block | ||||
---|---|---|---|---|
| ||||
$ docker inspect -f '{{ json .Mounts }}' policy-agent-containera1policymanagmentservice | jq |
The output below shows when the file was not properly incorrectly mounted:
[
{
"Type": "volume",
"Name": "f85d0d2c9c11dc9cd9cb20e6658711442fbd326ac8805ba2e5aa77d1c80af785",
"Source": "/var/lib/docker/volumes/f85d0d2c9c11dc9cd9cb20e6658711442fbd326ac8805ba2e5aa77d1c80af785/_data",
"Destination": ":/opt/app/policy-agent/data/application_configuration.json",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
When the file is mount mounted correctly the output must look like thissimilar to the following:
Code Block | ||||
---|---|---|---|---|
| ||||
$ docker inspect -f '{{ json .Mounts }}' policy-agent-containera1policymanagmentservice | jq |
[
{
"Type": "bind",
"Source": "/home/ychacon/repo/onap/ccsdk/oran/a1-policy-management/config/application_configuration.json",
"Destination": "/opt/app/policy-agent/data/application_configuration.json",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
where the source should specify the absolute path of the file, which should be recognizable for your environment.
Cannot establish connection with RIC/Simulator
If when running PMS, output below is shown, there are some things that you can try:A1 Policy Management Service you see log warning like those below, this indicates that the configured 'ric's cannot be contacted.
Code Block | ||||
---|---|---|---|---|
| ||||
2021-10-29 07:33:06.134 WARN 1 --- [or-http-epoll-1] o.o.c.o.a.clients.A1ClientFactory : Could not get protocol version from Near-RT RIC: ric3 2021-10-29 07:33:06.139 WARN 1 --- [or-http-epoll-1] o.o.c.o.a.tasks.RefreshConfigTask : Failed to synchronize types in new RIC: ric3, reason: Protocol negotiation failed for ric3 2021-10-29 07:33:06.154 WARN 1 --- [or-http-epoll-1] o.o.c.o.a.clients.A1ClientFactory : Could not get protocol version from Near-RT RIC: ric4 2021-10-29 07:33:06.154 WARN 1 --- [or-http-epoll-1] o.o.c.o.a.tasks.RefreshConfigTask : Failed to synchronize types in new RIC: ric4, reason: Protocol negotiation failed for ric4 reactor.core.Exceptions$ErrorCallbackNotImplemented: org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException: Protocol negotiation failed for ric1 Caused by: org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException: Protocol negotiation failed for ric1 |
- Check that all container containers are running in same network?
- You can use following command to check:
Code Block | ||||
---|---|---|---|---|
| ||||
docker network inspect -f '{{ range $key, $value := .Containers }}{{printf "%s: %s\n" $key .Name}}{{ end }}' nonrtric-docker-net |
- Check that the
sdnc_controller
container is on networknonrtric-docker-net
, and if not use:
Code Block | ||||
---|---|---|---|---|
| ||||
docker network connect nonrtric-docker-net sdnc_controller |
- Then restart PMS the A1 Policy Management Service and try again.