| # Runs rsync to transfer model data from the current directory to an OpenShift volume | |
| # that is attached to a pod which is running Annif. The instance | |
| # {api-annif-org,ai-finto-fi, etc.} to transfer to is given as the argument. | |
| # You need to be logged to the cluster with the oc tool. | |
| set -e | |
| if [ $# -ne 1 ] | |
| then | |
| echo "Not enough arguments; argument 1: destination_instance" | |
| exit 1 | |
| fi | |
| pod=$(oc get pods -l app.kubernetes.io/instance=$1,app.kubernetes.io/name=annif -o name) | |
| if [[ $pod = *[[:space:]]* ]] | |
| then | |
| echo "Multiple pod exists; using first" | |
| pod=(${pod//$'\n'/ }) | |
| fi | |
| echo "Target is "$pod | |
| pod=${pod#pod/} | |
| if [ -z "${pod}" ] | |
| then | |
| echo "No target pod found" | |
| exit 1 | |
| fi | |
| rsync --rsh='oc rsh' -avrL --exclude="*train*" --exclude="*zip" --inplace projects.d $pod:/annif-projects | |
| rsync --rsh='oc rsh' -avrL --exclude="*train*" --exclude="*zip" --inplace data/{projects,vocabs} $pod:/annif-projects/data | |