X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=servicemanager%2Fdeploy%2Fsrc%2Fdeploy-to-k8s.sh;h=18a05835137860b49f31c87ca846606c41b07ae3;hb=refs%2Fchanges%2F63%2F12763%2F4;hp=9e81d61fe9a6cce98c0a197056f06f97d2ceaa42;hpb=cbac30ac2136aebbc76a69f197a782ab94d083e8;p=nonrtric%2Fplt%2Fsme.git diff --git a/servicemanager/deploy/src/deploy-to-k8s.sh b/servicemanager/deploy/src/deploy-to-k8s.sh index 9e81d61..18a0583 100755 --- a/servicemanager/deploy/src/deploy-to-k8s.sh +++ b/servicemanager/deploy/src/deploy-to-k8s.sh @@ -20,56 +20,78 @@ create_env_from_template(){ # Set up .env file for Kubernetes Config Map echo "create_env_from_template" - cp -v ../../.env.example ./.env - sed -i 's/KONG_DOMAIN=/KONG_DOMAIN=kong/' .env - sed -i 's/KONG_PROTOCOL=/KONG_PROTOCOL=http/' .env - sed -i 's/KONG_IPV4=/KONG_IPV4=10.101.1.101/' .env - sed -i 's/KONG_DATA_PLANE_PORT=/KONG_DATA_PLANE_PORT=32080/' .env - sed -i 's/KONG_CONTROL_PLANE_PORT=/KONG_CONTROL_PLANE_PORT=32081/' .env - sed -i 's/CAPIF_PROTOCOL=/CAPIF_PROTOCOL=http/' .env - sed -i 's/CAPIF_IPV4=/CAPIF_IPV4=10.101.1.101/' .env - sed -i 's/CAPIF_PORT=/CAPIF_PORT=31570/' .env - sed -i 's/LOG_LEVEL=/LOG_LEVEL=Info/' .env - sed -i 's/SERVICE_MANAGER_PORT=/SERVICE_MANAGER_PORT=8095/' .env - sed -i 's/TEST_SERVICE_IPV4=/TEST_SERVICE_IPV4=10.101.1.101/' .env - sed -i 's/TEST_SERVICE_PORT=/TEST_SERVICE_PORT=30951/' .env + if [ ! -f ../../.env ]; then + cp -v ../../.env.example ../../.env + sed -i 's/KONG_DOMAIN=/KONG_DOMAIN=kong/' ../../.env + sed -i 's/KONG_PROTOCOL=/KONG_PROTOCOL=http/' ../../.env + sed -i 's/KONG_CONTROL_PLANE_IPV4=/KONG_CONTROL_PLANE_IPV4=kong-kong-admin.kong.svc.cluster.local/' ../../.env + sed -i 's/KONG_CONTROL_PLANE_PORT=/KONG_CONTROL_PLANE_PORT=8001/' ../../.env + sed -i 's/KONG_DATA_PLANE_IPV4=/KONG_DATA_PLANE_IPV4=kong-kong-proxy.kong.svc.cluster.local/' ../../.env + sed -i 's/KONG_DATA_PLANE_PORT=/KONG_DATA_PLANE_PORT=80/' ../../.env + sed -i 's/CAPIF_PROTOCOL=/CAPIF_PROTOCOL=http/' ../../.env + sed -i 's/CAPIF_IPV4=/CAPIF_IPV4=capifcore.servicemanager.svc.cluster.local/' ../../.env + sed -i 's/CAPIF_PORT=/CAPIF_PORT=8090/' ../../.env + sed -i 's/LOG_LEVEL=/LOG_LEVEL=Info/' ../../.env + sed -i 's/SERVICE_MANAGER_PORT=/SERVICE_MANAGER_PORT=8095/' ../../.env + sed -i 's/TEST_SERVICE_IPV4=/TEST_SERVICE_IPV4=10.101.1.101/' ../../.env + sed -i 's/TEST_SERVICE_PORT=/TEST_SERVICE_PORT=30951/' ../../.env + echo "created .env" + else + echo "found .env" + fi } -substitute_repo(){ - echo "substitute_repo" +substitute_repos(){ + echo "substitute_repos" docker_repo=$1 # Use our own Capificore and ServiceManager images - sed -i "s/image: o-ran-sc.org\/nonrtric\/plt\/capifcore/image: $docker_repo\/capifcore:latest/" ../manifests/capifcore.yaml - sed -i 's/imagePullPolicy: IfNotPresent/imagePullPolicy: Always/' ../manifests/capifcore.yaml - sed -i "s/image: o-ran-sc.org\/nonrtric\/plt\/servicemanager/image: $docker_repo\/servicemanager:latest/" ../manifests/servicemanager.yaml - sed -i 's/imagePullPolicy: IfNotPresent/imagePullPolicy: Always/' ../manifests/servicemanager.yaml + sed -i "s*nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-plt-capifcore:CAPIF_VERSION*$docker_repo/capifcore:latest*" ../manifests/capifcore.yaml + sed -i "s*nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-plt-servicemanager:SERVICEMANAGER_VERSION*$docker_repo/servicemanager:latest*" ../manifests/servicemanager.yaml + + sed -i 's*imagePullPolicy: IfNotPresent*imagePullPolicy: Always*' ../manifests/capifcore.yaml + sed -i 's*imagePullPolicy: IfNotPresent*imagePullPolicy: Always*' ../manifests/servicemanager.yaml +} + +substitute_repo_versions(){ + echo "substitute_repo_versions" + servicemanager_version=$(awk '/tag:/{print $2}' ../../container-tag.yaml) + capif_version=$(awk '/tag:/{print $2}' ../../../capifcore/container-tag.yaml) + # Set the Capificore and ServiceManager image versions + sed -i "s*nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-plt-capifcore:CAPIF_VERSION*nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-plt-capifcore:$capif_version*" ../manifests/capifcore.yaml + sed -i "s*nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-plt-servicemanager:SERVICEMANAGER_VERSION*nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-plt-servicemanager:$servicemanager_version*" ../manifests/servicemanager.yaml } add_env(){ echo "add_env" - additional_env=$1 + # Our additional .env has to exist in the project root folder + additional_env="../../$1" + # Add our own .env file if [ -f $additional_env ]; then - echo "found additional env" - kubectl create configmap env-configmap --from-file=.env --from-file=$additional_env -n servicemanager + echo "found additional env $1" + kubectl create configmap env-configmap --from-file=../../.env --from-file=$additional_env -n servicemanager # Add additional env file to volume mounting env_filename=$(basename "$additional_env") echo "env_filename $env_filename" - mount_path_wc=$(grep "mountPath: /app/$env_filename" ../manifests/servicemanager.yaml | wc -l) + mount_path_wc=$(grep "mountPath: /app/servicemanager/$env_filename" ../manifests/servicemanager.yaml | wc -l) env_path_count=$((mount_path_wc)) if [ $env_path_count -eq 0 ]; then echo "Adding mount path" - sed -i -e '/subPath: .env/a\' -e " - name: config-volume\n mountPath: /app/$env_filename\n subPath: $env_filename" ../manifests/servicemanager.yaml + sed -i -e '/subPath: .env/a\' \ + -e " - name: config-volume\n mountPath: /app/servicemanager/$env_filename\n subPath: $env_filename" ../manifests/servicemanager.yaml fi # Update SERVICE_MANAGER_ENV to point to additional env env_extension=$(basename "$additional_env" | awk -F. '{print $NF}') - echo "env_extension $env_extension" - + echo "SERVICE_MANAGER_ENV=$env_extension" sed -i "/- name: SERVICE_MANAGER_ENV/{n;s/ value: \"\"/ value: \"$env_extension\"/}" ../manifests/servicemanager.yaml + return 0 # Return zero for success + else + echo "additional env $additional_env NOT found" + return 1 # Return non-zero for failure fi } @@ -129,15 +151,21 @@ create_env_from_template # Check if the development switch is enabled if [ "$USE_OWN_REPO" = true ]; then - substitute_repo $DOCKER_REPO + substitute_repos $DOCKER_REPO +else + substitute_repo_versions fi kubectl create ns servicemanager if [ "$ADD_ENV" = true ]; then add_env $ENV_PATH + # Check if the function failed + if [ $? -ne 0 ]; then + kubectl create configmap env-configmap --from-file=../../.env -n servicemanager + fi else - kubectl create configmap env-configmap --from-file=.env -n servicemanager + kubectl create configmap env-configmap --from-file=../../.env -n servicemanager fi # Create the Kubernetes resources