From 889cefabaf5412835180476f6a485fcf86cb9ec5 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 Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize Signed-off-by: Joy Nelson (cherry picked from commit 0453ec44b2531dceaf58e1b1cfb83ea24f84e52c) Signed-off-by: Lucas Gass --- debian/scripts/koha-create | 14 +++++++++++++- debian/templates/koha-conf-site.xml.in | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/debian/scripts/koha-create b/debian/scripts/koha-create index 6551fea3ef..072acb1d4b 100755 --- a/debian/scripts/koha-create +++ b/debian/scripts/koha-create @@ -53,6 +53,8 @@ Options: normarc and unimarc. --zebralang lang Choose the primary language for Zebra indexing. Valid values are cs, en (default), es, fr, gr, nb, ru and uk. + --elasticsearch-server s Enforce the use of the specified Elasticsearch server(s) + (default: localhost:9200). --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. --enable-sru Enable the Z39.50/SRU server (default: disabled). @@ -103,6 +105,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" \ @@ -340,6 +343,8 @@ PASSWDFILE="/etc/koha/passwd" USE_MEMCACHED="yes" 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_" @@ -373,7 +378,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,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,timezone:,upload-path:,tmp-path:,letsencrypt, \ +TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,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:,timezone:,upload-path:,tmp-path:,letsencrypt, \ -n "$0" -- "$@"` # Note the quotes around `$TEMP': they are essential! @@ -386,6 +391,7 @@ CLO_DEFAULTSQL="" CLO_ADMINUSER="" CLO_MEMCACHED_SERVERS="" CLO_MEMCACHED_PREFIX="" +CLO_ELASTICSEARCH_SERVER="" CLO_UPLOAD_PATH="" CLO_TMP_PATH="" CLO_LETSENCRYPT="" @@ -406,6 +412,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) @@ -482,6 +490,10 @@ if [ "$CLO_TIMEZONE" != "" ]; then TIMEZONE=$CLO_TIMEZONE fi +if [ "${CLO_ELASTICSEARCH_SERVER}" != "" ]; then + ELASTICSEARCH_SERVER="${CLO_ELASTICSEARCH_SERVER}" +fi + if [ "$ENABLE_SRU" != "no" ]; then enable_sru_server fi diff --git a/debian/templates/koha-conf-site.xml.in b/debian/templates/koha-conf-site.xml.in index 3a05593794..0607997d6e 100644 --- a/debian/templates/koha-conf-site.xml.in +++ b/debian/templates/koha-conf-site.xml.in @@ -351,8 +351,8 @@ __END_SRU_PUBLICSERVER__ - localhost:9200 - koha___KOHASITE__ + __ELASTICSEARCH_SERVER__ + koha___KOHASITE__ -- 2.39.5