tree e24f6b3e5009a716d863f34dfbdf6d8ca3c27f61
parent b1aa0ff6d49751d98f41c35ee493619d58100b1b
author Sergey Kulanov <skulanov@mirantis.com> 1485188800 +0200
committer Sergey Kulanov <skulanov@mirantis.com> 1485188800 +0200

[k8s-slave] Running function can potentially return values

We can expect reutrning values from function which is running
on k8s cluster

Example:
  def artifacts = common.runOnKubernetes([
    function : this.&buildCalicoContainers,
    jnlpImg  : jnlpSlaveImg,
    slaveImg : jenkinsSlaveImg
  ])
  // run system test
  node ('calico'){
    stage ("Run system tests") {
       build job: 'calico.system-test.deploy', propagate: true, wait: true, parameters:
        [
            [$class: 'StringParameterValue', name: 'CALICO_NODE_IMAGE_REPO', value: artifacts["CALICO_NODE_IMAGE_REPO"]],
            [$class: 'StringParameterValue', name: 'CALICOCTL_IMAGE_REPO', value: artifacts["CALICOCTL_IMAGE_REPO"]],
            [$class: 'StringParameterValue', name: 'CALICO_VERSION', value: artifacts["CALICO_VERSION"]],
            [$class: 'StringParameterValue', name: 'MCP_BRANCH', value: 'mcp'],
        ]
    }
  }

Change-Id: I058537700e0bec06d9e14b422d452e2e7eb45e23
