commit | 1611944a45491e2b8f00606b0aac2cdb0de8dde8 | [log] [tgz] |
---|---|---|
author | dglFromAtt <dgl@research.att.com> | Wed Jul 25 16:29:35 2018 -0400 |
committer | dglFromAtt <dgl@research.att.com> | Wed Jul 25 16:31:25 2018 -0400 |
tree | aee5a87fbcc4597eb1d9b9cfd63db121ee1181ab | |
parent | f595e173fdb3921cb6c6855f5389871ee3c3ada3 [diff] |
Alternative MR replication method This introduces a new set of replication rules for topics: REPLICATION_EDGE_TO_FQDN REPLICATION_FQDN_TO_EDGE REPLICATION_EDFE_TO_FQDN_TO_GLOBAL REPLICTION_GLOBAL_TO_FQDN_TO_EDGE This will allow for some apps to design their own message replication path for resiliency because it will use the FQDN of the cluster instead of the using the CNAME. Also contains: - introduce (optional) replicationGroup field to mr_cluster - some cleanup of unused code. Change-Id: I063fb343af3f7bc17c88190563920afd84737ada Signed-off-by: dglFromAtt <dgl@research.att.com> Issue-ID: DMAAP-542
Data Movement as a Platform (DMaaP) Bus Controller provides an API for other ONAP infrastructure components to provision DMaaP resources. A typical DMaaP resource is a Data Router Feed or a Message Router Topic, and their associated publishers and subscribers. Other infrastucture resources such as DR Nodes and MR Clusters are also provisioned through this API.
When this component is included in a Continuous Integration environment, such as structured by the Linux Foundation, the artifacts can be created and deployed via Jenkins. The following maven targets are currently supported in the Build step:
clean install javadoc:javadoc sonar:sonar
This project is organized as a mvn project for a jar package. After cloning from this git repo:
mvn clean install javadoc:javadoc
A description of the API is generated, and found in targets/generated-source/swagger.json.
Behavior of the API is controlled by settings in a properties file (typically etc/dmaapbc.properties). The following describes these properties:
# # Configuration parameters fixed at startup for the DMaaP Bus Controller # # # URI to retrieve dynamic DR configuration # ProvisioningURI: /internal/prov # # Allow http access to API # HttpAllowed: true # # The port number for http as seen within the server # IntHttpPort: 8080 # # The port number for https as seen within the server # Set to 0 if no certificate is available yet... # IntHttpsPort: 8443 # # The external port number for https taking port mapping into account # ExtHttpsPort: 443 # # The type of keystore for https # KeyStoreType: jks # # The path to the keystore for https # KeyStoreFile: etc/keystore # # The password for the https keystore # KeyStorePassword: changeit # # The password for the private key in the https keystore # KeyPassword: changeit # # The type of truststore for https # TrustStoreType: jks # # The path to the truststore for https # TrustStoreFile: /opt/app/java/jdk/jdk180/jre/security/cacerts # # The password for the https truststore # TrustStorePassword: changeit # # The path to the file used to trigger an orderly shutdown # QuiesceFile: etc/SHUTDOWN # # Enable postgress # UsePGSQL: true # # The host for postgres access # DB.host: HostNotSet # # For postgres access # DB.cred: ValueNotSet # # Name of this environment # DmaapName: DeploymentEnvName # # Name of DR prov server # DR.provhost: dcae-drps.domain.notset.com # # The Role and credentials of the MirrorMaker Provisioner. This is used by DMaaP Bus Controller to pub to the provisioning topic # Not part of 1701 # #MM.ProvRole: org.openecomp.dmaapBC.MMprov.prov #MM.ProvUserMechId: idNotSet@namespaceNotSet #MM.ProvUserPwd: enc:fMxh-hzYZldbtyXumQq9aJU08SslhbM6mXtt # # The Role of the MirrorMaker Agent. This is used by MM to sub to provisioning topic # MM.AgentRole: org.openecomp.dmaapBC.MMagent.agent ################# # AAF Properties: # # regarding password encryption: # In the dependencies that Maven retrieves (e.g., under dcae_dmaapbc/target/deps/ is a jar file cadi-core-version.jar. Generate the key file with: # # java \u2013jar wherever/cadi-core-*.jar keygen keyfilename # chmod 400 keyfilename # # To encrypt a key: # # java \u2013jar wherever/cadi-core-*.jar digest password-to-encrypt keyfilename # # This will generate a string. Put \u201Cenc:\u201D on the front of the string, and put the result in this properties file. # # Location of the Codec Keyfile which is used to decrypt passwords in this properties file before they are passed to AAF # # REF: https://wiki.domain.notset.com/display/cadi/CADI+Deployment # CredentialCodecKeyfile: etc/LocalKey # # URL of AAF environment to use. # aaf.URL: https://authentication.simpledemo.openecomp.org:8095/proxy/ # # TopicMgr mechid@namespace # aaf.TopicMgrUser: idNotSet@namespaceNotSet # # TopicMgr password # aaf.TopicMgrPassword: enc:zyRL9zbI0py3rJAjMS0dFOnYfEw_mJhO # # Bus Controller Namespace Admin mechid@namespace # aaf.AdminUser: idNotSet@namespaceNotSet # # Bus Controller Namespace Admin password # aaf.AdminPassword: enc:YEaHwOJrwhDY8a6usetlhbB9mEjUq9m # # endof AAF Properties ################# ################# # PolicyEngine Properties # # Flag to turn on/off Authentication UsePE: false # # Argument to decisionAttributes.put("AAF_ENVIRONMENT", X); # where X is: TEST= UAT, PROD = PROD, DEVL = TEST # PeAafEnvironment: DEVL # # Name of PolicyEngineApi properties file PolicyEngineProperties: config/PolicyEngineApi.properties # # Namespace for URI values for API used to create AAF permissions # e.g. if ApiNamespace is X.Y..dmaapBC.api then for URI /topics we create an AAF perm X.Y..dmaapBC.api.topics ApiNamespace: org.onap.dmaap.dbcapi # # endof PolicyEngineProperties #################