| --- |
| |
| - job-template: |
| name: '{env}-resilience-healthdist' |
| disabled: '{obj:disabled_var}' |
| project-type: freestyle |
| lab-name: '' |
| tenant-name: '' |
| scm: |
| - git-integration: |
| branch: "{integration-branch}" |
| wrappers: |
| - timestamps |
| parameters: |
| - string: |
| name: POD_TO_DELETE |
| description: 'Name of pod to delete. This string will be grepped against the pod list and used to delete the pod.' |
| properties: |
| - build-blocker: |
| blocking-jobs: |
| - "{env}-deploy" |
| - "{env}-healthcheck" |
| builders: |
| - shell: | |
| #!/bin/bash |
| set +x |
| . $WORKSPACE/deployment/heat/onap-rke/env/{lab-name}/{tenant-name}-openrc |
| . $JENKINS_HOME/onap-lab-ci/labs/{lab-name}-openrc |
| source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh |
| |
| set -x |
| rm -rf $WORKSPACE/archives |
| mkdir -p $WORKSPACE/archives |
| |
| SSH_KEY=~/.ssh/onap_key |
| STACK_NAME="{stack-name}" |
| NFS_IP=$(openstack stack output show $STACK_NAME nfs_vm_ip -c output_value -f value) |
| K8S_IP=$(openstack stack output show $STACK_NAME k8s_01_vm_ip -c output_value -f value) |
| ssh-keygen -R $NFS_IP |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| ROBOT_POD=$(echo "kubectl -n onap get pods | grep robot | sed 's/ .*//'" | ssh -i $SSH_KEY -o StrictHostKeychecking=no ubuntu@$NFS_IP sudo su) |
| if [ "$ROBOT_POD" == "" ]; then |
| exit 1 |
| fi |
| |
| POD_TO_KILL=$(echo "kubectl -n onap get pods | grep $POD_TO_DELETE | sed 's/ .*//' | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| echo "kubectl -n onap delete pod $POD_TO_KILL" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| for n in $(seq 1 180); do |
| sleep 30 |
| RESULT=$(ssh -i $SSH_KEY ubuntu@$NFS_IP 'sudo su -c "kubectl -n onap get pods"' | grep -vE 'NAME|Completed|Error|1/1|2/2|3/3' | wc -l) |
| if [[ $? -eq 0 && $RESULT -eq 0 ]]; then |
| break |
| fi |
| done |
| |
| ssh -i $SSH_KEY ubuntu@$NFS_IP 'sudo su -l root -c "/root/oom/kubernetes/robot/ete-k8s.sh onap healthdist"' |
| retval=$? |
| |
| LOG_DIR=$(echo "kubectl exec -n onap $ROBOT_POD -- ls -1t /share/logs | grep healthdist | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| if [ "$LOG_DIR" == "" ]; then |
| exit 1 |
| fi |
| |
| rsync -e "ssh -i $SSH_KEY" -avtz ubuntu@$NFS_IP:/dockerdata-nfs/dev-robot/robot/logs/$LOG_DIR/ $WORKSPACE/archives/ |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| echo "Browse Robot results at http://$K8S_IP:30209/logs/$LOG_DIR/" |
| |
| exit 0 |
| publishers: |
| - integration-robot |
| - archive-logs |
| |
| - job-template: |
| name: '{env}-resilience-instantiateDemoVFWCL' |
| disabled: '{obj:disabled_var}' |
| project-type: freestyle |
| lab-name: '' |
| tenant-name: '' |
| scm: |
| - git-integration: |
| branch: "{integration-branch}" |
| wrappers: |
| - timestamps |
| parameters: |
| - string: |
| name: POD_TO_DELETE |
| description: 'Name of pod to delete. This string will be grepped against the pod list and used to delete the pod.' |
| properties: |
| - build-blocker: |
| blocking-jobs: |
| - "{env}-deploy" |
| - "{env}-healthcheck" |
| builders: |
| - shell: | |
| #!/bin/bash |
| set +x |
| . $WORKSPACE/deployment/heat/onap-rke/env/{lab-name}/{tenant-name}-openrc |
| . $JENKINS_HOME/onap-lab-ci/labs/{lab-name}-openrc |
| source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh |
| |
| set -x |
| rm -rf $WORKSPACE/archives |
| mkdir -p $WORKSPACE/archives |
| |
| SSH_KEY=~/.ssh/onap_key |
| STACK_NAME="{stack-name}" |
| NFS_IP=$(openstack stack output show $STACK_NAME nfs_vm_ip -c output_value -f value) |
| K8S_IP=$(openstack stack output show $STACK_NAME k8s_01_vm_ip -c output_value -f value) |
| ssh-keygen -R $NFS_IP |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| ROBOT_POD=$(echo "kubectl -n onap get pods | grep robot | sed 's/ .*//'" | ssh -i $SSH_KEY -o StrictHostKeychecking=no ubuntu@$NFS_IP sudo su) |
| if [ "$ROBOT_POD" == "" ]; then |
| exit 1 |
| fi |
| |
| POD_TO_KILL=$(echo "kubectl -n onap get pods | grep $POD_TO_DELETE | sed 's/ .*//' | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| echo "kubectl -n onap delete pod $POD_TO_KILL" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| for n in $(seq 1 180); do |
| sleep 30 |
| RESULT=$(ssh -i $SSH_KEY ubuntu@$NFS_IP 'sudo su -c "kubectl -n onap get pods"' | grep -vE 'NAME|Completed|Error|1/1|2/2|3/3' | wc -l) |
| if [[ $? -eq 0 && $RESULT -eq 0 ]]; then |
| break |
| fi |
| done |
| |
| ssh -i $SSH_KEY ubuntu@$NFS_IP 'sudo su -l root -c "/root/oom/kubernetes/robot/ete-k8s.sh onap instantiateDemoVFWCL"' |
| retval=$? |
| |
| LOG_DIR=$(echo "kubectl exec -n onap $ROBOT_POD -- ls -1t /share/logs | grep instantiateDemoVFWCL | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| if [ "$LOG_DIR" == "" ]; then |
| exit 1 |
| fi |
| |
| rsync -e "ssh -i $SSH_KEY" -avtz ubuntu@$NFS_IP:/dockerdata-nfs/dev-robot/robot/logs/$LOG_DIR/ $WORKSPACE/archives/ |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| echo "Browse Robot results at http://$K8S_IP:30209/logs/$LOG_DIR/" |
| |
| # clean up demo stacks |
| DEMO_STACKS=$(openstack stack list -f value -c "Stack Name" --sort creation_time:desc | grep Vfmodule_Demo_ ) |
| if [ ! -z "$DEMO_STACKS" ]; then |
| openstack stack delete -y $DEMO_STACKS |
| fi |
| |
| # clean up vVG VNFs |
| VVG_SERVERS=$(openstack server list -f value -c Name --sort creation_time:desc | grep vVG_) |
| if [ ! -z "$VVG_SERVERS" ]; then |
| openstack server delete $VVG_SERVERS |
| fi |
| |
| exit 0 |
| publishers: |
| - integration-robot |
| - archive-logs |
| |
| - job-template: |
| name: '{env}-resilience-vfwclosedloop' |
| disabled: '{obj:disabled_var}' |
| project-type: freestyle |
| lab-name: '' |
| tenant-name: '' |
| scm: |
| - git-integration: |
| branch: "{integration-branch}" |
| wrappers: |
| - timestamps |
| parameters: |
| - string: |
| name: POD_TO_DELETE |
| description: 'Name of pod to delete. This string will be grepped against the pod list and used to delete the pod.' |
| properties: |
| - build-blocker: |
| blocking-jobs: |
| - "{env}-deploy" |
| - "{env}-healthcheck" |
| builders: |
| - shell: | |
| #!/bin/bash |
| set +x |
| . $WORKSPACE/deployment/heat/onap-rke/env/{lab-name}/{tenant-name}-openrc |
| . $JENKINS_HOME/onap-lab-ci/labs/{lab-name}-openrc |
| source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh |
| |
| set -x |
| rm -rf $WORKSPACE/archives |
| mkdir -p $WORKSPACE/archives |
| |
| SSH_KEY=~/.ssh/onap_key |
| STACK_NAME="{stack-name}" |
| NFS_IP=$(openstack stack output show $STACK_NAME nfs_vm_ip -c output_value -f value) |
| K8S_IP=$(openstack stack output show $STACK_NAME k8s_01_vm_ip -c output_value -f value) |
| ssh-keygen -R $NFS_IP |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| ROBOT_POD=$(echo "kubectl -n onap get pods | grep robot | sed 's/ .*//'" | ssh -i $SSH_KEY -o StrictHostKeychecking=no ubuntu@$NFS_IP sudo su) |
| if [ "$ROBOT_POD" == "" ]; then |
| exit 1 |
| fi |
| |
| POD_TO_KILL=$(echo "kubectl -n onap get pods | grep $POD_TO_DELETE | sed 's/ .*//' | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| echo "kubectl -n onap delete pod $POD_TO_KILL" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| for n in $(seq 1 180); do |
| sleep 30 |
| RESULT=$(ssh -i $SSH_KEY ubuntu@$NFS_IP 'sudo su -c "kubectl -n onap get pods"' | grep -vE 'NAME|Completed|Error|1/1|2/2|3/3' | wc -l) |
| if [[ $? -eq 0 && $RESULT -eq 0 ]]; then |
| break |
| fi |
| done |
| |
| PKG_STACK=$(openstack stack list -f value -c "Stack Name" --sort creation_time:desc | grep Vfmodule_Demo_vFWCLvPKG | head -1) |
| PUBLIC_NET_ID=$(openstack stack show $STACK_NAME -f json | jq -r '.parameters.public_net_id') |
| PUBLIC_NET_NAME=$(openstack network show $PUBLIC_NET_ID -f value -c name) |
| PKG_IP=$(openstack stack resource show $PKG_STACK vpg_server_0 -f json | jq -r ".attributes.addresses.$PUBLIC_NET_NAME[0].addr") |
| |
| for n in $(seq 1 10); do |
| echo "Wait for vfwclosedloop count $n of 10" |
| echo "/root/oom/kubernetes/robot/demo-k8s.sh onap vfwclosedloop $PKG_IP" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| RESULT=$? |
| if [[ $RESULT -eq 0 ]]; then |
| break |
| fi |
| done |
| |
| LOG_DIR=$(echo "kubectl exec -n onap $ROBOT_POD -- ls -1t /share/logs | grep vfwclosedloop | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| if [ "$LOG_DIR" == "" ]; then |
| exit 1 |
| fi |
| |
| rsync -e "ssh -i $SSH_KEY" -avtz ubuntu@$NFS_IP:/dockerdata-nfs/dev-robot/robot/logs/$LOG_DIR/ $WORKSPACE/archives/ |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| echo "Browse Robot results at http://$K8S_IP:30209/logs/$LOG_DIR/" |
| |
| exit 0 |
| publishers: |
| - integration-robot |
| - archive-logs |
| |
| |
| - job-template: |
| disabled_var: |
| name: '{env}-stability72hr' |
| disabled: '{obj:disabled_var}' |
| project-type: freestyle |
| lab-name: '' |
| tenant-name: '' |
| scm: |
| - git-integration: |
| branch: "{integration-branch}" |
| wrappers: |
| - timestamps |
| triggers: |
| - timed: '0 * * * *' |
| properties: |
| - build-blocker: |
| blocking-jobs: |
| - "{env}-deploy" |
| - "{env}-healthcheck" |
| - "{env}-instantiate" |
| - "{env}-manual" |
| - "{env}-staging-manual" |
| builders: |
| - shell: | |
| #!/bin/bash |
| set +x |
| . $WORKSPACE/deployment/heat/onap-rke/env/{lab-name}/{tenant-name}-openrc |
| . $JENKINS_HOME/onap-lab-ci/labs/{lab-name}-openrc |
| source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh |
| |
| set -x |
| rm -rf $WORKSPACE/archives |
| mkdir -p $WORKSPACE/archives |
| |
| SSH_KEY=~/.ssh/onap_key |
| STACK_NAME="{stack-name}" |
| NFS_IP=$(openstack stack output show $STACK_NAME nfs_vm_ip -c output_value -f value) |
| K8S_IP=$(openstack stack output show $STACK_NAME k8s_01_vm_ip -c output_value -f value) |
| ssh-keygen -R $NFS_IP |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| ROBOT_POD=$(echo "kubectl -n onap get pods | grep robot | sed 's/ .*//'" | ssh -i $SSH_KEY -o StrictHostKeychecking=no ubuntu@$NFS_IP sudo su) |
| if [ "$ROBOT_POD" == "" ]; then |
| exit 1 |
| fi |
| |
| ssh -i $SSH_KEY ubuntu@$NFS_IP 'sudo su -l root -c "/root/oom/kubernetes/robot/ete-k8s.sh onap stability72hr"' |
| retval=$? |
| |
| LOG_DIR=$(echo "kubectl exec -n onap $ROBOT_POD -- ls -1t /share/logs | grep stability72hr | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| if [ "$LOG_DIR" == "" ]; then |
| exit 1 |
| fi |
| |
| rsync -e "ssh -i $SSH_KEY" -avtz ubuntu@$NFS_IP:/dockerdata-nfs/dev-robot/robot/logs/$LOG_DIR/ $WORKSPACE/archives/ |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| echo "Browse Robot results at http://$K8S_IP:30209/logs/$LOG_DIR/" |
| |
| # clean up demo stacks |
| DEMO_STACKS=$(openstack stack list -f value -c "Stack Name" --sort creation_time:desc | grep Vfmodule_Ete_ ) |
| if [ ! -z "$DEMO_STACKS" ]; then |
| openstack stack delete -y $DEMO_STACKS |
| fi |
| |
| # clean up vVG VNFs |
| VVG_SERVERS=$(openstack server list -f value -c Name --sort creation_time:desc | grep vVG_) |
| if [ ! -z "$VVG_SERVERS" ]; then |
| openstack server delete $VVG_SERVERS |
| fi |
| |
| exit 0 |
| publishers: |
| - integration-robot |
| - archive-logs |
| |
| - job-template: |
| disabled_var: |
| name: '{env}-vfwclosedloop' |
| disabled: '{obj:disabled_var}' |
| project-type: freestyle |
| lab-name: '' |
| tenant-name: '' |
| scm: |
| - git-integration: |
| branch: "{integration-branch}" |
| wrappers: |
| - timestamps |
| triggers: |
| - timed: '0 * * * *' |
| properties: |
| - build-blocker: |
| blocking-jobs: |
| - "{env}-deploy" |
| - "{env}-healthcheck" |
| - "{env}-instantiate" |
| - "{env}-manual" |
| - "{env}-staging-manual" |
| builders: |
| - shell: | |
| #!/bin/bash |
| set +x |
| . $WORKSPACE/deployment/heat/onap-rke/env/{lab-name}/{tenant-name}-openrc |
| . $JENKINS_HOME/onap-lab-ci/labs/{lab-name}-openrc |
| source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh |
| |
| set -x |
| rm -rf $WORKSPACE/archives |
| mkdir -p $WORKSPACE/archives |
| |
| SSH_KEY=~/.ssh/onap_key |
| STACK_NAME="{stack-name}" |
| NFS_IP=$(openstack stack output show $STACK_NAME nfs_vm_ip -c output_value -f value) |
| K8S_IP=$(openstack stack output show $STACK_NAME k8s_01_vm_ip -c output_value -f value) |
| ssh-keygen -R $NFS_IP |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| ROBOT_POD=$(echo "kubectl -n onap get pods | grep robot | sed 's/ .*//'" | ssh -i $SSH_KEY -o StrictHostKeychecking=no ubuntu@$NFS_IP sudo su) |
| if [ "$ROBOT_POD" == "" ]; then |
| exit 1 |
| fi |
| |
| PKG_STACK=$(openstack stack list -f value -c "Stack Name" --sort creation_time:desc | grep Vfmodule_Demo_vFWCLvPKG | head -1) |
| PUBLIC_NET_ID=$(openstack stack show $STACK_NAME -f json | jq -r '.parameters.public_net_id') |
| PUBLIC_NET_NAME=$(openstack network show $PUBLIC_NET_ID -f value -c name) |
| PKG_IP=$(openstack stack resource show $PKG_STACK vpg_server_0 -f json | jq -r ".attributes.addresses.$PUBLIC_NET_NAME[0].addr") |
| |
| |
| echo "/root/oom/kubernetes/robot/demo-k8s.sh onap vfwclosedloop $PKG_IP" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| retval=$? |
| |
| LOG_DIR=$(echo "kubectl exec -n onap $ROBOT_POD -- ls -1t /share/logs | grep vfwclosedloop | head -1" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su) |
| if [ "$LOG_DIR" == "" ]; then |
| exit 1 |
| fi |
| |
| rsync -e "ssh -i $SSH_KEY" -avtz ubuntu@$NFS_IP:/dockerdata-nfs/dev-robot/robot/logs/$LOG_DIR/ $WORKSPACE/archives/ |
| |
| echo "kubectl top nodes" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| echo "kubectl get pods -n onap | grep -vE 'Completed|Error|1/1|2/2|3/3'" | ssh -i $SSH_KEY ubuntu@$NFS_IP sudo su |
| |
| echo "Browse Robot results at http://$K8S_IP:30209/logs/$LOG_DIR/" |
| |
| exit 0 |
| publishers: |
| - integration-robot |
| - archive-logs |
| |
| |
| - job-template: |
| name: 'oom-verify' |
| project-type: freestyle |
| parameters: |
| - string: |
| name: GERRIT_PROJECT |
| default: 'oom' |
| description: 'GERRIT_PROJECT parameter if not given by trigger' |
| - string: |
| name: GERRIT_BRANCH |
| default: '{branch}' |
| description: 'JJB configured GERRIT_BRANCH parameter' |
| - string: |
| name: GERRIT_REFSPEC |
| default: 'refs/heads/{branch}' |
| description: 'GERRIT_REFSPEC parameter if not given by trigger' |
| scm: |
| - gerrit-trigger-scm |
| triggers: |
| - gerrit: |
| server-name: 'gerrit.onap.org' |
| trigger-on: |
| - patchset-created-event: |
| exclude-drafts: 'false' |
| exclude-trivial-rebase: 'false' |
| exclude-no-code-change: 'false' |
| - draft-published-event |
| - comment-added-contains-event: |
| comment-contains-value: 'recheck' |
| projects: |
| - project-compare-type: 'ANT' |
| project-pattern: 'oom' |
| branches: |
| - branch-compare-type: 'ANT' |
| branch-pattern: '**/{branch}' |
| file-paths: |
| - compare-type: 'ANT' |
| pattern: 'kubernetes/**/*.yaml' |
| - project-compare-type: 'ANT' |
| project-pattern: '*/oom' |
| branches: |
| - branch-compare-type: 'ANT' |
| branch-pattern: '**/{branch}' |
| file-paths: |
| - compare-type: 'ANT' |
| pattern: '**/*.yaml' |
| wrappers: |
| - timestamps |
| - timeout: |
| timeout: 720 |
| fail: true |
| builders: |
| - shell: | |
| #!/bin/bash |
| |
| set +e |
| set -x |
| rm -rf $WORKSPACE/archives |
| mkdir -p $WORKSPACE/archives |
| |
| NEXUS_RELEASE_PREFIX="https://nexus3.onap.org/repository/docker.release/v2" |
| RELEASE_TAGS_PATH="/tmp/onap-docker-release" |
| err=0 |
| |
| # if no files changed, will scan all files |
| CHANGED_FILES="" |
| if [ $(git rev-parse HEAD) != $(git rev-parse origin/master) ]; then |
| CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r HEAD) |
| fi |
| IMAGES_FILE=$WORKSPACE/archives/images.txt |
| rgrep --exclude-dir=pnda -n -E ':\s*onap/.*:.*' $CHANGED_FILES | awk '{{$1=$1}};1' | sort > $IMAGES_FILE |
| |
| set +x |
| while read line; do |
| location=$(echo $line | cut -d: -f-2) |
| image_tag=$(echo $line | cut -d: -f3- | awk '{{$1=$1}};1' | cut -d' ' -f2) |
| image=$(echo $image_tag | cut -d : -f 1) |
| tag=$(echo $image_tag | cut -d : -f 2) |
| |
| case $tag in |
| *STAGING*) |
| echo "[ERROR] $location: $image:$tag not released" |
| (( err++ )) |
| ;; |
| *SNAPSHOT*) |
| echo "[ERROR] $location: $image:$tag not released" |
| (( err++ )) |
| ;; |
| *latest*) |
| echo "[ERROR] $location: $image:$tag not released" |
| (( err++ )) |
| ;; |
| *) |
| TAGS_FILE=$RELEASE_TAGS_PATH/$image/tags.txt |
| mkdir -p $RELEASE_TAGS_PATH/$image |
| touch $TAGS_FILE |
| grep -q "^$tag\$" $TAGS_FILE |
| if [ $? -ne 0 ]; then |
| # not found; download latest |
| curl -s $NEXUS_RELEASE_PREFIX/$image/tags/list | jq -r '.tags[]' > $TAGS_FILE 2> /dev/null |
| grep -q "^$tag\$" $TAGS_FILE |
| if [ $? -ne 0 ]; then |
| echo "[ERROR] $location: $image:$tag not released" |
| (( err++ )) |
| fi |
| fi |
| ;; |
| esac |
| done < $IMAGES_FILE |
| echo $err unreleased images found. |
| exit $err |
| |
| publishers: |
| - archive-logs |