From 7c186e9703c1d71d7b46ca688bebde9d526f6cab Mon Sep 17 00:00:00 2001
From: Jeremy Stanley <fungi@yuggoth.org>
Date: Fri, 9 Aug 2013 21:43:34 +0000
Subject: [PATCH] Revert "Gate jeepyb and openstack/requirements on pbr"

This reverts commit 8a76bf3788f80302250296e8e999b3c2912bc5fd.

The parentheses workaround for the JJB parsing bug mentioned in the
review notes turned out to not actually function in the resulting
job.

Change-Id: I10e2f6164e616fbaaabbfc3328c6f4bd620d5621
---
 .../files/jenkins_job_builder/config/pbr.yaml | 43 ++++++++++++++
 .../jenkins_job_builder/config/projects.yaml  |  6 --
 .../config/requirements.yaml                  | 59 +++++++------------
 .../openstack_project/files/zuul/layout.yaml  | 10 ++--
 4 files changed, 68 insertions(+), 50 deletions(-)
 create mode 100644 modules/openstack_project/files/jenkins_job_builder/config/pbr.yaml

diff --git a/modules/openstack_project/files/jenkins_job_builder/config/pbr.yaml b/modules/openstack_project/files/jenkins_job_builder/config/pbr.yaml
new file mode 100644
index 0000000000..340c0e2f7f
--- /dev/null
+++ b/modules/openstack_project/files/jenkins_job_builder/config/pbr.yaml
@@ -0,0 +1,43 @@
+- job:
+    name: gate-pbr-devstack-vm-rawinstall
+    node: devstack-precise
+
+    wrappers:
+      - timeout:
+          timeout: 120
+          fail: true
+      - timestamps
+
+    parameters:
+      - label:
+          name: NODE_LABEL
+          description: Label of node to use for this build
+          default: devstack-precise
+
+    builders:
+      - devstack-inprogress
+      - devstack-checkout
+      - shell: |
+          #!/bin/bash -xe
+          export PYTHONUNBUFFERED=true
+          export DEVSTACK_GATE_TEMPEST=0
+          export DEVSTACK_GATE_EXERCISES=0
+          function gate_hook {
+              bash $GATE_SCRIPT_DIR/devstack-vm-gate.sh && \
+              bash -xe $BASE/new/pbr/tools/integration.sh $PROJECTS $BASE
+          }
+          export -f gate_hook
+          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
+          ./safe-devstack-vm-gate-wrap.sh
+      - link-logs
+
+    publishers:
+      - scp:
+          site: 'static.openstack.org'
+          files:
+            - target: 'logs/$LOG_PATH'
+              source: '**/pip.log'
+              keep-hierarchy: false
+              copy-after-failure: true
+      - console-log
+      - devstack-complete
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
index 1d8ac80f1e..aa9504d541 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -181,13 +181,11 @@
     node: precise
     doc-publisher-site: docs.openstack.org
     tarball-site: tarballs.openstack.org
-    mirror: mirror
 
     jobs:
       - openstack-publish-jobs
       - python-jobs
       - pypi-jobs
-      - gate-requirements-integration-{mirror}
 
 
 - project:
@@ -230,14 +228,12 @@
     github-org: openstack-infra
     node: precise
     tarball-site: tarballs.openstack.org
-    mirror: mirror
 
     jobs:
       - gate-{name}-pep8
       - gate-{name}-pyflakes
       - '{name}-tarball'
       - pypi-jobs
-      - gate-requirements-integration-{mirror}
 
 
 - project:
@@ -803,12 +799,10 @@
     node: precise
     tarball-site: tarballs.openstack.org
     doc-publisher-site: docs.openstack.org
-    mirror: no-mirror
 
     jobs:
       - gate-{name}-pep8
       - gate-{name}-python27
-      - gate-requirements-integration-{mirror}
 
 
 - project:
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/requirements.yaml b/modules/openstack_project/files/jenkins_job_builder/config/requirements.yaml
index 9745875751..b8e4780d82 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/requirements.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/requirements.yaml
@@ -1,46 +1,29 @@
-- job-template:
-    name: gate-requirements-integration-{mirror}
-    node: devstack-precise
-
-    wrappers:
-      - timeout:
-          timeout: 120
-          fail: true
-      - timestamps
-
-    parameters:
-      - label:
-          name: NODE_LABEL
-          description: Label of node to use for this build
-          default: devstack-precise
+- job:
+    name: gate-requirements-install
+    node: precise
 
     builders:
