From ca618588a4bf51b8b86560669c379aa600ecec09 Mon Sep 17 00:00:00 2001 From: Angel Borroy Date: Tue, 18 Jun 2019 14:54:28 +0200 Subject: [PATCH] Remove Sharding from Community, as this option is not supported in this version. --- .../README.md | 18 ++++------ .../generators/app/index.js | 22 +++++++++---- .../app/templates/6.1/alfresco/Dockerfile | 4 ++- .../app/templates/6.1/docker-compose-ce.yml | 33 ++++--------------- 4 files changed, 30 insertions(+), 47 deletions(-) diff --git a/e2e-test/generator-alfresco-docker-compose/README.md b/e2e-test/generator-alfresco-docker-compose/README.md index cef93f0a6..20f8cf5ec 100644 --- a/e2e-test/generator-alfresco-docker-compose/README.md +++ b/e2e-test/generator-alfresco-docker-compose/README.md @@ -64,26 +64,26 @@ When using Community, some different options can be combined: * Plain HTTP (http) or TLS/SSL Mutual Authentication (https) * Use SOLR Replication in Master/Slave mode (only when using http) -* Use dynamic Sharding with 2 SOLR nodes pre-configured (only when not using SOLR Replication) -* Use Explicit Routing for Shards instead of DB_ID (only when using Sharding) ``` ? Which Alfresco version do you want to use? 6.1 ? Would you like to use Alfresco enterprise or community? community ? Would you like to use http or https? http ? Would you like to use a SOLR Replication (2 nodes in master-slave)? Yes -? Would you like to use dynamic Sharding (2 SOLR nodes)? Yes -? Would you like to use SOLR Explicit Routing instead of DB_ID for the Shards? Yes ``` ## Enterprise When using Enterprise, some options can be added to Community configuration: +* Use dynamic Sharding with 2 SOLR nodes pre-configured (only when not using SOLR Replication) +* Use Explicit Routing for Shards instead of DB_ID (only when using Sharding) * Insight Engine, as Search Services is selected by default * Deploy Zeppelin app to use JDBC Connector to SOLR ``` +? Would you like to use dynamic Sharding (2 SOLR nodes)? Yes +? Would you like to use SOLR Explicit Routing instead of DB_ID for the Shards? Yes ? Would you like to use Insight Engine instead of Search Services? Yes ? Would you like to deploy Zeppelin? Yes ``` @@ -101,8 +101,6 @@ Custom content model is deployed to provide a property, named `shard:shardId`, h | community | http | false | true | false | x | x | | community | http | false | true | true | x | x | | community | https | x | - | - | x | x | -| community | https | x | true | false | x | x | -| community | https | x | true | true | x | x | | enterprise | http | - | - | - | (*) | (*) | | enterprise | http | true | x | x | (*) | (*) | | enterprise | http | false | true | false | (*) | (*) | @@ -111,7 +109,7 @@ Custom content model is deployed to provide a property, named `shard:shardId`, h | enterprise | https | x | true | false | (*) | (*) | | enterprise | https | x | true | true | (*) | (*) | -Both `community` and `enterprise` ACS deployments can be used with the same options, but `enteprise` may also use Insight Engine (replacing Search Services) and Insight Zeppelin services. +Both `community` and `enterprise` ACS deployments can be used with the same options, but `enterprise` may also use Insight Engine (replacing Search Services) and Insight Zeppelin services. ## Passing parameters from command line @@ -157,7 +155,7 @@ http://localhost:8082/alfresco http://localhost:8083/solr -When using SOLR Replication or Sharding, additionally +When using SOLR Replication, additionally http://localhost:8084/solr @@ -172,10 +170,6 @@ https://localhost:8443/alfresco https://localhost:8083/solr -When using SOLR Sharding, additionally - -https://localhost:8084/solr - **Enterprise URLs** diff --git a/e2e-test/generator-alfresco-docker-compose/generators/app/index.js b/e2e-test/generator-alfresco-docker-compose/generators/app/index.js index 42f215483..4ae810921 100644 --- a/e2e-test/generator-alfresco-docker-compose/generators/app/index.js +++ b/e2e-test/generator-alfresco-docker-compose/generators/app/index.js @@ -50,10 +50,11 @@ module.exports = class extends Generator { message: 'Would you like to use SOLR Replication (2 nodes in master-slave)?', default: false }, - , + // Enterprise only options { when: function (response) { - return !response.replication && !commandProps['replication']; + return (response.alfrescoVersion == 'enterprise' || commandProps['alfrescoVersion'] == 'enterprise') && + (!response.replication && !commandProps['replication']); }, type: 'confirm', name: 'sharding', @@ -62,14 +63,14 @@ module.exports = class extends Generator { }, { when: function (response) { - return response.sharding || commandProps['sharding']; + return (response.alfrescoVersion == 'enterprise' || commandProps['alfrescoVersion'] == 'enterprise') && + (response.sharding || commandProps['sharding']); }, type: 'confirm', name: 'explicitRouting', message: 'Would you like to use SOLR Explicit Routing instead of DB_ID for the Shards?', default: false }, - // Enterprise only options { when: function (response) { return response.alfrescoVersion == 'enterprise' || commandProps['alfrescoVersion'] == 'enterprise'; @@ -176,12 +177,19 @@ module.exports = class extends Generator { // Copy Docker Image for Repository applying configuration this.fs.copyTpl( - this.templatePath(this.props.acsVersion + '/alfresco'), - this.destinationPath('alfresco'), + this.templatePath(this.props.acsVersion + '/alfresco/Dockerfile'), + this.destinationPath('alfresco/Dockerfile'), { - acsImage: acsImageTag + acsImage: acsImageTag, + sharding: (this.props.sharding ? "true" : "false") } ); + if (this.props.sharding) { + this.fs.copy( + this.templatePath(this.props.acsVersion + '/alfresco/model'), + this.destinationPath('alfresco/model') + ) + } // Copy Docker Image for Search applying configuration this.fs.copyTpl( diff --git a/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/alfresco/Dockerfile b/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/alfresco/Dockerfile index 274473dc7..da62587cc 100755 --- a/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/alfresco/Dockerfile +++ b/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/alfresco/Dockerfile @@ -48,5 +48,7 @@ RUN if [ "$SOLR_COMMS" == "https" ] ; then \ <\/Connector>/g" ${TOMCAT_DIR}/conf/server.xml; \ fi +<% if (sharding == 'true') { %> # Explicit Routing Sharding content model (useless when not using this feature) -COPY model/sharding-content-model*.xml $TOMCAT_DIR/shared/classes/alfresco/extension/ \ No newline at end of file +COPY model/sharding-content-model*.xml $TOMCAT_DIR/shared/classes/alfresco/extension/ +<% } %> \ No newline at end of file diff --git a/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/docker-compose-ce.yml b/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/docker-compose-ce.yml index e1f9466a9..6b8e5ab5c 100755 --- a/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/docker-compose-ce.yml +++ b/e2e-test/generator-alfresco-docker-compose/generators/app/templates/6.1/docker-compose-ce.yml @@ -23,8 +23,7 @@ services: -Dsolr.host=<%=searchSolrHost%> -Dsolr.port.ssl=8983 -Dsolr.secureComms=<%=secureComms%> - -Dsolr.base.url=/solr <% if (sharding == 'true') { %> - -Dsolr.useDynamicShardRegistration=true <% } %> + -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6 -Dshare.host=localhost -Dalfresco.port=8082 @@ -52,11 +51,7 @@ services: TRUSTSTORE_TYPE: JCEKS KEYSTORE_TYPE: JCEKS <% } %> <% if (replication == 'true') { %> ENABLE_MASTER: "true" - ENABLE_SLAVE: "false" <% } %> <% if (sharding == 'true') { %> - ENABLE_SHARDING: "true" - NUM_SHARDS: "2" - SHARD_ID: "0" <% } %> <% if (explicitRouting == 'true') { %> - EXPLICIT_ROUTING_SHARDING: "true" <% } %> + ENABLE_SLAVE: "false" <% } %> mem_limit: 1200m environment: #Solr needs to know how to register itself with Alfresco @@ -74,13 +69,7 @@ services: SOLR_SSL_KEY_STORE: "/opt/<%=searchPath%>/keystore/ssl.repo.client.keystore" SOLR_SSL_KEY_STORE_PASSWORD: "kT9X6oe68t" SOLR_SSL_KEY_STORE_TYPE: "JCEKS" - SOLR_SSL_NEED_CLIENT_AUTH: "true" <% if (sharding == 'true') { %> - SOLR_SSL_CLIENT_KEY_STORE: "/opt/<%=searchPath%>/keystore/ssl.repo.client.keystore" - SOLR_SSL_CLIENT_KEY_STORE_PASSWORD: "kT9X6oe68t" - SOLR_SSL_CLIENT_KEY_STORE_TYPE: "JCEKS" - SOLR_SSL_CLIENT_TRUST_STORE: "/opt/<%=searchPath%>/keystore/ssl.repo.client.keystore" - SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD: "kT9X6oe68t" - SOLR_SSL_CLIENT_TRUST_STORE_TYPE: "JCEKS" <% } %> + SOLR_SSL_NEED_CLIENT_AUTH: "true" SOLR_OPTS: " -Dsolr.ssl.checkPeerName=false -Dsolr.allow.unsafe.resourceloading=true @@ -90,7 +79,7 @@ services: volumes: - ./keystores/solr:/opt/<%=searchPath%>/keystore <% } %> - <% if (sharding == 'true' || replication == 'true') { %> + <% if (replication == 'true') { %> solr6secondary: build: context: ./search @@ -103,11 +92,7 @@ services: KEYSTORE_TYPE: JCEKS <% } %> <% if (replication == 'true') { %> ENABLE_MASTER: "true" ENABLE_SLAVE: "false" - MASTER_HOST: solr6 <% } %> <% if (sharding == 'true') { %> - ENABLE_SHARDING: "true" - NUM_SHARDS: "2" - SHARD_ID: "1" <% } %> <% if (explicitRouting == 'true') { %> - EXPLICIT_ROUTING_SHARDING: "true" <% } %> + MASTER_HOST: solr6 <% } %> mem_limit: 1200m environment: #Solr needs to know how to register itself with Alfresco @@ -125,13 +110,7 @@ services: SOLR_SSL_KEY_STORE: "/opt/<%=searchPath%>/keystore/ssl.repo.client.keystore" SOLR_SSL_KEY_STORE_PASSWORD: "kT9X6oe68t" SOLR_SSL_KEY_STORE_TYPE: "JCEKS" - SOLR_SSL_NEED_CLIENT_AUTH: "true" <% if (sharding == 'true') { %> - SOLR_SSL_CLIENT_KEY_STORE: "/opt/<%=searchPath%>/keystore/ssl.repo.client.keystore" - SOLR_SSL_CLIENT_KEY_STORE_PASSWORD: "kT9X6oe68t" - SOLR_SSL_CLIENT_KEY_STORE_TYPE: "JCEKS" - SOLR_SSL_CLIENT_TRUST_STORE: "/opt/<%=searchPath%>/keystore/ssl.repo.client.keystore" - SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD: "kT9X6oe68t" - SOLR_SSL_CLIENT_TRUST_STORE_TYPE: "JCEKS" <% } %> + SOLR_SSL_NEED_CLIENT_AUTH: "true" SOLR_OPTS: " -Dsolr.ssl.checkPeerName=false -Dsolr.allow.unsafe.resourceloading=true