From 6ea7cf6d9a1717adb94d989137630acd5ca07f5f Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 13 Oct 2017 15:59:25 -0300 Subject: [PATCH] Bug 19465: Add --elasticsearch-server option to koha-create This patch adds the --elasticsearch-server option switch to koha-create. It allows choosing a different Elasticsearch configuration. It defaults to the current 'localhost:9200' value. To test: - Apply this patches - Run: $ reset_all $ man koha-create => SUCCESS: The man page shows correct information about the added option switch - Run: $ sudo koha-create --create-db test => SUCCESS: /etc/koha/sites/test/koha-conf.xml contains the default value (i.e. the current behaviour is kept) - Run: $ sudo koha-create --create-db --elasticsearch-server tomas:1234 test2 => SUCCESS: /etc/koha/sites/test2/koha-conf.xml contains the passed value in the section. - Sign off :-D Signed-off-by: Tomas Cohen Arazi --- debian/scripts/koha-create | 14 +++++++++++++- debian/templates/koha-conf-site.xml.in | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/debian/scripts/koha-create b/debian/scripts/koha-create index cdfa63d813..5d8c489024 100755 --- a/debian/scripts/koha-create +++ b/debian/scripts/koha-create @@ -57,6 +57,8 @@ Options: values are dom (default) and grs1. --biblio-idx idx_mode Set the indexing mode for bibliographic records. Valid values are dom (default) and grs1. + --elasticsearch-server s Enforce the use of the specified Elasticsearch server(s) + (default: localhost:9200). --use-memcached Set the instance to make use of memcache. --memcached-servers str Set a comma-separated list of host:port memcached servers. --memcached-prefix str Set the desired prefix for the instance memcached namespace. @@ -113,6 +115,7 @@ generate_config_file() { -e "s/__DB_HOST__/$mysqlhost/g" \ -e "s/__DB_USER__/$mysqluser/g" \ -e "s/__DB_PASS__/$mysqlpwd/g" \ + -e "s/__ELASTICSEARCH_SERVER__/${ELASTICSEARCH_SERVER}/g" \ -e "s/__UNIXUSER__/$username/g" \ -e "s/__UNIXGROUP__/$username/g" \ -e "s#__TEMPLATE_CACHE_DIR__#$TEMPLATE_CACHE_DIR#g" \ @@ -407,6 +410,8 @@ PASSWDFILE="/etc/koha/passwd" USE_MEMCACHED="no" MEMCACHED_SERVERS="" MEMCACHED_PREFIX="" +# elasticsearch config +ELASTICSEARCH_SERVER="localhost:9200" # hardcoded memcached defaults DEFAULT_MEMCACHED_SERVERS="127.0.0.1:11211" DEFAULT_MEMCACHED_PREFIX="koha_" @@ -444,7 +449,7 @@ fi [ $# -ge 1 ] && [ $# -le 16 ] || ( usage ; die "Error: wrong parameters" ) -TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,use-memcached,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,upload-path:,letsencrypt, \ +TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,use-memcached,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,elasticsearch-server:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,upload-path:,letsencrypt, \ -n "$0" -- "$@"` # Note the quotes around `$TEMP': they are essential! @@ -459,6 +464,7 @@ CLO_BIBLIOS_INDEXING_MODE="" CLO_AUTHORITIES_INDEXING_MODE="" CLO_MEMCACHED_SERVERS="" CLO_MEMCACHED_PREFIX="" +CLO_ELASTICSEARCH_SERVER="" CLO_UPLOAD_PATH="" CLO_LETSENCRYPT="" CLO_TEMPLATE_CACHE_DIR="" @@ -479,6 +485,8 @@ while true ; do CLO_MEMCACHED_SERVERS="$2" ; shift 2 ;; --memcached-prefix) CLO_MEMCACHED_PREFIX="$2" ; shift 2;; + --elasticsearch-server) + CLO_ELASTICSEARCH_SERVER="$2" ; shift 2 ;; -m|--marcflavor) CLO_ZEBRA_MARC_FORMAT="$2" ; shift 2 ;; -l|--zebralang) @@ -551,6 +559,10 @@ then PASSWDFILE="$CLO_PASSWDFILE" fi +if [ "${CLO_ELASTICSEARCH_SERVER}" != "" ]; then + ELASTICSEARCH_SERVER="${CLO_ELASTICSEARCH_SERVER}" +fi + if [ "$CLO_BIBLIOS_INDEXING_MODE" != "" ]; then BIBLIOS_INDEXING_MODE=$CLO_BIBLIOS_INDEXING_MODE fi diff --git a/debian/templates/koha-conf-site.xml.in b/debian/templates/koha-conf-site.xml.in index 6056ee2140..2803fcfe12 100644 --- a/debian/templates/koha-conf-site.xml.in +++ b/debian/templates/koha-conf-site.xml.in @@ -320,7 +320,7 @@ __END_SRU_PUBLICSERVER__ 2 - localhost:9200 + __ELASTICSEARCH_SERVER__ koha___KOHASITE__ -- 2.17.0