-      - devstack-inprogress
-      - devstack-checkout
+      - gerrit-git-prep
       - shell: |
           #!/bin/bash -xe
-          export PYTHONUNBUFFERED=true
-          export DEVSTACK_GATE_TEMPEST=0
-          export DEVSTACK_GATE_EXERCISES=0
-          if [ "{mirror}" == "no-mirror" ]; then
-              MIRROR="--no-mirror"
+          /usr/local/jenkins/slave_scripts/select-mirror.sh openstack requirements
+          virtualenv --clear .venv
+          PIP_ARGS=""
+          REQ_FILES="tools/pip-requires tools/test-requires requirements.txt test-requirements.txt"
+          for FILE in $REQ_FILES
+          do
+            if [ -e $FILE ]
+            then
+              # Ignore lines beginning with https?:// just as the mirror script does.
+              sed -e '/^https\?:\/\//d' $FILE > $FILE.clean
+              PIP_ARGS="$PIP_ARGS -r $FILE.clean"
+            fi
+          done
+          # Run the same basic pip command that the mirror script runs.
+          .venv/bin/pip install -M -U --exists-action=w $PIP_ARGS
+          if [ -e dev-requirements.txt ] ; then
+              .venv/bin/pip install -M -U --exists-action=w -r dev-requirements.txt
           fi
-          function gate_hook (
-              bash $GATE_SCRIPT_DIR/devstack-vm-gate.sh && \
-              bash -xe $BASE/new/pbr/tools/integration.sh $MIRROR $PROJECTS
-          )
-          export -f gate_hook
-          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
-          ./safe-devstack-vm-gate-wrap.sh
-      - link-logs
 
     publishers:
-      - scp:
-          site: 'static.openstack.org'
-          files:
-            - target: 'logs/$BASE_LOG_PATH/$JOB_NAME/$BUILD_NUMBER'
-              source: '**/pip.log'
-              keep-hierarchy: false
-              copy-after-failure: true
       - console-log
-      - devstack-complete
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index 5272038599..d2fab4a41d 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -309,11 +309,9 @@ projects:
     check:
       - gate-jeepyb-pep8
       - gate-jeepyb-pyflakes
-      - gate-requirements-integration-mirror
     gate:
       - gate-jeepyb-pep8
       - gate-jeepyb-pyflakes
-      - gate-requirements-integration-mirror
     pre-release:
       - jeepyb-tarball
     release:
@@ -1198,18 +1196,18 @@ projects:
 
   - name: openstack/requirements
     check:
+      - gate-requirements-install
       - gate-requirements-pep8
       - gate-requirements-python27
-      - gate-requirements-integration-no-mirror
       - gate-tempest-devstack-vm-full
       - gate-tempest-devstack-vm-cells-full
       - gate-tempest-devstack-vm-postgres-full
       - gate-tempest-devstack-vm-neutron
       - gate-grenade-devstack-vm
     gate:
+      - gate-requirements-install
       - gate-requirements-pep8
       - gate-requirements-python27
-      - gate-requirements-integration-no-mirror
       - gate-tempest-devstack-vm-full
       - gate-tempest-devstack-vm-postgres-full
       - gate-tempest-devstack-vm-neutron
@@ -1267,7 +1265,7 @@ projects:
       - gate-pbr-python26
       - gate-pbr-python27
       - gate-pbr-python33
-      - gate-requirements-integration-mirror
+      - gate-pbr-devstack-vm-rawinstall
       - gate-tempest-devstack-vm-smoke
       - gate-tempest-devstack-vm-full
       - gate-tempest-devstack-vm-cells-full
@@ -1282,7 +1280,7 @@ projects:
       - gate-pbr-python26
       - gate-pbr-python27
       - gate-pbr-python33
-      - gate-requirements-integration-mirror
+      - gate-pbr-devstack-vm-rawinstall
       - gate-tempest-devstack-vm-smoke
       - gate-tempest-devstack-vm-full
       - gate-tempest-devstack-vm-cinder