Add nodepool management jobs 87/387/1
authorAndrew Grimberg <[email protected]>
Tue, 23 Feb 2016 16:44:34 +0000 (08:44 -0800)
committerAndrew Grimberg <[email protected]>
Tue, 23 Feb 2016 16:44:34 +0000 (08:44 -0800)
Add jobs for doing nodepool management

Change-Id: I9d5b74850f51c7f950ccb3580c1aa7f981786494
Signed-off-by: Andrew Grimberg <[email protected]>
jjb/ci-management/ci-management-jobs.yaml
jjb/ci-management/include-raw-merge-nodepool.sh [new file with mode: 0644]
jjb/ci-management/include-raw-test-nodepool.sh [new file with mode: 0644]

index d9d2298..06bcb75 100644 (file)
@@ -5,6 +5,8 @@
         - 'ci-management-merge-jjb'
         - 'ci-management-verify-zuul'
         - 'ci-management-merge-zuul'
+        - 'ci-management-verify-nodepool'
+        - 'ci-management-merge-nodepool'
 
 - job-template:
     name: ci-management-verify-jjb
             !include-raw-escape: include-raw-test-zuul.sh
         - shell:
             !include-raw-escape: include-raw-merge-zuul.sh
+
+- job-template:
+    name: ci-management-verify-nodepool
+
+    project-type: freestyle
+    node: np
+    concurrent: true
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: 5
+
+    scm:
+        - zuul-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: '$ZUUL_REF'
+            commit: '$ZUUL_COMMIT'
+
+    wrappers:
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    builders:
+        - shell:
+            !include-raw-escape: include-raw-test-nodepool.sh
+
+- job-template:
+    name: ci-management-merge-nodepool
+
+    project-type: freestyle
+    node: np
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 40
+        artifactDaysToKeep: -1
+        artifactNumToKeep: 5
+
+    scm:
+        - zuul-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            commit: 'origin/$ZUUL_BRANCH'
+
+    wrappers:
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    builders:
+        - shell:
+            !include-raw-escape: include-raw-test-nodepool.sh
+        - shell:
+            !include-raw-escape: include-raw-merge-nodepool.sh
diff --git a/jjb/ci-management/include-raw-merge-nodepool.sh b/jjb/ci-management/include-raw-merge-nodepool.sh
new file mode 100644 (file)
index 0000000..661e382
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# vi: sw=4 ts=4 sts=4 et :
+
+cd "${WORKSPACE}/nodepool"
+/usr/bin/diff nodepool.yaml /etc/nodepool/nodepool.yaml
+RET=$?
+if [ "${RET}" -ne '0' ]
+then
+    echo
+    echo 'Nodepool layouts differ, updating layout'
+    echo
+    /usr/bin/sudo /usr/bin/cp nodepool.yaml /etc/nodepool/nodepool.yaml
+else
+    echo
+    echo 'No differences in layout, not updating'
+    echo
+fi
+
diff --git a/jjb/ci-management/include-raw-test-nodepool.sh b/jjb/ci-management/include-raw-test-nodepool.sh
new file mode 100644 (file)
index 0000000..b4a949d
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+# activate the nodepool virtual env
+source /opt/venv-nodepool/bin/activate
+
+nodepool -c ${WORKSPACE}/nodepool/nodepool.yaml config-validate