When running the instructions from our Run wiki page, still errors can happened. This page will try to address some common issues we have seen that could help to successfully run all components.
Did SDNC started correctly?
If using A1 controller, SDNC should be used. Specifically, mariadb and sdnc_image must started correctly.
Check MariaDB container
If you can see the following message in the logs for DB container:
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 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:
export MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-mySecretPassword} export MYSQL_USER=${MYSQL_USER:-sdnc} export MYSQL_PASSWORD=${MYSQL_PASSWORD:-test123} export MYSQL_DATABASE=${MYSQL_DATABASE:-sdncdb} export ODL_USER=${ODL_USER:-admin} export ODL_PASSWORD=${ODL_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
To be sure that the container is up and running correctly, following message must be seen in the console:
sdnc_db_container | 2021-10-28 14:43:56 0 [Note] mysqld: ready for connections.
Check SDNC container
Make sure the following message has appear in the console of the docker-compose before continue the rest of the wiki page:
sdnc_controller | Apache Karaf starting up. Press Enter to open the shell now... 100% [========================================================================] sdnc_controller | sdnc_controller | Karaf started in 0s. Bundle stats: 19 active, 19 total sdnc_controller | Certificate installation in progress. Elapsed time - 10 secs. Waiting for 10 secs before checking the status.. sdnc_controller | Certificate installation in progress. Elapsed time - 20 secs. Waiting for 10 secs before checking the status.. sdnc_controller | Certificate installation in progress. Elapsed time - 30 secs. Waiting for 10 secs before checking the status.. sdnc_controller | Start cert provisioning. Log file: /opt/opendaylight/current/data/log/installCerts.log sdnc_controller | Certificate installation script completed execution sdnc_controller | Everything OK in Certificate Installation
Did PSM started correctly?
Volume not mounted properly
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 properly execute the follow command:
$ docker inspect -f '{{ json .Mounts }}' policy-agent-container | jq
The output below shows when the file was not properly 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 correctly the output must look like this:
$ docker inspect -f '{{ json .Mounts }}' policy-agent-container | 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.
Cannot establish connection with RIC
If when running PMS output below is shown, there are some things that we can try:
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 are running in same network?
You can use following command to check:
docker network inspect -f '{{ range $key, $value := .Containers }}{{printf "%s: %s\n" $key .Name}}{{ end }}' nonrtric-docker-net
- Check that sdnc_controller is on network nonrtric-docker-net if not use:
docker network connect nonrtric-docker-net sdnc_controller
- Then restart PMS and try again.