]> review.fuel-infra Code Review - tools/sustaining.git/commitdiff
Create image build multijob 14/40614/2
authorVladimir Khlyunev <vkhlyunev@mirantis.com>
Mon, 25 Feb 2019 13:39:03 +0000 (17:39 +0400)
committerVladimir Khlyunev <vkhlyunev@mirantis.com>
Tue, 26 Feb 2019 08:02:20 +0000 (12:02 +0400)
Change-Id: Id86e31341ff6bcb377479a080725b906d40165d1

maintenance-ci/common/jobs/build-swarm-image.yaml
maintenance-ci/common/jobs/multijob-build-image.yaml [new file with mode: 0644]
maintenance-ci/common/macroses/gerrit-review-last-refspec.yaml [new file with mode: 0644]
maintenance-ci/common/scripts/build_base_swarm_slave_image.sh
maintenance-ci/common/scripts/build_mos_swarm_slave_image.sh
maintenance-ci/common/scripts/gerrit-review-last-refspec.sh [new file with mode: 0644]

index bb30210f4b0ffb565124a505dde5917cf6dfe5d3..7334d8554ea836505385baf2478ee9511ec4f299 100644 (file)
     wrappers:
     - timestamps
     - openstack-creds
+    - credentials-binding:
+        - username-password-separated:
+              credential-id: maintenance-ci-robot-password
+              username: JJB_USER
+              password: JJB_PASS
+
     - timeout:
         fail: true
         timeout: 30
diff --git a/maintenance-ci/common/jobs/multijob-build-image.yaml b/maintenance-ci/common/jobs/multijob-build-image.yaml
new file mode 100644 (file)
index 0000000..0ef3b22
--- /dev/null
@@ -0,0 +1,59 @@
+- job:
+    name: 'multijob-build-image'
+    description: |
+      Build image for future use
+
+    concurrent: false
+    node: 'jenkins-master'
+    parameters:
+    - string:
+        name: BUILD_IMAGE_NAME
+        description: "Name of image to build - used for glance"
+        default: "maintenance-ci-base-image"
+    - string:
+        name: DEPLOY_IMAGE_NAME
+        description: "Name of image used for stack boot"
+        default: "maintenance-ci-base-image"
+    - bool:
+        name: TEST_AFTER_BUILD
+        default: "false"
+    - choice:
+        name: UPDATE_SCRIPT
+        choices:
+        - "maintenance-ci/common/scripts/build_base_swarm_slave_image.sh"
+        - "maintenance-ci/common/scripts/build_mos_swarm_slave_image.sh"
+    - string:
+        name: CUSTOM_UPDATE_SCRIPT
+        description: "Overwrite UPDATE_SCRIPT if needed"
+    - string:
+        name: GERRIT_REVIEW
+        description: 'Number of gerrit review'
+
+
+    builders:
+    - trigger-builds:
+      - project: "deploy-heat-stack"
+        predefined-parameters: |
+          HEAT_STACK_YAML=maintenance-ci/common/data/jenkins-slave.yml
+          STACK_PREFIX=image-builder
+          FLAVOR_NAME=dev.cmn
+          JENKINS_LABELS=image_builder
+          IMAGE_NAME=${DEPLOY_IMAGE_NAME}
+          GERRIT_REVIEW=${GERRIT_REVIEW}
+        block: true
+    - trigger-builds:
+      - project: "build-swarm-image"
+        block: true
+        predefined-parameters: |
+          IMAGE_NAME=${BUILD_IMAGE_NAME}
+          GERRIT_REVIEW=${GERRIT_REVIEW}
+          TEST_AFTER_BUILD=${TEST_AFTER_BUILD}
+          UPDATE_SCRIPT=${UPDATE_SCRIPT}
+          CUSTOM_UPDATE_SCRIPT=${CUSTOM_UPDATE_SCRIPT}
+    - trigger-builds:
+      - project: "delete-heat-stack"
+        predefined-parameters: |
+          STACK_PREFIX=image-builder
+        block: true
+
+
diff --git a/maintenance-ci/common/macroses/gerrit-review-last-refspec.yaml b/maintenance-ci/common/macroses/gerrit-review-last-refspec.yaml
new file mode 100644 (file)
index 0000000..8d19ed6
--- /dev/null
@@ -0,0 +1,5 @@
+- builders:
+    name: gerrit-review-last-refspec
+    builders:
+    - shell:
+        !include-raw: common/scripts/gerrit-review-last-refspec.sh
index b350dddf63c8a4622f824094ea410f3ae39a2684..8c060ca86cf6c7c8f593dce5202490a504b80572 100644 (file)
@@ -39,8 +39,8 @@ cat > /etc/jenkins-agent/config <<EOF
 fsroot=/home/jenkins
 labelsFile=/etc/jenkins-agent/labels
 master=http://10.10.0.4
-username=${OS_USERNAME}
-password=${OS_PASSWORD}
+username=${JJB_USER?}
+password=${JJB_PASS?}
 EOF
 touch /etc/jenkins-agent/description
 cat > /home/jenkins/launch_jenkins_agent.sh <<EOF
index 587a124563184833529cd8aeeb39e6a5efc6a55b..861dfb56382f1e11d8a99211304d4c4060f97f06 100644 (file)
@@ -82,8 +82,8 @@ cat > /etc/jenkins-agent/config <<EOF
 fsroot=/home/jenkins
 labelsFile=/etc/jenkins-agent/labels
 master=http://10.10.0.4
-username=${OS_USERNAME}
-password=${OS_PASSWORD}
+username=${JJB_USER?}
+password=${JJB_PASS?}
 EOF
 touch /etc/jenkins-agent/description
 cat > /home/jenkins/launch_jenkins_agent.sh <<EOF
diff --git a/maintenance-ci/common/scripts/gerrit-review-last-refspec.sh b/maintenance-ci/common/scripts/gerrit-review-last-refspec.sh
new file mode 100644 (file)
index 0000000..dacbacc
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+set -ex
+
+pushd ${REPO_DIR:-.}
+
+if [[ ! -z ${GERRIT_REVIEW} ]] ; then
+refspec=$(curl "https://review.fuel-infra.org/changes/?q=${GERRIT_REVIEW}&o=CURRENT_REVISION" | grep '"ref":' | awk -F ": " '{print $2}' | tr -d '"')
+git fetch https://review.fuel-infra.org/tools/sustaining "${refspec}" && git cherry-pick -n FETCH_HEAD
+fi
+
+popd
\ No newline at end of file