aboutsummaryrefslogtreecommitdiffstats
path: root/sanitycheck
diff options
context:
space:
mode:
Diffstat (limited to 'sanitycheck')
-rw-r--r--sanitycheck/events/vesAddressConfiguration.json2
-rw-r--r--sanitycheck/pnfsimulator-secured/Makefile57
-rw-r--r--sanitycheck/pnfsimulator-secured/README.md237
-rw-r--r--sanitycheck/pnfsimulator-secured/certman/Makefile8
-rw-r--r--sanitycheck/pnfsimulator-secured/certman/README.md91
-rw-r--r--sanitycheck/pnfsimulator-secured/certman/docker-compose.yml (renamed from sanitycheck/pnfsimulator-secured/docker-compose-certman.yml)8
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/Makefile56
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/README.md81
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-clients.yml28
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-ejbca.yml47
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/docker-compose-pnfsim.yml61
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/docker-compose-ves-dmaap.yml33
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/resources/certs/Makefile (renamed from sanitycheck/pnfsimulator-secured/certservice/certs/Makefile)0
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/resources/certservice-client/client-configuration-for-pnfsim.env (renamed from sanitycheck/pnfsimulator-secured/certservice/client-resources/client-configuration.env)0
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/resources/certservice-client/client-configuration-for-ves.env19
-rw-r--r--sanitycheck/pnfsimulator-secured/certservice/resources/certservice/cmpServers.json (renamed from sanitycheck/pnfsimulator-secured/certservice/certservice-resources/cmpServers.json)4
-rwxr-xr-xsanitycheck/pnfsimulator-secured/certservice/resources/ejbca/ejbca-configuration.sh (renamed from sanitycheck/pnfsimulator-secured/certservice/ejbca-resources/ejbca-configuration.sh)0
-rw-r--r--sanitycheck/pnfsimulator-secured/docker-compose-certservice.yml93
-rw-r--r--sanitycheck/pnfsimulator-secured/docker-compose-ves.yml25
19 files changed, 437 insertions, 413 deletions
diff --git a/sanitycheck/events/vesAddressConfiguration.json b/sanitycheck/events/vesAddressConfiguration.json
index 9c6aa22..ad4e3df 100644
--- a/sanitycheck/events/vesAddressConfiguration.json
+++ b/sanitycheck/events/vesAddressConfiguration.json
@@ -1,3 +1,3 @@
{
- "vesServerUrl": "http://172.17.0.1:8080/eventListener/v7"
+ "vesServerUrl": "https://ves:8443/eventListener/v7"
}
diff --git a/sanitycheck/pnfsimulator-secured/Makefile b/sanitycheck/pnfsimulator-secured/Makefile
deleted file mode 100644
index 3783fbe..0000000
--- a/sanitycheck/pnfsimulator-secured/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-default:
- @echo "There is no default target. Use: make <specific_target>"
-
-start-ejbca: --run-ejbca-container --wait-for-ejbca --configure-ejbca
-
-start-pnfsim-with-certservice-certs: --create-certservice-internal-certs --create-client-volume --run-certservice-and-pnfsim-containers
-
-start-local-secured-ves:
- docker-compose -f docker-compose-ves.yml up
-
-start-pnfsim-with-certman-certs:
- docker-compose -f docker-compose-certman.yml up
-
-clean-pnfsim-with-certman-setup:
- docker-compose -f docker-compose-certman.yml down
-
-clean-pnfsim-with-certservice-setup: --clean-certservice-internal-certs --clean-client-volume
- docker rm -f oomcert-ejbca || true
- docker-compose -f docker-compose-certservice.yml down
- docker-compose -f docker-compose-ves.yml down
-
---run-ejbca-container:
- docker run \
- -d \
- --rm \
- --name oomcert-ejbca \
- --hostname cahostname \
- -p 80:8080 \
- -p 443:8443 \
- --volume `pwd`/certservice/ejbca-resources/ejbca-configuration.sh:/opt/primekey/scripts/ejbca-configuration.sh \
- --health-cmd "curl -kI https://localhost:8443/ejbca/publicweb/healthcheck/ejbcahealth" \
- --health-interval 10s \
- --health-timeout 3s \
- --health-retries 15 \
- primekey/ejbca-ce:6.15.2.5
-
---configure-ejbca:
- docker exec oomcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh
-
---create-client-volume:
- mkdir -p ./certservice/client-resources/client-volume -m 777
-
---run-certservice-and-pnfsim-containers:
- docker-compose -f docker-compose-certservice.yml up
-
---create-certservice-internal-certs:
- make -C certservice/certs all
-
---clean-certservice-internal-certs:
- make -C certservice/certs clear
-
---clean-client-volume:
- rm -rf certservice/client-resources/client-volume
-
---wait-for-ejbca:
- @echo 'Waiting for EJBCA...'
- until docker container inspect oomcert-ejbca | grep '"Status": "healthy"'; do sleep 3; done
diff --git a/sanitycheck/pnfsimulator-secured/README.md b/sanitycheck/pnfsimulator-secured/README.md
index 6a2cb37..3acaf1c 100644
--- a/sanitycheck/pnfsimulator-secured/README.md
+++ b/sanitycheck/pnfsimulator-secured/README.md
@@ -1,236 +1,11 @@
-Standalone PNF Simulator configuration for HTTPS communication to VES
+Standalone PNF Simulator configuration for HTTPS communication with VES
------------------------
-### General description
+This directory contains files for secured PNF Simulator deployments, which will use certificates for HTTPS communication with VES.
-Makefile in sanitycheck/pnfsimulator-secured is an interface for deployment of PNF simulator with fetching certs from
-chosen source.
-
-Makefile offers functionalities that allows to:
-
- * Run PNF simulator with fetching certs from AAF Certman
- * Run PNF simulator with fetching certs from OOM Certservice (CMPv2)
-
-## Fetching from AAF Certman
-### Description
-
-docker-compose-certman.yml prepares PNF simulator container for HTTPS communication with VES.
-
-When docker-compose starts certs-init container fills connected volume with certificates, truststores, keystores,
-passwords etc. Next pnf-simulator container starts and connects to the same volume. On startup it should read password
-values from proper files and set them in system environment variables. With these variables and files in volume
-application is ready to work on HTTPS.
-
-### Prerequisites
-
-1. certs-init container works with external AAF on cloud. Due to that fact it must have set correct IPs to workers that
-has access to AAF. In docker-compose.yml fields with mentioned IPs are:
-
- * aaf-locate.onap
- * aaf-cm.onap
- * aaf-service.onap
-
-### Start
-
-**ATTENTION**
-
-Proper IPs to AAF must be set in the docker-compose-certman.yml before start (as described in prerequisites)!
-
-```
-make start-pnfsim-with-certman-certs
-```
-
-### Send event
-
-**ATTENTION**
-
-``sanitycheck/events/eventToVes.json`` file which is request for sending event to VES must have correct ``vesServerURL``
-field before sending event.
-IP of ``vesServerURL`` should be the same as given in docker-compose-certman.yml in ``aaf-locate.onap`` field.
-To use secured connection remember about setting protocol to https:// and port to proper secured port of VES.
-
-To send event from PNF simulator to VES use this command from ``pnf-simulator/sanitycheck`` directory:
-
-````
-make generate-event
-````
-
-Sample ``sanitycheck/events/eventToVes.json`` file content is:
-
-```json
-{
- "vesServerUrl": "https://10.183.35.177:30417/eventListener/v7",
- "event": {
- "event": {
- "commonEventHeader": {
- "version": "4.0.1",
- "vesEventListenerVersion": "7.0.1",
- "domain": "fault",
- "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion",
- "eventId": "fault0000245",
- "sequence": 1,
- "priority": "High",
- "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
- "reportingEntityName": "ibcx0001vm002oam001",
- "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
- "sourceName": "scfx0001vm002cap001",
- "nfVendorName": "Ericsson",
- "nfNamingCode": "scfx",
- "nfcNamingCode": "ssc",
- "startEpochMicrosec": 1413378172000000,
- "lastEpochMicrosec": 1413378172000000,
- "timeZoneOffset": "UTC-05:30"
- },
- "faultFields": {
- "faultFieldsVersion": "4.0",
- "alarmCondition": "PilotNumberPoolExhaustion",
- "eventSourceType": "other",
- "specificProblem": "Calls cannot complete - pilot numbers are unavailable",
- "eventSeverity": "CRITICAL",
- "vfStatus": "Active",
- "alarmAdditionalInformation": {
- "PilotNumberPoolSize": "1000"
- }
- }
- }
- }
-}
-```
-
-### Stop
-To remove pnf-simulator containers use:
-```
-make clean-pnfsim-with-certman-setup
-```
-
-## Fetching certificates from OOM Certservice (CMPv2)
-### Description
-
-Running Makefile with Certservice target will start the following flow:
-
-1. Create certificates that will be used for internal communication between Certservice and Certservice-client.
- Generated internal certificates should be present in sanitycheck/pnfsimulator-secured/certservice/certs directory.
-
-2. Run docker-compose-certservice.yml that creates:
-
- 2.1. Certservice container with mounted previously generated certificates.
-
- 2.2. Certservice-client with mounted internal certificates as well. This containers requests Certservice for
- Certificates that will be used by PNF simulator in HTTPS connection. Before closing of container it saves
- these certs in locally mounted volume in
- sanitycheck/pnfsimulator-secured/certservice/client-resources/client-volume
+Currently, there are two ways for PNF Simulator to fetch certificates:
+* Using AAF Certman
+* Using OOM CertService (CMPv2)
- 2.3. PNF simulator that has mounted certificates from client. Before starting the simulator itself, names of certs
- files are changed to fit the PNF simulator configuration.
-
-### Prerequisites
-
-
-##### EJBCA configuration
-Certservice container will try to connect to EJBCA on docker-compose-certservice.yml startup to fetch certs.
-Whole connection configuration to EJBCA server must be done before start in file
-sanitycheck/pnfsimulator-secured/certservice/certservice-resources/cmpServers.json.
-
-EJBCA might be deployed locally or externally. Described in this README Makefile has a target that runs configured EJBCA
-container locally. To run that target use:
-
-```
-make start-ejbca
-```
-
-
-Configuration of cmpServers.json for this local EJBCA container should be:
-```json
-{
- "cmpv2Servers": [
- {
- "caName": "Client",
- "url": "http://<docker0_network_ip>:80/ejbca/publicweb/cmp/cmp",
- "issuerDN": "CN=ManagementCA",
- "caMode": "CLIENT",
- "authentication": {
- "iak": "mypassword",
- "rv": "mypassword"
- }
- },
- {
- "caName": "RA",
- "url": "http://<docker0_network_ip>:80/ejbca/publicweb/cmp/cmpRA",
- "issuerDN": "CN=ManagementCA",
- "caMode": "RA",
- "authentication": {
- "iak": "mypassword",
- "rv": "mypassword"
- }
- }
- ]
-}
-```
-``docker0_network_ip`` might be found when running `ifconfig docker0` next to `inet` field.
-
-### Start
-
-**ATTENTION**
-
-Remember that before starting certservice, the EJBCA server must run, be properly configured and
-sanitycheck/pnfsimulator-secured/certservice/certservice-resources/cmpServers.json must be set correctly.
-
-For more info read _prerequisites_ section.
-
-```
-make start-pnfsim-with-certservice-certs
-```
-
-### Send event
-
-##### VES collector
-
-Destination VES collector should use certificate generated from the same CMPv2 server for successful HTTPS
-communication. There is local deployment of VES (with DMAAP simulator) to be used from Makefile that
-uses certificates generated by the same CMPv2 server as PNF simulator uses.
-
-##### VES collector local deployment prerequisites
-
-By default the image of VES from Nexus supports only HTTP communication. Local image with enabled HTTPS must be
-build to use local VES as PNF simulator destination.
-
-1. Pull VES repository
-2. In `<VES_PROJECT_ROOT>/etc/collector.properties` file set field `auth.method=certBasicAuth`
-3. Build local image: `mvn clean install docker:build` from VES project root directory.
-
-VES deployment from Makefile uses also DMAAP simulator. Its image should be built locally as well.
-1. Go to `sanitycheck/dmaap-simulator` directory
-2. Run: `make build`
-
-If you want to use that VES + DMAAP simulator deployment enter:
-```
-make start-local-secured-ves
-```
-
-**ATTENTION**
-
-Before sending an event to VES, the correct VES server URL must be passed to
-``sanitycheck/events/vesAddressConfiguration.json`` file in field ``vesServerURL``.
-
-For local VES, `vesServerURL` should have value: ``https://<docker0_network_ip>:8444/eventListener/v7``.
-``docker0_network_ip`` might be found when running `ifconfig docker0` next to `inet` field.
-
-To reconfigure PNF simulator to use
-new URL use this command from ``pnf-simulator/sanitycheck`` directory:
-```
-make reconfigure-ves-url
-```
-
-
-To send event from PNF simulator to VES use this command from ``pnf-simulator/sanitycheck`` directory:
-
-```
-make generate-event
-```
-
-### Stop
+Both ways are described in `certman` and `certservice` directories respectively
-To clean all generated certificates, remove pnf-simulator, certservice, ejbca and ves containers use:
-```
-make clean-pnfsim-with-certservice-certs
-``` \ No newline at end of file
diff --git a/sanitycheck/pnfsimulator-secured/certman/Makefile b/sanitycheck/pnfsimulator-secured/certman/Makefile
new file mode 100644
index 0000000..b46efda
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certman/Makefile
@@ -0,0 +1,8 @@
+default:
+ @echo "There is no default target. Use: make <specific_target>"
+
+start-pnfsim:
+ docker-compose -f docker-compose.yml up
+
+clean-pnfsim:
+ docker-compose -f docker-compose.yml down
diff --git a/sanitycheck/pnfsimulator-secured/certman/README.md b/sanitycheck/pnfsimulator-secured/certman/README.md
new file mode 100644
index 0000000..c0bab32
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certman/README.md
@@ -0,0 +1,91 @@
+## Fetching from AAF Certman
+This readme describes how to run PNF Simulator with certificates fetched using AAF Certman
+
+### Description
+
+docker-compose.yml prepares PNF simulator container for HTTPS communication with VES.
+
+When docker-compose starts certs-init container fills connected volume with certificates, truststores, keystores,
+passwords etc. Next pnf-simulator container starts and connects to the same volume. On startup it should read password
+values from proper files and set them in system environment variables. With these variables and files in volume
+application is ready to work on HTTPS.
+
+### Prerequisites
+
+certs-init container works with external AAF on cloud. Due to that fact it must have set correct IPs to workers that
+has access to AAF. In docker-compose.yml fields with mentioned IPs are:
+
+ * aaf-locate.onap
+ * aaf-cm.onap
+ * aaf-service.onap
+
+### Start
+
+Run PNF Simulator:
+
+```
+make start-pnfsim
+```
+
+### Send event
+
+**ATTENTION**
+
+``sanitycheck/events/eventToVes.json`` file which is request for sending event to VES must have correct ``vesServerURL``
+field before sending event.
+IP of ``vesServerURL`` should be the same as given in docker-compose-certman.yml in ``aaf-locate.onap`` field.
+To use secured connection remember about setting protocol to https:// and port to proper secured port of VES.
+
+To send event from PNF simulator to VES use this command from ``pnf-simulator/sanitycheck`` directory:
+
+````
+make generate-event
+````
+
+Sample ``sanitycheck/events/eventToVes.json`` file content is:
+
+```json
+{
+ "vesServerUrl": "https://10.183.35.177:30417/eventListener/v7",
+ "event": {
+ "event": {
+ "commonEventHeader": {
+ "version": "4.0.1",
+ "vesEventListenerVersion": "7.0.1",
+ "domain": "fault",
+ "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion",
+ "eventId": "fault0000245",
+ "sequence": 1,
+ "priority": "High",
+ "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
+ "reportingEntityName": "ibcx0001vm002oam001",
+ "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
+ "sourceName": "scfx0001vm002cap001",
+ "nfVendorName": "Ericsson",
+ "nfNamingCode": "scfx",
+ "nfcNamingCode": "ssc",
+ "startEpochMicrosec": 1413378172000000,
+ "lastEpochMicrosec": 1413378172000000,
+ "timeZoneOffset": "UTC-05:30"
+ },
+ "faultFields": {
+ "faultFieldsVersion": "4.0",
+ "alarmCondition": "PilotNumberPoolExhaustion",
+ "eventSourceType": "other",
+ "specificProblem": "Calls cannot complete - pilot numbers are unavailable",
+ "eventSeverity": "CRITICAL",
+ "vfStatus": "Active",
+ "alarmAdditionalInformation": {
+ "PilotNumberPoolSize": "1000"
+ }
+ }
+ }
+ }
+}
+```
+
+### Stop
+To remove pnf-simulator containers use:
+```
+make clean-pnfsim
+```
diff --git a/sanitycheck/pnfsimulator-secured/docker-compose-certman.yml b/sanitycheck/pnfsimulator-secured/certman/docker-compose.yml
index e20f78d..5b40a09 100644
--- a/sanitycheck/pnfsimulator-secured/docker-compose-certman.yml
+++ b/sanitycheck/pnfsimulator-secured/certman/docker-compose.yml
@@ -32,7 +32,7 @@ services:
networks:
- tls-init-network
volumes:
- - ../../pnfsimulator/db:/docker-entrypoint-initdb.d
+ - ../../../pnfsimulator/db:/docker-entrypoint-initdb.d
ports:
- "27017:27017"
@@ -58,9 +58,9 @@ services:
&& java -Dspring.config.location=file:/app/application.properties -cp /app/libs/*:/app/pnf-simulator.jar org.onap.pnfsimulator.Main
"
volumes:
- - ../../pnfsimulator/logs:/var/log
- - ../../pnfsimulator/templates:/app/templates
- - ../../pnfsimulator/src/main/resources/application.properties:/app/application.properties
+ - ../../../pnfsimulator/logs:/var/log
+ - ../../../pnfsimulator/templates:/app/templates
+ - ../../../pnfsimulator/src/main/resources/application.properties:/app/application.properties
- certs-volume:/app/store
networks:
- tls-init-network
diff --git a/sanitycheck/pnfsimulator-secured/certservice/Makefile b/sanitycheck/pnfsimulator-secured/certservice/Makefile
new file mode 100644
index 0000000..aea8477
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certservice/Makefile
@@ -0,0 +1,56 @@
+default:
+ @echo "There is no default target. Use: make <specific_target>"
+
+setup-env: --start-certservice-and-ejbca --run-certservice-clients --start-local-secured-ves
+
+start-pnfsim:
+ docker-compose -f docker-compose-pnfsim.yml up
+
+restart-pnfsim: --clean-pnfsim start-pnfsim
+
+clean-all: --clean-pnfsim --clean-env
+
+
+
+--start-certservice-and-ejbca: --create-certservice-internal-certs --start-certservice-ejbca-containers --configure-ejbca
+
+--start-certservice-ejbca-containers:
+ docker-compose -f docker-compose-certservice-ejbca.yml up -d
+
+--create-certservice-internal-certs:
+ make -C resources/certs all
+
+--configure-ejbca: --wait-for-ejbca --run-ejbca-script
+
+--wait-for-ejbca:
+ @echo 'Waiting for EJBCA... It may take a minute or two'
+ until docker container inspect oomcert-ejbca | grep '"Status": "healthy"'; do sleep 3; done
+
+--run-ejbca-script:
+ docker exec oomcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh
+
+--run-certservice-clients: --create-client-volumes
+ docker-compose -f docker-compose-certservice-clients.yml up -d
+ @echo 'Waiting for client certifiactes...'
+ @until ls -1 ./resources/certservice-client/client-volume-for-pnfsim | grep "store" 1>/dev/null; do sleep 3; done
+ @until ls -1 ./resources/certservice-client/client-volume-for-ves | grep "store" 1>/dev/null; do sleep 3; done
+
+--create-client-volumes:
+ mkdir -p ./resources/certservice-client/client-volume-for-pnfsim -m 777
+ mkdir -p ./resources/certservice-client/client-volume-for-ves -m 777
+
+--start-local-secured-ves:
+ docker-compose -f docker-compose-ves-dmaap.yml up
+
+--clean-pnfsim:
+ docker-compose -f docker-compose-pnfsim.yml down
+ rm -rf ./resources/certservice-client/client-volume-for-pnfsim/cert.p12 || true
+ rm -rf ./resources/certservice-client/client-volume-for-pnfsim/trust.jks || true
+
+--clean-env:
+ docker-compose -f docker-compose-ves-dmaap.yml down
+ docker-compose -f docker-compose-certservice-clients.yml down
+ rm -rf ./resources/certservice-client/client-volume-for-pnfsim || true
+ rm -rf ./resources/certservice-client/client-volume-for-ves || true
+ docker-compose -f docker-compose-certservice-ejbca.yml down
+ make -C resources/certs clear
diff --git a/sanitycheck/pnfsimulator-secured/certservice/README.md b/sanitycheck/pnfsimulator-secured/certservice/README.md
new file mode 100644
index 0000000..16a4793
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certservice/README.md
@@ -0,0 +1,81 @@
+## Fetching certificates from OOM CertService (CMPv2)
+This readme describes how to run PNF Simulator with certificates fetched using OOM CertService (CMPv2)
+
+### Description
+
+Using Makefile in this directory following can be achieved:
+
+* Setup environment for PNF Simulator, i.e.:
+ * Create certificates that will be used for internal communication between CertService and CertService Clients.
+ Generated internal certificates should be present in `resources/certs` directory.
+ * Start and configure EJBCA
+ * Start and configure AAF Cert Service.
+ * Run Cert Service Clients to fetch certificates for VES and PNF Simulator. Certificates will be stored for the components
+in `resources/certservice-client/client-volume-for-ves` and `resources/certservice-client/client-volume-for-pnfsim` accordingly.
+ * Start VES and DMaaP Simulator. Fetched certificates will be mounted to VES.
+
+* Start PNF Simulator. Fetched certificates will be mounted to PNF Simulator.
+* Clean up.
+
+### Prerequisites
+##### VES collector local deployment prerequisites
+
+By default, the image of VES from Nexus supports only HTTP communication. A local image with enabled HTTPS must be
+build to use local VES as PNF simulator destination.
+
+1. Pull VES repository
+2. In `<VES_PROJECT_ROOT>/etc/collector.properties` file set field `auth.method=certBasicAuth`
+3. Build a local image: `mvn clean install docker:build` from VES project root directory.
+
+Local VES deployment uses also DMaaP simulator. Its image should be built locally as well.
+1. Go to `sanitycheck/dmaap-simulator` directory
+2. Run: `make build`
+
+
+
+### Setup environment
+To set up whole environment for PNF Simulator, i.e.:
+- deploy and configure EJBCA
+- deploy Cert Service
+- fetch certificates for VES and PNF Simulator using Cert Service clients
+- run DMaaP Simulator
+- run VES with fetched certificates
+
+execute:
+````
+make setup-env
+````
+Note that this command setups whole environment besides PNF Simulator itself.
+
+## Run PNF Simulator
+To run PNF Simulator execute:
+````
+make start-pnfsim
+````
+This command starts PNF Simulator with certificates fetched using CertService (certificates are fetched in the previous step)
+
+### Send event
+
+Configure PNF simulator to use proper VES URL by executing this command from ``pnf-simulator/sanitycheck`` directory:
+```
+make reconfigure-ves-url
+```
+
+
+Send an event from PNF simulator to VES by executing this command from ``pnf-simulator/sanitycheck`` directory:
+```
+make generate-event
+```
+
+### Restart PNF Simulator
+
+To restart only PNF Simulator execute:
+```
+make restart-pnfsim
+```
+
+### Clean up
+To clean all generated certificates, remove PNF Simulator, CertService, EJBCA, VES and DMaaP Simulator containers:
+```
+make clean-all
+```
diff --git a/sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-clients.yml b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-clients.yml
new file mode 100644
index 0000000..fdfd6c6
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-clients.yml
@@ -0,0 +1,28 @@
+version: "2.1"
+
+networks:
+ onap:
+ external: true
+
+services:
+ oom-cert-client-ves:
+ image: nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.1.0
+ container_name: oomcert-client-for-ves
+ env_file: ./resources/certservice-client/client-configuration-for-ves.env
+ networks:
+ - onap
+ volumes:
+ - ./resources/certservice-client/client-volume-for-ves:/var/certs:rw
+ - ./resources/certs/truststore.jks:/etc/onap/oom/certservice/certs/truststore.jks
+ - ./resources/certs/certServiceClient-keystore.jks:/etc/onap/oom/certservice/certs/certServiceClient-keystore.jks
+
+ oom-cert-client-pnfsim:
+ image: nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.1.0
+ container_name: oomcert-client
+ env_file: ./resources/certservice-client/client-configuration-for-pnfsim.env
+ networks:
+ - onap
+ volumes:
+ - ./resources/certservice-client/client-volume-for-pnfsim:/var/certs:rw
+ - ./resources/certs/truststore.jks:/etc/onap/oom/certservice/certs/truststore.jks
+ - ./resources/certs/certServiceClient-keystore.jks:/etc/onap/oom/certservice/certs/certServiceClient-keystore.jks
diff --git a/sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-ejbca.yml b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-ejbca.yml
new file mode 100644
index 0000000..38b130f
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-certservice-ejbca.yml
@@ -0,0 +1,47 @@
+version: "2.1"
+
+networks:
+ onap:
+ driver: bridge
+ name: onap
+ public:
+ driver: bridge
+ name: public
+
+services:
+ ejbca:
+ image: primekey/ejbca-ce:6.15.2.5
+ hostname: cahostname
+ container_name: oomcert-ejbca
+ ports:
+ - "80:8080"
+ - "443:8443"
+ volumes:
+ - ./resources/ejbca/ejbca-configuration.sh:/opt/primekey/scripts/ejbca-configuration.sh
+ healthcheck:
+ test: [ "CMD-SHELL", "curl -kI https://localhost:8443/ejbca/publicweb/healthcheck/ejbcahealth" ]
+ interval: 10s
+ timeout: 3s
+ retries: 15
+ networks:
+ - onap
+
+ oom-cert-service:
+ image: nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-api:2.1.0
+ volumes:
+ - ./resources/certservice/cmpServers.json:/etc/onap/oom/certservice/cmpServers.json
+ - ./resources/certs/truststore.jks:/etc/onap/oom/certservice/certs/truststore.jks
+ - ./resources/certs/root.crt:/etc/onap/oom/certservice/certs/root.crt
+ - ./resources/certs/certServiceServer-keystore.jks:/etc/onap/oom/certservice/certs/certServiceServer-keystore.jks
+ - ./resources/certs/certServiceServer-keystore.p12:/etc/onap/oom/certservice/certs/certServiceServer-keystore.p12
+ container_name: oomcert-service
+ ports:
+ - "8443:8443"
+ healthcheck:
+ test: ["CMD-SHELL", "curl https://localhost:8443/actuator/health --cacert /etc/onap/oom/certservice/certs/root.crt --cert-type p12 --cert /etc/onap/oom/certservice/certs/certServiceServer-keystore.p12 --pass secret"]
+ interval: 10s
+ timeout: 3s
+ retries: 15
+ networks:
+ - onap
+ - public
diff --git a/sanitycheck/pnfsimulator-secured/certservice/docker-compose-pnfsim.yml b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-pnfsim.yml
new file mode 100644
index 0000000..f09b0a9
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-pnfsim.yml
@@ -0,0 +1,61 @@
+version: "2.1"
+
+networks:
+ pnfsimulator:
+ driver: bridge
+ name: pnfsimulator
+ public:
+ external: true
+ onap:
+ external: true
+
+services:
+ mongo:
+ image: mongo
+ restart: always
+ networks:
+ - pnfsimulator
+ environment:
+ MONGO_INITDB_ROOT_USERNAME: root
+ MONGO_INITDB_ROOT_PASSWORD: zXcVbN123!
+ MONGO_INITDB_DATABASE: pnf_simulator
+ volumes:
+ - ../../../pnfsimulator/db:/docker-entrypoint-initdb.d
+ ports:
+ - "27017:27017"
+
+ mongo-express:
+ image: mongo-express
+ restart: always
+ networks:
+ - pnfsimulator
+ ports:
+ - 8081:8081
+ environment:
+ ME_CONFIG_MONGODB_ADMINUSERNAME: root
+ ME_CONFIG_MONGODB_ADMINPASSWORD: zXcVbN123!
+
+ pnf-simulator:
+ image: nexus3.onap.org:10003/onap/org.onap.integration.simulators.pnfsimulator
+ ports:
+ - "5000:5000"
+ networks:
+ - pnfsimulator
+ - public
+ command: bash -c "
+ while [[ $$(ls -1 /app/store | wc -l) != '4' ]]; do echo 'Waiting for certs...'; sleep 3; done
+ && cp /app/store/truststore.jks /app/store/trust.jks
+ && cp /app/store/keystore.jks /app/store/cert.p12
+ && export CLIENT_CERT_PASS=$$(cat /app/store/keystore.pass)
+ && export TRUST_CERT_PASS=$$(cat /app/store/truststore.pass)
+ && java -Dspring.config.location=file:/app/application.properties -cp /app/libs/*:/app/pnf-simulator.jar org.onap.pnfsimulator.Main
+ "
+ volumes:
+ - ../../../pnfsimulator/logs:/var/log
+ - ../../../pnfsimulator/templates:/app/templates
+ - ../../../pnfsimulator/src/main/resources/application.properties:/app/application.properties
+ - ./resources/certservice-client/client-volume-for-pnfsim/:/app/store/
+ restart: on-failure
+ depends_on:
+ - mongo
+ - mongo-express
diff --git a/sanitycheck/pnfsimulator-secured/certservice/docker-compose-ves-dmaap.yml b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-ves-dmaap.yml
new file mode 100644
index 0000000..86f0202
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certservice/docker-compose-ves-dmaap.yml
@@ -0,0 +1,33 @@
+version: "2.1"
+
+networks:
+ public:
+ external: true
+ onap:
+ external: true
+
+services:
+ ves:
+ container_name: ves
+ image: nexus3.onap.org:10003/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
+ ports:
+ - "8082:8080"
+ - "8444:8443"
+ networks:
+ - onap
+ - public
+ volumes:
+ - ./resources/certservice-client/client-volume-for-ves/keystore.jks:/opt/app/VESCollector/etc/keystore
+ - ./resources/certservice-client/client-volume-for-ves/keystore.pass:/opt/app/VESCollector/etc/passwordfile
+ - ./resources/certservice-client/client-volume-for-ves/truststore.jks:/opt/app/VESCollector/etc/truststore
+ - ./resources/certservice-client/client-volume-for-ves/truststore.pass:/opt/app/VESCollector/etc/trustpasswordfile
+ depends_on:
+ - onap-dmaap
+
+ onap-dmaap:
+ container_name: dmaap
+ image: dmaap-simulator
+ ports:
+ - "3904:3904"
+ networks:
+ - onap
diff --git a/sanitycheck/pnfsimulator-secured/certservice/certs/Makefile b/sanitycheck/pnfsimulator-secured/certservice/resources/certs/Makefile
index 507a23c..507a23c 100644
--- a/sanitycheck/pnfsimulator-secured/certservice/certs/Makefile
+++ b/sanitycheck/pnfsimulator-secured/certservice/resources/certs/Makefile
diff --git a/sanitycheck/pnfsimulator-secured/certservice/client-resources/client-configuration.env b/sanitycheck/pnfsimulator-secured/certservice/resources/certservice-client/client-configuration-for-pnfsim.env
index cda235d..cda235d 100644
--- a/sanitycheck/pnfsimulator-secured/certservice/client-resources/client-configuration.env
+++ b/sanitycheck/pnfsimulator-secured/certservice/resources/certservice-client/client-configuration-for-pnfsim.env
diff --git a/sanitycheck/pnfsimulator-secured/certservice/resources/certservice-client/client-configuration-for-ves.env b/sanitycheck/pnfsimulator-secured/certservice/resources/certservice-client/client-configuration-for-ves.env
new file mode 100644
index 0000000..e06d147
--- /dev/null
+++ b/sanitycheck/pnfsimulator-secured/certservice/resources/certservice-client/client-configuration-for-ves.env
@@ -0,0 +1,19 @@
+#Client envs
+REQUEST_URL=https://oom-cert-service:8443/v1/certificate/
+REQUEST_TIMEOUT=10000
+OUTPUT_PATH=/var/certs
+CA_NAME=RA
+OUTPUT_TYPE=JKS
+#Csr config envs
+COMMON_NAME=ves-onap.org
+ORGANIZATION=Linux-Foundation
+ORGANIZATION_UNIT=ONAP
+LOCATION=San-Francisco
+STATE=California
+COUNTRY=US
+SANS=ves
+#Tls config envs
+KEYSTORE_PATH=/etc/onap/oom/certservice/certs/certServiceClient-keystore.jks
+KEYSTORE_PASSWORD=secret
+TRUSTSTORE_PATH=/etc/onap/oom/certservice/certs/truststore.jks
+TRUSTSTORE_PASSWORD=secret
diff --git a/sanitycheck/pnfsimulator-secured/certservice/certservice-resources/cmpServers.json b/sanitycheck/pnfsimulator-secured/certservice/resources/certservice/cmpServers.json
index 79b97e6..7256494 100644
--- a/sanitycheck/pnfsimulator-secured/certservice/certservice-resources/cmpServers.json
+++ b/sanitycheck/pnfsimulator-secured/certservice/resources/certservice/cmpServers.json
@@ -2,7 +2,7 @@
"cmpv2Servers": [
{
"caName": "Client",
- "url": "http://172.17.0.1:80/ejbca/publicweb/cmp/cmp",
+ "url": "http://oomcert-ejbca:8080/ejbca/publicweb/cmp/cmp",
"issuerDN": "CN=ManagementCA",
"caMode": "CLIENT",
"authentication": {
@@ -12,7 +12,7 @@
},
{
"caName": "RA",
- "url": "http://172.17.0.1:80/ejbca/publicweb/cmp/cmpRA",
+ "url": "http://oomcert-ejbca:8080/ejbca/publicweb/cmp/cmpRA",
"issuerDN": "CN=ManagementCA",
"caMode": "RA",
"authentication": {
diff --git a/sanitycheck/pnfsimulator-secured/certservice/ejbca-resources/ejbca-configuration.sh b/sanitycheck/pnfsimulator-secured/certservice/resources/ejbca/ejbca-configuration.sh
index 77f5c55..77f5c55 100755
--- a/sanitycheck/pnfsimulator-secured/certservice/ejbca-resources/ejbca-configuration.sh
+++ b/sanitycheck/pnfsimulator-secured/certservice/resources/ejbca/ejbca-configuration.sh
diff --git a/sanitycheck/pnfsimulator-secured/docker-compose-certservice.yml b/sanitycheck/pnfsimulator-secured/docker-compose-certservice.yml
deleted file mode 100644
index e7d4cb6..0000000
--- a/sanitycheck/pnfsimulator-secured/docker-compose-certservice.yml
+++ /dev/null
@@ -1,93 +0,0 @@
-version: "2.1"
-
-networks:
- certservice-network:
- driver: bridge
- name: certservice-network
- pnf-simulator-network:
- driver: bridge
- name: pnf-simulator-network
-
-services:
-
- oom-cert-service:
- image: nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-api:2.1.0
- volumes:
- - ./certservice/certservice-resources/cmpServers.json:/etc/onap/oom/certservice/cmpServers.json
- - ./certservice/certs/truststore.jks:/etc/onap/oom/certservice/certs/truststore.jks
- - ./certservice/certs/root.crt:/etc/onap/oom/certservice/certs/root.crt
- - ./certservice/certs/certServiceServer-keystore.jks:/etc/onap/oom/certservice/certs/certServiceServer-keystore.jks
- - ./certservice/certs/certServiceServer-keystore.p12:/etc/onap/oom/certservice/certs/certServiceServer-keystore.p12
- container_name: oomcert-service
- ports:
- - "8443:8443"
- healthcheck:
- test: ["CMD-SHELL", "curl https://localhost:8443/actuator/health --cacert /etc/onap/oom/certservice/certs/root.crt --cert-type p12 --cert /etc/onap/oom/certservice/certs/certServiceServer-keystore.p12 --pass secret"]
- interval: 10s
- timeout: 3s
- retries: 15
- networks:
- - certservice-network
-
- oom-cert-client:
- image: nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.1.0
- container_name: oomcert-client
- env_file: ./certservice/client-resources/client-configuration.env
- networks:
- - certservice-network
- volumes:
- - ./certservice/client-resources/client-volume:/var/certs:rw
- - ./certservice/certs/truststore.jks:/etc/onap/oom/certservice/certs/truststore.jks
- - ./certservice/certs/certServiceClient-keystore.jks:/etc/onap/oom/certservice/certs/certServiceClient-keystore.jks
- depends_on:
- oom-cert-service:
- condition: service_healthy
-
- mongo:
- image: mongo
- restart: always
- networks:
- - pnf-simulator-network
- environment:
- MONGO_INITDB_ROOT_USERNAME: root
- MONGO_INITDB_ROOT_PASSWORD: zXcVbN123!
- MONGO_INITDB_DATABASE: pnf_simulator
- volumes:
- - ../../pnfsimulator/db:/docker-entrypoint-initdb.d
- ports:
- - "27017:27017"
-
- mongo-express:
- image: mongo-express
- restart: always
- networks:
- - pnf-simulator-network
- ports:
- - 8081:8081
- environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME: root
- ME_CONFIG_MONGODB_ADMINPASSWORD: zXcVbN123!
-
- pnf-simulator:
- image: nexus3.onap.org:10003/onap/org.onap.integration.simulators.pnfsimulator
- ports:
- - "5000:5000"
- networks:
- - pnf-simulator-network
- command: bash -c "
- while [[ $$(ls -1 /app/store | wc -l) != '4' ]]; do echo 'Waiting for certs...'; sleep 3; done
- && cp /app/store/truststore.jks /app/store/trust.jks
- && cp /app/store/keystore.jks /app/store/cert.p12
- && export CLIENT_CERT_PASS=$$(cat /app/store/keystore.pass)
- && export TRUST_CERT_PASS=$$(cat /app/store/truststore.pass)
- && java -Dspring.config.location=file:/app/application.properties -cp /app/libs/*:/app/pnf-simulator.jar org.onap.pnfsimulator.Main
- "
- volumes:
- - ../../pnfsimulator/logs:/var/log
- - ../../pnfsimulator/templates:/app/templates
- - ../../pnfsimulator/src/main/resources/application.properties:/app/application.properties
- - ./certservice/client-resources/client-volume/:/app/store/
- restart: on-failure
- depends_on:
- - mongo
- - mongo-express
diff --git a/sanitycheck/pnfsimulator-secured/docker-compose-ves.yml b/sanitycheck/pnfsimulator-secured/docker-compose-ves.yml
deleted file mode 100644
index 43d4f63..0000000
--- a/sanitycheck/pnfsimulator-secured/docker-compose-ves.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-version: '3'
-services:
- ves:
- container_name: ves
- image: nexus3.onap.org:10003/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
- ports:
- - "8082:8080"
- - "8444:8443"
- networks:
- - vesnetwork
- volumes:
- - ./certservice/client-resources/client-volume/keystore.jks:/opt/app/VESCollector/etc/keystore
- - ./certservice/client-resources/client-volume/keystore.pass:/opt/app/VESCollector/etc/passwordfile
- - ./certservice/client-resources/client-volume/trust.jks:/opt/app/VESCollector/etc/truststore
- - ./certservice/client-resources/client-volume/truststore.pass:/opt/app/VESCollector/etc/trustpasswordfile
- onap-dmaap:
- container_name: dmaap
- image: dmaap-simulator
- ports:
- - "3904:3904"
- networks:
- - vesnetwork
-networks:
- vesnetwork:
- driver: bridge