diff options
author | Brinda Santh <bs2796@att.com> | 2019-11-29 14:59:12 -0500 |
---|---|---|
committer | Brinda Santh <bs2796@att.com> | 2019-11-29 16:26:25 -0500 |
commit | 98831362ddb13e1888bedca4f4e03df8c4e7d9e4 (patch) | |
tree | b15e5dba8e0677382b7596cb575637c116b1c660 /ms/blueprintsprocessor | |
parent | ebdd198e47b2da08a2aa470177a3baa4a2cf1c4c (diff) |
Upgrade py executor ms GRPC version.
Regenerate TLS certs with config file.
Issue-ID: CCSDK-1737
Signed-off-by: Brinda Santh <bs2796@att.com>
Change-Id: I2b0982c4e230524ad1e58f150da2a05e4474a0fa
Diffstat (limited to 'ms/blueprintsprocessor')
7 files changed, 142 insertions, 84 deletions
diff --git a/ms/blueprintsprocessor/application/src/main/dc/docker-compose.yaml b/ms/blueprintsprocessor/application/src/main/dc/docker-compose.yaml index 27f72b59b..ada461b52 100755 --- a/ms/blueprintsprocessor/application/src/main/dc/docker-compose.yaml +++ b/ms/blueprintsprocessor/application/src/main/dc/docker-compose.yaml @@ -14,11 +14,11 @@ services: MYSQL_DATABASE: sdnctl MYSQL_USER: sdnctl MYSQL_PASSWORD: sdnctl - blueprints-processor: + cds-controller-default: depends_on: - db image: onap/ccsdk-blueprintsprocessor:latest - container_name: bp-processor + container_name: cds-controller-default ports: - "8000:8080" - "9111:9111" @@ -41,11 +41,11 @@ services: restart: always volumes: - blueprints-deploy:/opt/app/onap/blueprints/deploy - py-executor: + py-executor-default: depends_on: - db - image: onap/ccsdk-py-script-executor - container_name: bp-py-executor + image: onap/ccsdk-py-executor + container_name: py-executor-default ports: - "50052:50052" restart: always @@ -58,11 +58,7 @@ services: STICKYSELECTORKEY: ENVCONTEXT: dev APP_PORT: 50052 - #AUTH_TYPE: basic-auth - #AUTH_TOKEN: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw== AUTH_TYPE: tls-auth - AUTH_CERT_CHAIN: /opt/app/onap/python/py-executor-chain.pem - AUTH_PRIVATE_KEY: /opt/app/onap/python/py-executor-key.pem LOG_FILE: /opt/app/onap/logs/application.log volumes: diff --git a/ms/blueprintsprocessor/application/src/main/docker/distribution.xml b/ms/blueprintsprocessor/application/src/main/docker/distribution.xml index aed417581..291dca09b 100755 --- a/ms/blueprintsprocessor/application/src/main/docker/distribution.xml +++ b/ms/blueprintsprocessor/application/src/main/docker/distribution.xml @@ -45,6 +45,11 @@ <useDefaultExcludes>true</useDefaultExcludes> </fileSet> <fileSet> + <directory>${project.basedir}/src/main/resources/certs</directory> + <outputDirectory>opt/app/onap/config/certs</outputDirectory> + <useDefaultExcludes>true</useDefaultExcludes> + </fileSet> + <fileSet> <directory>${project.basedir}/../../../components/model-catalog</directory> <outputDirectory>opt/app/onap/model-catalog</outputDirectory> <includes> diff --git a/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties b/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties index fc2e7f244..89b4f65b4 100755 --- a/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties +++ b/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties @@ -57,6 +57,11 @@ blueprintsprocessor.grpcclient.remote-python.host=localhost blueprintsprocessor.grpcclient.remote-python.port=50051 blueprintsprocessor.grpcclient.remote-python.token=Basic Y2NzZGthcHBzOmNjc2RrYXBwcw== +# Py executor +blueprintsprocessor.grpcclient.py-executor.type=tls-auth +blueprintsprocessor.grpcclient.py-executor.host=localhost:50052 +blueprintsprocessor.grpcclient.py-executor.trustCertCollection=src/main/resources/certs/py-executor/py-executor-chain.pem + # Blueprint Processor File Execution and Handling Properties ### use absolute paths if testing inside docker ### blueprintsprocessor.blueprintDeployPath=/opt/app/onap/blueprints/deploy diff --git a/ms/blueprintsprocessor/application/src/main/resources/application.properties b/ms/blueprintsprocessor/application/src/main/resources/application.properties index bd713080f..1ba29e43a 100755 --- a/ms/blueprintsprocessor/application/src/main/resources/application.properties +++ b/ms/blueprintsprocessor/application/src/main/resources/application.properties @@ -77,6 +77,11 @@ blueprintsprocessor.grpcclient.remote-python.host=localhost blueprintsprocessor.grpcclient.remote-python.port=50051 blueprintsprocessor.grpcclient.remote-python.token=Basic Y2NzZGthcHBzOmNjc2RrYXBwcw== +# Py executor +blueprintsprocessor.grpcclient.py-executor.type=tls-auth +blueprintsprocessor.grpcclient.py-executor.host=py-executor-default:50052 +blueprintsprocessor.grpcclient.py-executor.trustCertCollection=/opt/app/onap/config/certs/py-executor/py-executor-chain.pem + # Config Data REST client settings blueprintsprocessor.restconfEnabled=true blueprintsprocessor.restclient.sdnc.type=basic-auth diff --git a/ms/blueprintsprocessor/application/src/main/resources/certs/py-executor/py-executor-chain.pem b/ms/blueprintsprocessor/application/src/main/resources/certs/py-executor/py-executor-chain.pem new file mode 100644 index 000000000..98c4f39ba --- /dev/null +++ b/ms/blueprintsprocessor/application/src/main/resources/certs/py-executor/py-executor-chain.pem @@ -0,0 +1,37 @@ +-----BEGIN CERTIFICATE----- +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 +3w== +-----END CERTIFICATE----- diff --git a/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-chain.pem b/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-chain.pem index 30f09dfea..98c4f39ba 100644 --- a/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-chain.pem +++ b/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-chain.pem @@ -1,27 +1,37 @@ -----BEGIN CERTIFICATE----- -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 +3w== -----END CERTIFICATE----- diff --git a/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-key.pem b/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-key.pem index 830a3ae21..9407765b5 100644 --- a/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-key.pem +++ b/ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/resources/tls-manual/py-executor-key.pem @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -v9AGKz0Jc2GOIRKHrCQ/WkZePetaYQ== +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 +lZqnHGyRAFqP6UxZgtwu30KuKIZBlg== -----END PRIVATE KEY----- |