Add installer and pod parameter files and create example jobs 03/4003/10
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>
Mon, 7 Dec 2015 07:47:20 +0000 (08:47 +0100)
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>
Mon, 7 Dec 2015 17:27:52 +0000 (18:27 +0100)
This change proposes
- Move installer params to common file
- Move pod params to common file
- Configure POD slaves in pod file and set slave to run using node label plugin
- Create one daily parent job per installer per controller
- Create common deploy job, taking controller name from parent job
- Change build display name to show installer + controller name

Please note that this is an example and things will evolve based on
how things work.

Change-Id: I4bc1d35e43c44d9401f4000090818e8e7b426e70
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
jjb/apex/opnfv-apex.yml [new file with mode: 0644]
jjb/compass4nfv/opnfv-compass4nfv.yml [new file with mode: 0644]
jjb/fuel/opnfv-fuel.yml [new file with mode: 0644]
jjb/joid/opnfv-joid.yml [new file with mode: 0644]
jjb/opnfv/installer-params.yml [new file with mode: 0644]
jjb/opnfv/pod-params.yml [new file with mode: 0644]

diff --git a/jjb/apex/opnfv-apex.yml b/jjb/apex/opnfv-apex.yml
new file mode 100644 (file)
index 0000000..47de21c
--- /dev/null
@@ -0,0 +1,84 @@
+########################
+# Job configuration for apex
+########################
+- project:
+
+    name: 'opnfv-apex'
+
+    installer: 'apex'
+
+    controller:
+        - 'opencontrail'
+        - 'opendaylight'
+        - 'onos'
+
+    pod: 'intel-pod2'
+
+    stream:
+        - master:
+            branch: 'master'
+            gs-pathname: ''
+
+    jobs:
+        - 'opnfv-apex-{controller}-daily-{stream}'
+        - 'opnfv-apex-daily-deploy-{stream}'
+
+########################
+# job templates
+########################
+- job-template:
+    name: 'opnfv-apex-{controller}-daily-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{pod}-defaults'
+        - '{installer}-defaults':
+            controller: '{controller}'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - trigger-builds:
+          - project: 'opnfv-apex-daily-deploy-{stream}'
+            git-revision: true
+            block: true
+            predefined-parameters:
+                CONTROLLER='{controller}'
+
+- job-template:
+    name: 'opnfv-apex-daily-deploy-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    wrappers:
+        - build-name:
+            name: '$BUILD_NUMBER: {installer} $CONTROLLER'
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{pod}-defaults'
+        - '{installer}-defaults'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World from OPNFV $INSTALLER_NAME"
+            echo "Running $INSTALLER_NAME with controller $CONTROLLER"
diff --git a/jjb/compass4nfv/opnfv-compass4nfv.yml b/jjb/compass4nfv/opnfv-compass4nfv.yml
new file mode 100644 (file)
index 0000000..0ae89da
--- /dev/null
@@ -0,0 +1,84 @@
+########################
+# Job configuration for compass4nfv
+########################
+- project:
+
+    name: 'opnfv-compass4nfv'
+
+    installer: 'compass4nfv'
+
+    controller:
+        - 'opencontrail'
+        - 'opendaylight'
+        - 'onos'
+
+    pod: 'huawei-sc-pod1'
+
+    stream:
+        - master:
+            branch: 'master'
+            gs-pathname: ''
+
+    jobs:
+        - 'opnfv-compass4nfv-{controller}-daily-{stream}'
+        - 'opnfv-compass4nfv-daily-deploy-{stream}'
+
+########################
+# job templates
+########################
+- job-template:
+    name: 'opnfv-compass4nfv-{controller}-daily-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{pod}-defaults'
+        - '{installer}-defaults':
+            controller: '{controller}'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - trigger-builds:
+          - project: 'opnfv-compass4nfv-daily-deploy-{stream}'
+            git-revision: true
+            block: true
+            predefined-parameters:
+                CONTROLLER='{controller}'
+
+- job-template:
+    name: 'opnfv-compass4nfv-daily-deploy-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    wrappers:
+        - build-name:
+            name: '$BUILD_NUMBER: {installer} $CONTROLLER'
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{pod}-defaults'
+        - '{installer}-defaults'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World from OPNFV $INSTALLER_NAME"
+            echo "Running $INSTALLER_NAME with controller $CONTROLLER"
diff --git a/jjb/fuel/opnfv-fuel.yml b/jjb/fuel/opnfv-fuel.yml
new file mode 100644 (file)
index 0000000..92bd96b
--- /dev/null
@@ -0,0 +1,85 @@
+########################
+# Job configuration for fuel
+########################
+- project:
+
+    name: 'opnfv-fuel'
+
+    installer: 'fuel'
+
+    controller:
+        - 'opencontrail'
+        - 'opendaylight'
+        - 'onos'
+
+    pod: 'lf-pod2'
+
+    stream:
+        - master:
+            branch: 'master'
+            gs-pathname: ''
+
+    jobs:
+        - 'opnfv-fuel-{controller}-daily-{stream}'
+        - 'opnfv-fuel-daily-deploy-{stream}'
+
+########################
+# job templates
+########################
+- job-template:
+    name: 'opnfv-fuel-{controller}-daily-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    node: ericsson-build
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{installer}-defaults':
+            controller: '{controller}'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - trigger-builds:
+          - project: 'opnfv-fuel-daily-deploy-{stream}'
+            git-revision: true
+            block: true
+            predefined-parameters:
+                CONTROLLER='{controller}'
+
+- job-template:
+    name: 'opnfv-fuel-daily-deploy-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    wrappers:
+        - build-name:
+            name: '$BUILD_NUMBER: {installer} $CONTROLLER'
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{pod}-defaults'
+        - '{installer}-defaults'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World from OPNFV $INSTALLER_NAME"
+            echo "Running $INSTALLER_NAME with controller $CONTROLLER"
diff --git a/jjb/joid/opnfv-joid.yml b/jjb/joid/opnfv-joid.yml
new file mode 100644 (file)
index 0000000..4d99e31
--- /dev/null
@@ -0,0 +1,85 @@
+########################
+# Job configuration for joid
+########################
+- project:
+
+    name: 'opnfv-joid'
+
+    installer: 'joid'
+
+    controller:
+        - 'opencontrail'
+        - 'opendaylight'
+        - 'onos'
+
+    pod: 'intel-pod5'
+
+    stream:
+        - master:
+            branch: 'master'
+            gs-pathname: ''
+
+    jobs:
+        - 'opnfv-joid-{controller}-daily-{stream}'
+        - 'opnfv-joid-daily-deploy-{stream}'
+
+########################
+# job templates
+########################
+- job-template:
+    name: 'opnfv-joid-{controller}-daily-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{pod}-defaults'
+        - '{installer}-defaults':
+            controller: '{controller}'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - trigger-builds:
+          - project: 'opnfv-joid-daily-deploy-{stream}'
+            git-revision: true
+            block: true
+            predefined-parameters:
+                CONTROLLER='{controller}'
+
+- job-template:
+    name: 'opnfv-joid-daily-deploy-{stream}'
+
+    disabled: true
+
+    concurrent: false
+
+    wrappers:
+        - build-name:
+            name: '$BUILD_NUMBER: {installer} $CONTROLLER'
+
+    parameters:
+        - project-parameter:
+            project: '{installer}'
+        - '{pod}-defaults'
+        - '{installer}-defaults'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World from OPNFV $INSTALLER_NAME"
+            echo "Running $INSTALLER_NAME with controller $CONTROLLER"
+
diff --git a/jjb/opnfv/installer-params.yml b/jjb/opnfv/installer-params.yml
new file mode 100644 (file)
index 0000000..dc11fbd
--- /dev/null
@@ -0,0 +1,79 @@
+- parameter:
+    name: 'apex-defaults'
+    parameters:
+        - string:
+            name: INSTALLER_IP
+            default: '192.168.X.X'
+            description: 'IP of the installer'
+        - string:
+            name: INSTALLER_NAME
+            default: apex
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: INSTALLER_TYPE
+            default: $INSTALLER_NAME
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: CONTROLLER
+            default: '{controller}'
+            description: 'Controller name'
+
+- parameter:
+    name: 'compass4nfv-defaults'
+    parameters:
+        - string:
+            name: INSTALLER_IP
+            default: '192.168.200.2'
+            description: 'IP of the installer'
+        - string:
+            name: INSTALLER_NAME
+            default: compass4nfv
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: INSTALLER_TYPE
+            default: $INSTALLER_NAME
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: CONTROLLER
+            default: '{controller}'
+            description: 'Controller name'
+
+- parameter:
+    name: 'fuel-defaults'
+    parameters:
+        - string:
+            name: INSTALLER_IP
+            default: '10.20.0.2'
+            description: 'IP of the installer'
+        - string:
+            name: INSTALLER_NAME
+            default: fuel
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: INSTALLER_TYPE
+            default: $INSTALLER_NAME
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: CONTROLLER
+            default: '{controller}'
+            description: 'Controller name'
+
+- parameter:
+    name: 'joid-defaults'
+    parameters:
+        - string:
+            name: INSTALLER_IP
+            default: '192.168.Y.Y'
+            description: 'IP of the installer'
+        - string:
+            name: INSTALLER_NAME
+            default: joid
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: INSTALLER_TYPE
+            default: $INSTALLER_NAME
+            description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: CONTROLLER
+            default: '{controller}'
+            description: 'Controller name'
diff --git a/jjb/opnfv/pod-params.yml b/jjb/opnfv/pod-params.yml
new file mode 100644 (file)
index 0000000..07d35bf
--- /dev/null
@@ -0,0 +1,152 @@
+- parameter:
+    name: 'lf-pod1-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - opnfv-jump-1
+            default-slaves:
+                - opnfv-jump-1
+        - string:
+            name: INSTALLER_VERSION
+            default: latest
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on the jumphost'
+
+- parameter:
+    name: 'lf-pod2-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - opnfv-jump-2
+            default-slaves:
+                - opnfv-jump-2
+        - string:
+            name: INSTALLER_VERSION
+            default: stable
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: ssh://gerrit.opnfv.org:29418/$PROJECT
+            description: 'Git URL for LF POD2'
+            description: 'Git URL to use on the jumphost'
+
+- parameter:
+    name: 'ericsson-pod2-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - ericsson-ca-fuel-bare-1
+            default-slaves:
+                - ericsson-ca-fuel-bare-1
+        - string:
+            name: INSTALLER_VERSION
+            default: latest
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on the jumphost'
+
+- parameter:
+    name: 'intel-pod2-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - intelpod2-jumphost
+            default-slaves:
+                - intelpod2-jumphost
+        - string:
+            name: INSTALLER_VERSION
+            default: stable
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on the jumphost'
+
+- parameter:
+    name: 'intel-pod5-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - intelpod5-jumphost
+            default-slaves:
+                - intelpod5-jumphost
+        - string:
+            name: INSTALLER_VERSION
+            default: stable
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on the jumphost'
+
+- parameter:
+    name: 'intel-pod6-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - intelpod6-jumphost
+            default-slaves:
+                - intelpod6-jumphost
+        - string:
+            name: INSTALLER_VERSION
+            default: latest
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on the jumphost'
+
+- parameter:
+    name: 'intel-pod8-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - intelpod8-jumphost
+            default-slaves:
+                - intelpod8-jumphost
+        - string:
+            name: INSTALLER_VERSION
+            default: latest
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on the jumphost'
+
+- parameter:
+    name: 'huawei-sc-pod1-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - huawei-us-deploy-bare-1
+            default-slaves:
+                - huawei-us-deploy-bare-1
+        - string:
+            name: INSTALLER_VERSION
+            default: stable
+            description: 'Version of the installer to deploy'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on the jumphost'