diff options
Diffstat (limited to 'dmaap')
-rw-r--r-- | dmaap/dmaap.yaml | 5 | ||||
-rw-r--r-- | dmaap/dmaapplugin/CommonLogger.config | 42 | ||||
-rw-r--r-- | dmaap/dmaapplugin/__init__.py | 3 | ||||
-rw-r--r-- | dmaap/dmaapplugin/dr_bridge.py | 3 | ||||
-rw-r--r-- | dmaap/dmaapplugin/dr_relationships.py | 2 | ||||
-rw-r--r-- | dmaap/dmaapplugin/mr_lifecycle.py | 2 | ||||
-rw-r--r-- | dmaap/dmaapplugin/pkcrypto.py | 142 | ||||
-rwxr-xr-x | dmaap/pom.xml | 318 | ||||
-rw-r--r-- | dmaap/setup.py | 2 |
9 files changed, 323 insertions, 196 deletions
diff --git a/dmaap/dmaap.yaml b/dmaap/dmaap.yaml index 9ea7820..ed8d5c3 100644 --- a/dmaap/dmaap.yaml +++ b/dmaap/dmaap.yaml @@ -21,14 +21,11 @@ tosca_definitions_version: cloudify_dsl_1_3 -imports: - - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml - plugins: dmaapplugin: executor: 'central_deployment_agent' package_name: cloudifydmaapplugin - package_version: 1.2.0+t.0.11 + package_version: 1.3.1 node_types: diff --git a/dmaap/dmaapplugin/CommonLogger.config b/dmaap/dmaapplugin/CommonLogger.config deleted file mode 100644 index 3f0dd69..0000000 --- a/dmaap/dmaapplugin/CommonLogger.config +++ /dev/null @@ -1,42 +0,0 @@ -# You may change this file while your program is running and CommonLogger will automatically reconfigure accordingly. -# Changing these parameters may leave old log files lying around. - - -#--- Parameters that apply to all logs -# -# rotateMethod: time, size, stdout, stderr, none -#... Note: the following two parameters apply only when rotateMethod=time -# timeRotateIntervalType: S, M, H, D, W0 - W6, or midnight (seconds, minutes, hours, days, weekday (0=Monday), or midnight UTC) -# timeRotateInterval: >= 1 (1 means every timeRotateIntervalType, 2 every other, 3 every third, etc.) -#... Note: the following parameter applies only when rotateMethod=size -# sizeMaxBytes: >= 0 (0 means no limit, else maximum filesize in Bytes) -# backupCount: >= 0 (Number of rotated backup files to retain. If rotateMethod=time, 0 retains *all* backups. If rotateMethod=size, 0 retains *no* backups.) -# -rotateMethod = size -timeRotateIntervalType = midnight -timeRotateInterval = 1 -sizeMaxBytes = 10000000 -backupCount = 4 - - -#--- Parameters that define log filenames and their initial LogLevel threshold -#... Note: CommonLogger will exit if your process does not have permission to write to the file. -# -# LogLevel options: FATAL, ERROR, WARN, INFO, DEBUG -# - -error = /opt/logs/dcae/cloudifymgrplugins/error.log -errorLogLevel = WARN -errorStyle = error - -metrics = /opt/logs/dcae/cloudifymgrplugins/metrics.log -metricsLogLevel = INFO -metricsStyle = metrics - -audit = /opt/logs/dcae/cloudifymgrplugins/audit.log -auditLogLevel = INFO -auditStyle = audit - -debug = /opt/logs/dcae/cloudifymgrplugins/debug.log -debugLogLevel = INFO -debugStyle = debug diff --git a/dmaap/dmaapplugin/__init__.py b/dmaap/dmaapplugin/__init__.py index 24466e9..ac988a4 100644 --- a/dmaap/dmaapplugin/__init__.py +++ b/dmaap/dmaapplugin/__init__.py @@ -20,7 +20,6 @@ from consulif.consulif import ConsulHandle from cloudify.exceptions import NonRecoverableError import os -import pkcrypto os.environ["REQUESTS_CA_BUNDLE"]="/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt" # This is to handle https request thru plugin @@ -44,7 +43,7 @@ except Exception as e: raise NonRecoverableError("Error setting DMAAP_USER while configuring dmaap plugin: {0}".format(e)) try: - DMAAP_PASS = pkcrypto.decrypt_obj(config['dmaap']['password']) + DMAAP_PASS = config['dmaap']['password'] except Exception as e: raise NonRecoverableError("Error setting DMAAP_PASS while configuring dmaap plugin: {0}".format(e)) diff --git a/dmaap/dmaapplugin/dr_bridge.py b/dmaap/dmaapplugin/dr_bridge.py index c103b41..bf8f431 100644 --- a/dmaap/dmaapplugin/dr_bridge.py +++ b/dmaap/dmaapplugin/dr_bridge.py @@ -22,7 +22,6 @@ from cloudify.exceptions import NonRecoverableError from dmaapplugin import DMAAP_API_URL, DMAAP_USER, DMAAP_PASS from dmaaputils import random_string from dmaapcontrollerif.dmaap_requests import DMaaPControllerHandle -import pkcrypto # Set up a subscriber to a source feed def _set_up_subscriber(dmc, source_feed_id, loc, delivery_url, username, userpw): @@ -111,7 +110,7 @@ def create_external_dr_bridge(**kwargs): if 'url' in ctx.target.node.properties and 'username' in ctx.target.node.properties and 'userpw' in ctx.target.node.properties: url = ctx.target.node.properties['url'] username = ctx.target.node.properties['username'] - userpw = pkcrypto.decrypt_obj(ctx.target.node.properties['userpw']) + userpw = ctx.target.node.properties['userpw'] else: raise Exception ("Target feed missing url, username, and/or user pw") diff --git a/dmaap/dmaapplugin/dr_relationships.py b/dmaap/dmaapplugin/dr_relationships.py index eff0fa1..2443f26 100644 --- a/dmaap/dmaapplugin/dr_relationships.py +++ b/dmaap/dmaapplugin/dr_relationships.py @@ -82,7 +82,6 @@ def add_dr_publisher(**kwargs): # Set key in Consul ch = ConsulHandle("http://{0}:8500".format(CONSUL_HOST), None, None, ctx.logger) cpy = dict(ctx.source.instance.runtime_properties[target_feed]) - # cpy["password"] = pkcrypto.encrypt_string(cpy["password"]) # can't encrypt until collectors can decrypt ch.add_to_entry("{0}:dmaap".format(ctx.source.instance.runtime_properties['service_component_name']), target_feed, cpy) except Exception as e: @@ -176,7 +175,6 @@ def add_dr_subscriber(**kwargs): # Set key in Consul ch = ConsulHandle("http://{0}:8500".format(CONSUL_HOST), None, None, ctx.logger) cpy = dict(ctx.source.instance.runtime_properties[target_feed]) - # cpy["password"] = pkcrypto.encrypt_string(cpy["password"]) # can't encrypt until collectors can decrypt ch.add_to_entry("{0}:dmaap".format(ctx.source.instance.runtime_properties['service_component_name']), target_feed, cpy) except Exception as e: diff --git a/dmaap/dmaapplugin/mr_lifecycle.py b/dmaap/dmaapplugin/mr_lifecycle.py index 3e800b9..2328ec3 100644 --- a/dmaap/dmaapplugin/mr_lifecycle.py +++ b/dmaap/dmaapplugin/mr_lifecycle.py @@ -105,7 +105,7 @@ def get_existing_topic(**kwargs): if fqtn is None: raise ValueError("Not find existing topic with name " + topic_name) else: - ctx.logger..error("Not find existing topic with name {0}".format(topic_name)) + ctx.logger.error("Not find existing topic with name {0}".format(topic_name)) raise ValueError("Either fqtn or topic_name must be defined to get existing topic") ctx.logger.info("Attempting to get info for existing topic {0}".format(fqtn)) diff --git a/dmaap/dmaapplugin/pkcrypto.py b/dmaap/dmaapplugin/pkcrypto.py deleted file mode 100644 index 9bd2a3f..0000000 --- a/dmaap/dmaapplugin/pkcrypto.py +++ /dev/null @@ -1,142 +0,0 @@ -""" -RSA encryption and decryption functions - -pkcrypto.py - -Written by: Terry Schmalzried -Date written: September 20, 2017 -Last updated: September 27, 2017 -""" - -from __future__ import print_function -import sys, subprocess, json - - -def encrypt_string(clear_text): - """RSA encrypt a string of limited length""" - - # Use Carsten's jar files and the key already installed on the host - cmd = ['/usr/bin/java', - '-cp', '/opt/lib/log4j-1.2.17.jar:/opt/lib/ncomp-utils-java-1.17070100.0-SNAPSHOT.jar', - 'org.openecomp.ncomp.utils.CryptoUtils', - 'public-key-encrypt', - '/opt/dcae/server.public' - ] - try: - p = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE) - (stdout_data, stderr_data) = p.communicate(input=clear_text) - except Exception as e: - print("encrypt_string exception: {}".format(e), file=sys.stderr) - return None - - if stderr_data: - print("encrypt_string stderr: {}".format(stderr_data), file=sys.stderr) - return None - - return stdout_data.replace(" ","").rstrip('\n') - - -def decrypt_string(encrypted_text): - """RSA decrypt a string""" - - # Use Carsten's jar files and the key already installed on the host - cmd = ['sudo', '/usr/bin/java', - '-cp', '/opt/lib/log4j-1.2.17.jar:/opt/lib/ncomp-utils-java-1.17070100.0-SNAPSHOT.jar', - 'org.openecomp.ncomp.utils.CryptoUtils', - 'public-key-decrypt', - '/opt/dcae/server.private', - encrypted_text - ] - try: - p = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - (stdout_data, stderr_data) = p.communicate() - except Exception as e: - print("decrypt_string exception: {}".format(e), file=sys.stderr) - return None - - if stderr_data: - print("decrypt_string stderr: {}".format(stderr_data), file=sys.stderr) - return None - - return stdout_data.rstrip('\n') - - -def decrypt_obj(obj): - """decrypt all RSA string values in a python nested object and embedded JSON string objects""" - - if isinstance(obj, dict): - return {k: decrypt_obj(v) for k,v in obj.items()} - elif isinstance(obj, list): - return [decrypt_obj(v) for v in obj] - elif isinstance(obj, basestring): - if obj.startswith("rsa:"): - obj2 = decrypt_string(obj) - if obj2 is not None: - return obj2 - else: - try: - obj2 = json.loads(obj) - return json.dumps(decrypt_obj(obj2)) - except Exception as e: - pass - return obj - - -if __name__ == '__main__': - clear_text = "a secret" - print("Encrypting: {}".format(clear_text)) - encrypted = encrypt_string(clear_text) - print("Encrypted: {}".format(encrypted)) - print("Decrypted: {}".format(decrypt_string(encrypted))) - - - # print("\nWhitespace in the encrypted string does not seem to matter:") - # encrypted = 'rsa:Y2feMIiKwR0Df3zVDDf1K+4Lkt9vxGnT8UugHkjNLiht67PwXRJFP6/BbmZO9NhlOAMV3MLWwbhU GikE96K7wuQaQVYOmAYNNuVDWLdvbW80pZVGKYgQsmrLizOhPbhD+adG7bdIiNMNMBOKk+XQMTLa d77KzAQmZO2wLj0Z3As=' - # print("Decrypted: {}".format(decrypt_string(encrypted))) - - # encrypted = '''rsa:Y2feMIiKwR0Df3zVDDf1K+4Lkt9vxGnT8UugHkjNLiht67PwXRJFP6/BbmZO9NhlOAMV3MLWwbhU - # GikE96K7wuQaQVYOmAYNNuVDWLdvbW80pZVGKYgQsmrLizOhPbhD+adG7bdIiNMNMBOKk+XQMTLa - # d77KzAQmZO2wLj0Z3As=''' - # print("Decrypted: {}".format(decrypt_string(encrypted))) - - - print("\nDecrypt some dicts:") - print("Decrypted: {}".format(decrypt_obj('not encrypted'))) - print("Decrypted: {}".format(decrypt_obj(encrypted))) - print("Decrypted: {}".format(decrypt_obj({ - "key1":encrypted, - "key2":"not encrypted", - "key3":encrypted, - "key4":{ - "key11":encrypted, - "key12":"not encrypted", - "key13":encrypted, - "key14":[ - encrypted, - "not encrypted", - encrypted - ] - } - }))) - - - print("\nDecrypt some JSON:") - encrypted = json.dumps([{ "username": "m01234@bogus.att.com", - "password": encrypt_string("N0t_a-Rea1/passw0rd"), - "registry": "dockercentral.it.att.com:12345" - }]) - print("Encrypted: {}".format(encrypted)) - print("Decrypted: {}".format(decrypt_obj(encrypted))) - - - print("\nDecrypt a dict that contains a json string containing encrypted keys:") - a_dict = { - "clear_txt": clear_text, - "encrypted_str": encrypt_string(clear_text), - "json_str": encrypted - } - print("Decrypted: {}".format(decrypt_obj(a_dict))) - - - print("\nDecrypt a json string that contains a dict that contains a json string containing encrypted keys:") - print("Decrypted: {}".format(decrypt_obj(json.dumps(a_dict)))) diff --git a/dmaap/pom.xml b/dmaap/pom.xml new file mode 100755 index 0000000..f3d0f7c --- /dev/null +++ b/dmaap/pom.xml @@ -0,0 +1,318 @@ +<?xml version="1.0"?> +<!-- +============LICENSE_START======================================================= +org.onap.ccsdk +================================================================================ +Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. +================================================================================ +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +============LICENSE_END========================================================= +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.onap.ccsdk.platform</groupId> + <artifactId>plugins</artifactId> + <version>1.0.1-SNAPSHOT</version> + </parent> + + <!--- CHANGE THE FOLLOWING 3 OBJECTS for your own repo --> + <groupId>org.onap.ccsdk.platform.plugins</groupId> + <artifactId>dmaap</artifactId> + <name>dmaap</name> + + <version>1.0.1-SNAPSHOT</version> + <url>http://maven.apache.org</url> + <properties> + <!-- name from the setup.py file --> + <plugin.name>dmaap</plugin.name> + <!-- path to directory containing the setup.py relative to this file --> + <plugin.subdir>.</plugin.subdir> + <!-- path of types file itself relative to this file --> + <typefile.source>dmaap.yaml</typefile.source> + <!-- path, in repo, to store type file --> + <typefile.dest>type_files/dmaap/dmaap.yaml</typefile.dest> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <sonar.sources>.</sonar.sources> + <sonar.junit.reportsPath>xunit-results.xml</sonar.junit.reportsPath> + <sonar.python.coverage.reportPath>coverage.xml</sonar.python.coverage.reportPath> + <sonar.language>py</sonar.language> + <sonar.pluginName>Python</sonar.pluginName> + <sonar.inclusions>**/*.py</sonar.inclusions> + <sonar.exclusions>tests/*,setup.py</sonar.exclusions> + </properties> + + <build> + <finalName>${project.artifactId}-${project.version}</finalName> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>2.7.1</version> + </plugin> + + <!-- nexus-staging-maven-plugin is called during deploy phase by default behavior. + we do not need it --> + <plugin> + <groupId>org.sonatype.plugins</groupId> + <artifactId>nexus-staging-maven-plugin</artifactId> + <version>1.6.7</version> + <configuration> + <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo> + </configuration> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + + <!-- first disable the default Java plugins at various stages --> + <!-- maven-resources-plugin is called during "*resource" phases by default behavior. it prepares the resources + dir. we do not need it --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + + <!-- maven-compiler-plugin is called during "compile" phases by default behavior. we do not need it --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.1</version> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + + <!-- maven-jar-plugin is called during "compile" phase by default behavior. we do not need it --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>2.4</version> + <executions> + <execution> + <id>default-jar</id> + <phase/> + </execution> + </executions> + </plugin> + + <!-- maven-install-plugin is called during "install" phase by default behavior. it tries to copy stuff under + target dir to ~/.m2. we do not need it --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-install-plugin</artifactId> + <version>2.4</version> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + + <!-- maven-surefire-plugin is called during "test" phase by default behavior. it triggers junit test. + we do not need it --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.12.4</version> + <configuration> + <skipTests>true</skipTests> + </configuration> + </plugin> + + <!-- now we configure custom action (calling a script) at various lifecycle phases --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.2.1</version> + <executions> + <execution> + <id>clean phase script</id> + <phase>clean</phase> + <goals><goal>exec</goal></goals> + <configuration> + <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable> + <arguments> + <argument>${project.artifactId}</argument> + <argument>clean</argument> + </arguments> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME> + <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR> + </environmentVariables> + </configuration> + </execution> + + <execution> + <id>generate-sources script</id> + <phase>generate-sources</phase> + <goals><goal>exec</goal></goals> + <configuration> + <executable>mvn-phase-script.sh</executable> + <arguments> + <argument>${project.artifactId}</argument> + <argument>generate-sources</argument> + </arguments> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + </environmentVariables> + </configuration> + </execution> + + <execution> + <id>compile script</id> + <phase>compile</phase> + <goals><goal>exec</goal></goals> + <configuration> + <executable>mvn-phase-script.sh</executable> + <arguments> + <argument>${project.artifactId}</argument> + <argument>compile</argument> + </arguments> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + </environmentVariables> + </configuration> + </execution> + + <execution> + <id>package script</id> + <phase>package</phase> + <goals><goal>exec</goal></goals> + <configuration> + <executable>mvn-phase-script.sh</executable> + <arguments> + <argument>${project.artifactId}</argument> + <argument>package</argument> + </arguments> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME> + <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR> + </environmentVariables> + </configuration> + </execution> + + <execution> + <id>test script</id> + <phase>test</phase> + <goals><goal>exec</goal></goals> + <configuration> + <executable>mvn-phase-script.sh</executable> + <arguments> + <argument>${project.artifactId}</argument> + <argument>test</argument> + </arguments> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME> + <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR> + </environmentVariables> + </configuration> + </execution> + + <execution> + <id>install script</id> + <phase>install</phase> + <goals><goal>exec</goal></goals> + <configuration> + <executable>mvn-phase-script.sh</executable> + <arguments> + <argument>${project.artifactId}</argument> + <argument>install</argument> + </arguments> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + </environmentVariables> + </configuration> + </execution> + + <execution> + <id>deploy script</id> + <phase>deploy</phase> + <goals><goal>exec</goal></goals> + <configuration> + <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable> + <arguments> + <argument>${project.artifactId}</argument> + <argument>deploy</argument> + </arguments> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + <MVN_SERVER_ID>${project.distributionManagement.snapshotRepository.id}</MVN_SERVER_ID> + <TYPE_FILE_SOURCE>${typefile.source}</TYPE_FILE_SOURCE> + <TYPE_FILE_DEST>${typefile.dest}</TYPE_FILE_DEST> + <PLUGIN_NAME>${plugin.name}</PLUGIN_NAME> + <PLUGIN_SUBDIR>${plugin.subdir}</PLUGIN_SUBDIR> + </environmentVariables> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/dmaap/setup.py b/dmaap/setup.py index 3eb16f7..e4749c1 100644 --- a/dmaap/setup.py +++ b/dmaap/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name = "cloudifydmaapplugin", - version = "1.2.0+t.0.11", + version = "1.3.1", packages=find_packages(), author = "AT&T", description = ("Cloudify plugin for creating DMaaP feeds and topics, and setting up publishers and subscribers."), |