Merge "Do tests of RPMs built in verify-full job"
authorThanh Ha <thanh.ha@linuxfoundation.org>
Wed, 24 Jan 2018 23:21:16 +0000 (23:21 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 24 Jan 2018 23:21:16 +0000 (23:21 +0000)
jjb/packaging/packaging.yaml

index 664380505825896c1537d22a25cde0bbcc647ff4..38ff5df9d7ddf5bbadb0c96cf42131e92b1b04b3 100644 (file)
           build-timeout: '{build-timeout}'
 
     builders:
-      # TODO: Install/test each RPM. Will require builder script changes.
+      # Install deps needed for all tests
+      - shell: |
+          # Install expect to interact with Karaf shell
+          sudo yum install -y expect
+          # Install nmap to check status of ODL's SSH port
+          sudo yum install -y nmap
+
+      # Each new build will rm and replace this dir, only need to inject once
+      - inject:
+          properties-content: 'URL=/home/$USER/rpmbuild/RPMS/noarch/*.rpm'
+
       # Test Carbon SR2 tarball
       - inject:
           # yamllint disable-line rule:line-length
           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz'
       - shell: !include-raw: build-rpm.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test Carbon multipatch zip (no parallel tarball available)
       # NB: This will need to be updated as old builds expire
           # yamllint disable-line rule:line-length
           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.3-SNAPSHOT/distribution-karaf-0.6.3-20180115.181738-1.zip'
       - shell: !include-raw: build-rpm.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test latest Carbon snapshot
       - inject:
           properties-content: 'STREAM=carbon'
       - shell: !include-raw: build-rpm-snap.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test Nitrogen tarball
       - inject:
           # yamllint disable-line rule:line-length
           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
       - shell: !include-raw: build-rpm.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test Nitrogen SR1 tarball
       - inject:
           # yamllint disable-line rule:line-length
           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.1/karaf-0.7.1.tar.gz'
       - shell: !include-raw: build-rpm.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test Nitrogen multipatch zip (no parallel tarball available)
       # NB: This will need to be updated as old builds expire
           # yamllint disable-line rule:line-length
           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.2-SNAPSHOT/karaf-0.7.2-20180115.183312-2.zip'
       - shell: !include-raw: build-rpm.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test latest Nitrogen snapshot
       - inject:
           properties-content: 'STREAM=nitrogen'
       - shell: !include-raw: build-rpm-snap.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test Oxygen pre-release autorelease tarball
       # NB: This will need to be updated as old builds expire
           # yamllint disable-line rule:line-length
           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz'
       - shell: !include-raw: build-rpm.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
       # Test Oxygen multipatch zip (no parallel tarball available)
+      # FIXME: Something is wrong with current Oxygen multipatch builds
       # NB: This will need to be updated as old builds expire
-      - inject:
-          # yamllint disable-line rule:line-length
-          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180111.030942-90.zip'
-      - shell: !include-raw: build-rpm.sh
+      # - inject:
+      # yamllint disable-line rule:line-length
+      #     properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180111.030942-90.zip'
+      # - shell: !include-raw: build-rpm.sh
+      # - shell: !include-raw: install-rpm.sh
+      # - shell: !include-raw: start-odl.sh
+      # - shell: !include-raw: test-karaf.expect
+      # - shell: !include-raw: stop-odl.sh
+      # - shell: !include-raw: uninstall-rpm.sh
+      # - shell: |
+      #     Remove old host key so future installs don't fail to SSH
+      #     rm /home/jenkins/.ssh/known_hosts
 
       # Test latest Oxygen snapshot
       - inject:
           properties-content: 'STREAM=oxygen'
       - shell: !include-raw: build-rpm-snap.sh
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
+      - shell: |
+          # Remove old host key so future installs don't fail to SSH
+          rm /home/jenkins/.ssh/known_hosts
 
     triggers:
       - timed: '@daily'