2 # SPDX-license-identifier: Apache-2.0
3 ##############################################################################
4 # Copyright (c) 2019 Enea Software AB and others.
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
14 echo "JOB_NAME=${JOB_NAME}"
16 # Run either ssh or scp on the K8S master
17 run_on_k8s_master () {
31 echo "Use either ssh or scp to run on K8S master"
36 if [ -n "${K8S_SSH_PASSWORD}" ]
38 eval sshpass -p "${K8S_SSH_PASSWORD}" "${_c}" \
39 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
40 "${K8S_SSH_USER}@${K8S_MASTER_IP}${_s}" "$@"
41 elif [ -n "${K8S_SSH_KEY}" ]
43 eval "${_c}" -i "${K8S_SSH_KEY}" \
44 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
45 "${K8S_SSH_USER}@${K8S_MASTER_IP}${_s}" "$@"
47 echo "Neither K8S_SSH_PASSWORD nor K8S_SSH_KEY are set"
54 K8S_MASTER_IP=$(docker exec fuel cat /etc/hosts | grep iec01 \
56 # On Fuel deployements the K8s ssh key is the one used by the deploy job
57 K8S_SSH_KEY=${SSH_KEY}
58 IEC_DIR="/var/lib/akraino/iec"
59 KUBE_DIR="~${K8S_SSH_USER}/.kube"
62 # K8S_{MASTER_IP,SSH_USER,SSH_PASSWORD} are already set by job params
63 IEC_DIR="/${K8S_SSH_USER}/iec"
64 KUBE_DIR="~${K8S_SSH_USER}/.kube"
67 # CLUSTER_{MASTER_IP,SSH_USER,SSH_PASSWORD} are already set by job params
68 K8S_MASTER_IP=${CLUSTER_MASTER_IP}
69 K8S_SSH_USER=${CLUSTER_SSH_USER}
70 K8S_SSH_PASSWORD=${CLUSTER_SSH_PASSWORD}
71 IEC_DIR="/var/lib/akraino/iec"
72 KUBE_DIR="~${K8S_SSH_USER}/.kube"
73 UPSTREAM_PROJECT='rec'
74 # The REC cluster do not have a clone of the iec repo
75 IEC_REPO="https://gerrit.akraino.org/r/iec.git"
76 IEC_DIR="~${CLUSTER_SSH_USER}/iec"
77 IEC_CLONE_CMD="'if ! [ -d "$IEC_DIR" ];\
80 git clone $IEC_REPO $IEC_DIR;
82 run_on_k8s_master ssh "${IEC_CLONE_CMD}"
85 echo "Cannot determine installer from ${JOB_NAME}"
90 if [ -z "$K8S_SSH_USER" ]
92 echo "K8S_SSH_USER not set, cannot ssh to K8S master, aborting"
96 export K8S_MASTER_IP UPSTREAM_PROJECT="${UPSTREAM_PROJECT:-${PROJECT}}"
100 *-install-seba_on_arm*)
101 INSTALL_CMD="'cd ${IEC_DIR}/src/use_cases/seba_on_arm/install; K8S_MASTER_IP=${K8S_MASTER_IP} ./install.sh ${UPSTREAM_PROJECT}'"
102 run_on_k8s_master ssh "${INSTALL_CMD}"
106 case "${PON_TYPE}" in
110 echo "Unknown PON_TYPE ${PON_TYPE}"
115 # After the installation, copy the .kube dir from the K8S master
116 cd "${WORKSPACE}" || exit 1
117 run_on_k8s_master scp "${KUBE_DIR}" "${WORKSPACE}"
119 SEBA_TEST_DIR="src/use_cases/seba_on_arm/test"
120 TEST_CMD="${SEBA_TEST_DIR}/${PON_TYPE}/test.sh ${UPSTREAM_PROJECT}"
121 echo "Issuing command"
127 echo "Cannot determine what to do for seba_on_arm from ${JOB_NAME}"