This is an example of how to run an ONAP sdnc-image with a minimal setup with SDN-R configuration with docker-compose. With this deployment you are able run the ODLUX gui within the SDNC which is then reachable on http://localhost:8080/odlux/index.html.
Prerequisites
- vm (4 vCPU/ 4 gig RAM/ 40Gig HDD)
- ubuntu (e.g. Ubuntu server 20.04.2 LTS)
- docker
- docker-compose (v2 recommended)
Deployment
So we have only 2 files in our directory. The docker-compose.yml itself and the .env file for storing all parameters we may like to change.
docker-compose.yml (minimal):
Code Block |
---|
version: '3' services:services: sdnc-web: image: ${SDNC_WEB_IMAGE} container_name: sdnc-web ports: - 8080:8080 environment: - SDNRHOST=sdnr depends_on: sdnr: condition: service_healthy healthcheck: test: "curl --silent --fail http://localhost:8080/ready > /dev/null || exit 1" interval: 10s timeout: 10s retries: 45 sdnr: image: ${SDNC_IMAGE} container_name: sdnr ports: - 8181:8181 environment: - A1_ADAPTER_NORTHBOUND=false - CCSDK_REPLICAS=0 - DOMAIN="" - ENABLE_OAUTH=false - ENABLE_ODL_CLUSTER=false - ODL_ADMIN_PASSWORD=${ADMIN_PASSWORD} - SDNC_REPLICAS=0 - SDNRDBURL=http://sdnrdb:9200 - SDNRDM=false - SDNRINIT=true - SDNRONLY=true - SDNRWT=true - SDNR_NETCONF_CALLHOME_ENABLED=true - JAVA_OPTS=-Xms256m -Xmx4g healthcheck: test: [ "CMD", "wget", "-nv", "-t1", "--spider", "http://localhost:8181/ready" ] interval: 10s timeout: 10s retries: 45 depends_on: - sdnrdb sdnrdb: image: ${SDNRDB_IMAGE} container_name: sdnrdb environment: - discovery.type=single-node |
.env file:
Code Block |
---|
SDNC_IMAGE=nexus3.onap.org:10001/onap/sdnc-image:2.6.1 SDNC_WEB_IMAGE=nexus3.onap.org:10001/onap/sdnc-web-image:latest2.6.1 ADMIN_PASSWORD=admin SDNRDB_IMAGE=docker.elastic.co/elasticsearch/elasticsearch-oss:7.9.3 |
The sdnc image version (here latest) you can choose from this list here: https://nexus3.onap.org:10001/v2/onap/sdnc-image/tags/list.
version | ONAP release name | odl-base |
---|---|---|
2.8.X | Oslo | potassium-sr2 |
2.7.X | - | |
2.6.X | Montreal | argon-sr2 |
2.5.X | London | chlorine |
2.4.X | Kohn | sulfur |
2.3.X | Jakarta | phosphorus |
2.2.X | Istanbul | silicon-SR1 |
2.1.X | Honolulu | aluminium-SR1/3 |
2.0.X | Guilin | sodium-SR3/4 |
1.8.X | Frankfurt | |
1.7.X | El Alto |
So after you started this deployment with
Code Block |
---|
$ docker-compose up -d /docker compose up -d (depends on your docker compose version) |
you should be able to access the ODLUX gui via you webbrowser on http://localhost:81818080/odlux/index.html. Login credentials are username "admin" and password the one you have in your .env file, so by default also "admin".
Troubleshooting
Problem: docker container is crashing
...
Code Block |
---|
$ curl -v http://localhost:8181/ready
$ curl -v http://localhost:8080/ready |
both should return response code 200
...
If this does not return a 200 something is wrong on the sdnc or sdnc-web side so you have to follow step 2. If it returns 200 and odlux is still not reachable also go to step 2.
...
Code Block |
---|
featuresBoot = 3a3f1168-5df1-4fcc-a03f-6253067eaa1a,odl-restconf-all,odl-netconf-topology,odl-mdsal-all,odl-mdsal-apidocs,odl-daexim-all,odl-restconf-nb-rfc8040,sdnr-wt-feature-aggregator-devicemanager-base,sdnr-wt-feature-aggregator-devicemanager,sdnr-wt-helpserver-feature,sdnr-wt-odlux-core-feature,sdnr-wt-odlux-apps-feature
featuresBootAsynchronous=false |
...