go.ligato.io/vpp-agent/v3@v3.5.0/tests/jenkins/vpp_agent_jobs/01A._PREPARE_REPOSITORY_INSIDE_JENKINS_CONTAINER.yml (about)

     1  - job:
     2      block-downstream: false
     3      block-upstream: false
     4      builders:
     5        - shell: |-
     6            ####
     7            # BEGIN BUILDING OF arm64_local_variables.robot for server contivvpp
     8            ####
     9            cat << 'InputComesFromHERE' > tests/robot/variables/arm64_local_variables.robot
    10            *** Settings ***
    11            Resource                          common_variables.robot
    12  
    13            *** Variables ***
    14            #${DOCKER_HOST_IP}                 147.75.98.202
    15            # 20180907 longer-running robot tests moved to contivvpp ARM64 baremetal server
    16            ${DOCKER_HOST_IP}                 147.75.72.194
    17            ${DOCKER_HOST_USER}              robotusername
    18            ${DOCKER_HOST_PSWD}              robotpassword
    19  
    20            ${AGENT_VPP_IMAGE_NAME}           ligato/vpp-agent-arm64:dev
    21            # 20190314 many failures - I try master branch
    22            #${AGENT_VPP_IMAGE_NAME}           ligato/vpp-agent-arm64:latest
    23  
    24            # https://quay.io/repository/coreos/etcd?tag=latest&tab=tags
    25            # 20180711 ponder to change port because of conflict with kubernetes etcd
    26            ${ETCD_SERVER_CREATE}              ${DOCKER_COMMAND} create -p 2379:2379 --name etcd -e ETCDCTL_API=3 -e ETCD_UNSUPPORTED_ARCH=arm64 quay.io/coreos/etcd:v3.3.11-arm64 /usr/local/bin/etcd -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379
    27  
    28            # 20190201 repo https://github.com/spotify/docker-kafka - last change in 2016
    29            # built from repository: https://github.com/stanislav-chlebec/docker-kafka.git
    30            # 20190201 needs to eliminate personal repo
    31            ${KAFKA_SERVER_CREATE}             ${DOCKER_COMMAND} create -it -p 2181:2181 -p 9092:9092 --env ADVERTISED_PORT=9092 --name kafka ligato/kafka-arm64:latest
    32  
    33            # built from repo: https://github.com/ligato/sfc-controller.git // branch:  vpp-agent-2
    34            ${SFC_CONTROLLER_IMAGE_NAME}       ligato/sfc-controller-arm64:dev
    35  
    36            ${AGENT_IMAGE_NAME}           ligato/vpp-agent-arm64:dev
    37            # 20190314 many failures - I try master branch
    38            #${AGENT_IMAGE_NAME}           ligato/vpp-agent-arm64:latest
    39  
    40  
    41            ${AGENT_LIBMEMIF_IMAGE_NAME}       stanislavchlebec/libmemif-sample-service-arm64:latest
    42  
    43            ${DOCKER_COMMAND}                  docker
    44            InputComesFromHERE
    45            ####
    46            # END BUILDING OF arm64_local_variables.robot for server contivvpp
    47            ####
    48  
    49            #cat tests/robot/variables/arm64_local_variables.robot
    50            #pybot -v VARIABLES:arm64_local ./tests/robot/suites/crud/tap_crud.robot
    51            #exit 0
    52  
    53            #git branch --set-upstream-to=origin/dev dev
    54            #git pull --tags
    55  
    56            git status
    57  
    58            #20180629 valid for jenkins master server - folders are directly in docker container
    59            #20190201 why ?
    60            rm -rf /root/vpp-agent
    61            mkdir  /root/vpp-agent
    62            cp -r ./. /root/vpp-agent
    63  
    64            #20190201 why ?
    65            rm -rf /root/work
    66            mkdir  /root/work
    67  
    68            # in working copy of vpp-agent repository
    69            cd /root/vpp-agent
    70  
    71            git status
    72            git log -n 1
    73            git rev-parse HEAD
    74  
    75            #20180914 credetials parametrized
    76            sed -i -e "s/robotusername/$robotusername/g" tests/robot/variables/arm64_local_variables.robot
    77            sed -i -e "s/robotpassword/$robotpassword/g" tests/robot/variables/arm64_local_variables.robot
    78  
    79            ####
    80            # BEGIN BUILDING OF arm64_II_local_variables.robot for server vppagent
    81            ####
    82            cp tests/robot/variables/arm64_local_variables.robot tests/robot/variables/arm64_II_local_variables.robot
    83            sed -i -e 's/147.75.72.194/147.75.98.202/g' tests/robot/variables/arm64_II_local_variables.robot
    84            ####
    85            # END BUILDING OF arm64_II_local_variables.robot for server vppagent
    86            ####
    87  
    88            #20190201 fix failure
    89            #No match found for 'etcdmain: ready to serve client requests' in 15 seconds
    90            #...
    91            #2019-02-01 18:37:32.701319 I | embed: ready to serve client requests
    92            #...
    93            # in tests/robot/libraries/docker.robot
    94            #    ${out}=  Write To Machine Until String    etcd    ${DOCKER_COMMAND} start -i etcd    etcdmain: ready to serve client requests
    95            #sed -i -e 's/etcdmain: ready to serve client requests/embed: ready to serve client requests/g' tests/robot/libraries/docker.robot
    96            #20190211 WAS FIXED
    97  
    98            ##20190204 attempt to fix failures "failed after retrying for":
    99            ## WAIT_TIMEOUT changed from 20s to 600s
   100            #find tests/robot/ -name *robot -exec sed -i -e 's/WAIT_TIMEOUT}=     20s/WAIT_TIMEOUT}=     600s/g' {} \;
   101            #find tests/robot/ -name *robot -exec sed -i -e 's/WAIT_TIMEOUT}=       20s/WAIT_TIMEOUT}=       600s/g' {} \;
   102            #find tests/robot/ -name *robot -exec sed -i -e 's/WAIT_TIMEOUT}=         20s/WAIT_TIMEOUT}=         600s/g' {} \;
   103            #
   104            ## check TIMEOUT changes
   105            #find tests/robot/ -name *robot -exec grep "^\$.*WAIT_TIMEOUT}=     600s.*" {} /dev/null \; | wc -l  ## 68
   106            #find tests/robot/ -name *robot -exec grep "^\$.*WAIT_TIMEOUT}=       600s.*" {} /dev/null \; | wc -l  ## 6
   107            #find tests/robot/ -name *robot -exec grep "^\$.*WAIT_TIMEOUT}=         600s.*" {} /dev/null \; | wc -l  ## 1
   108  
   109            #list changes in repository
   110            git show
   111      concurrent: false
   112      description: |-
   113        ABOUT JENKINS:
   114        This job run on Jenkins master (147.75.83.101).
   115        Jenkins currently run in docker container:
   116        docker run -u root -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home -d  jenkins/jenkins:lts
   117        # We use -d to start Jenkins as a service.
   118        # jenkins_home -> see: sudo ls /var/lib/docker/volumes/jenkins_home/_data
   119        (http://mmorejon.github.io/en/blog/migrate-jenkins-to-a-docker-container/)
   120        To manage the situation inside of container use:
   121        docker exec -it `docker ps | grep jenkins/jenkins:lts | awk '{print $1}'` bash
   122        How to stop: docker stop jenkins/jenkins:lts
   123  
   124        The reason: the repo which is the same for docker building and for all test suites is downloaded only once - the time is saved.
   125  
   126        TODO:
   127        parameter hostid
   128        conflict ligato/ vpp-agent with contiv/vswitch
   129        kafka is builded by me
   130      disabled: false
   131      name: 01A. PREPARE REPOSITORY INSIDE JENKINS CONTAINER
   132      node: master
   133      project-type: freestyle
   134      properties:
   135        - build-discarder:
   136            artifact-days-to-keep: -1
   137            artifact-num-to-keep: -1
   138            days-to-keep: -1
   139            num-to-keep: 7
   140        - raw:
   141            xml: |
   142              <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
   143              <maxConcurrentPerNode>0</maxConcurrentPerNode>
   144              <maxConcurrentTotal>0</maxConcurrentTotal>
   145              <categories class="java.util.concurrent.CopyOnWriteArrayList" />
   146              <throttleEnabled>false</throttleEnabled>
   147              <throttleOption>project</throttleOption>
   148              <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
   149              <paramsToUseForLimit />
   150              </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
   151      publishers: []
   152      scm:
   153        - git:
   154            branches:
   155              - refs/heads/dev
   156            url: https://github.com/ligato/vpp-agent.git
   157      triggers: []
   158      wrappers:
   159        - raw:
   160            xml: |
   161              <hudson.plugins.ws__cleanup.PreBuildCleanup plugin="ws-cleanup@0.37">
   162              <deleteDirs>false</deleteDirs>
   163              <cleanupParameter />
   164              <externalDelete />
   165              <disableDeferredWipeout>false</disableDeferredWipeout>
   166              </hudson.plugins.ws__cleanup.PreBuildCleanup>
   167        - credentials-binding:
   168            - username-password-separated:
   169                credential-id: robot
   170                password: robotpassword
   171                username: robotusername