Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 1 | # |
| 2 | # Jobs to update cloud packages on given Salt master environment |
| 3 | # |
| 4 | parameters: |
Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 5 | jenkins: |
| 6 | client: |
| 7 | job: |
| 8 | deploy-k8s-upgrade: |
| 9 | type: workflow-scm |
| 10 | concurrent: true |
Alexander Evseev | 4589d71 | 2018-08-03 12:36:15 +0200 | [diff] [blame] | 11 | discard: |
| 12 | build: |
| 13 | keep_num: 10 |
| 14 | artifact: |
| 15 | keep_num: 10 |
Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 16 | display_name: "Deploy - update kubernetes cluster" |
| 17 | scm: |
| 18 | type: git |
| 19 | url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines" |
| 20 | branch: "${_param:jenkins_pipelines_branch}" |
| 21 | credentials: "gerrit" |
| 22 | script: k8s-upgrade-pipeline.groovy |
| 23 | param: |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 24 | KUBERNETES_HYPERKUBE_SOURCE: |
Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 25 | type: string |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 26 | default: "" |
| 27 | description: "Versioned hyperkube binary to update control plane from. Should be null if update rolling via reclass-system level" |
| 28 | KUBERNETES_HYPERKUBE_SOURCE_HASH: |
| 29 | type: string |
| 30 | default: "" |
| 31 | description: "Hyperkube binary md5 hash. Should be null if update rolling via reclass-system level" |
Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 32 | KUBERNETES_PAUSE_IMAGE: |
| 33 | type: string |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 34 | default: "" |
Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 35 | description: "Versioned pause image to use in deployments. Should be null if update rolling via reclass-system level" |
| 36 | SALT_MASTER_URL: |
| 37 | type: string |
| 38 | default: "${_param:jenkins_salt_api_url}" |
| 39 | SALT_MASTER_CREDENTIALS: |
| 40 | type: string |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 41 | default: "salt" |
Victor Ryzhenkin | dbf76d3 | 2018-09-28 16:29:22 +0400 | [diff] [blame] | 42 | SIMPLE_UPGRADE: |
| 43 | type: boolean |
| 44 | default: 'false' |
| 45 | description: "Choose between simple upgrade or upgrade with draining nodes" |
Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 46 | PER_NODE: |
| 47 | type: boolean |
| 48 | default: 'true' |
| 49 | description: "Target nodes will be managed one by one" |
| 50 | TARGET_UPDATES: |
| 51 | type: string |
| 52 | default: "ctl,cmp" |
| 53 | description: "Comma separated list of nodes to update (Valid values are ctl,cmp)" |
| 54 | CTL_TARGET: |
| 55 | type: string |
| 56 | default: "I@kubernetes:master" |
| 57 | description: "Salt targeted kubernetes CTL nodes (ex. I@kubernetes:master). Kubernetes control plane" |
| 58 | CMP_TARGET: |
| 59 | type: string |
Victor Ryzhenkin | 349d669 | 2018-10-23 20:48:09 +0400 | [diff] [blame] | 60 | default: "I@kubernetes:pool and not I@kubernetes:master" |
Victor Ryzhenkin | 7d5a9d8 | 2018-07-04 05:33:21 +0400 | [diff] [blame] | 61 | description: "Salt targeted compute nodes (ex. 'cmp* and I@kubernetes:pool') Kubernetes computes" |
Victor Ryzhenkin | 349d669 | 2018-10-23 20:48:09 +0400 | [diff] [blame] | 62 | CONFORMANCE_RUN_AFTER: |
| 63 | type: boolean |
| 64 | default: "false" |
| 65 | description: "Run conformance tests after upgrade" |
| 66 | CONFORMANCE_RUN_BEFORE: |
| 67 | type: boolean |
| 68 | default: "false" |
| 69 | description: "Run conformance tests before upgrade" |
| 70 | TEST_K8S_API_SERVER: |
| 71 | type: string |
| 72 | default: "http://127.0.0.1:8080" |
| 73 | description: "Local kubernetes apiserver variable for conformance tests" |
| 74 | ARTIFACTORY_URL: |
| 75 | type: string |
Victor Ryzhenkin | 497c57f | 2018-10-25 19:21:14 +0400 | [diff] [blame] | 76 | default: ${_param:mcp_docker_registry} |
Victor Ryzhenkin | 349d669 | 2018-10-23 20:48:09 +0400 | [diff] [blame] | 77 | description: "Artifactory URL where docker images located. Needed to correctly fetch conformance images." |
Aleksei Kasatkin | a6048e7 | 2018-11-07 12:03:41 +0100 | [diff] [blame] | 78 | UPGRADE_CALICO_V2_TO_V3: |
| 79 | type: boolean |
| 80 | default: 'false' |
| 81 | description: "Perform Calico upgrade from v2.x to v3.x. It is not needed for minor version upgrade (e.g., from v3.1 to v3.2)." |
| 82 | CALICO_UPGRADE_VERSION: |
| 83 | type: string |
| 84 | default: 'v1.0.5' |
| 85 | description: "Version of 'calico-upgrade' utility to be used." |
| 86 | KUBERNETES_CALICO_IMAGE: |
| 87 | type: string |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 88 | default: "" |
Aleksei Kasatkin | a6048e7 | 2018-11-07 12:03:41 +0100 | [diff] [blame] | 89 | description: "Versioned calico/node image. Should be null if update rolling via reclass-system level" |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 90 | KUBERNETES_CALICO_CALICOCTL_SOURCE: |
Aleksei Kasatkin | a6048e7 | 2018-11-07 12:03:41 +0100 | [diff] [blame] | 91 | type: string |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 92 | default: "" |
| 93 | description: "Versioned calico/ctl binary. Should be null if update rolling via reclass-system level" |
| 94 | KUBERNETES_CALICO_CALICOCTL_SOURCE_HASH: |
Aleksei Kasatkin | a6048e7 | 2018-11-07 12:03:41 +0100 | [diff] [blame] | 95 | type: string |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 96 | default: "" |
| 97 | description: "Calico/ctl binary md5 hash. Should be null if update rolling via reclass-system level" |
| 98 | KUBERNETES_CALICO_CNI_SOURCE: |
| 99 | type: string |
| 100 | default: "" |
| 101 | description: "Versioned calico/cni binary. Should be null if update rolling via reclass-system level" |
| 102 | KUBERNETES_CALICO_CNI_SOURCE_HASH: |
| 103 | type: string |
| 104 | default: "" |
| 105 | description: "Calico/cni binary hash. Should be null if update rolling via reclass-system level" |
| 106 | KUBERNETES_CALICO_BIRDCL_SOURCE: |
| 107 | type: string |
| 108 | default: "" |
| 109 | description: "Versioned calico/bird binary. Should be null if update rolling via reclass-system level" |
| 110 | KUBERNETES_CALICO_BIRDCL_SOURCE_HASH: |
| 111 | type: string |
| 112 | default: "" |
| 113 | description: "Calico/bird binary hash. Should be null if update rolling via reclass-system level" |
| 114 | KUBERNETES_CALICO_CNI_IPAM_SOURCE: |
| 115 | type: string |
| 116 | default: "" |
| 117 | description: "Versioned calico/ipam binary. Should be null if update rolling via reclass-system level" |
| 118 | KUBERNETES_CALICO_CNI_IPAM_SOURCE_HASH: |
| 119 | type: string |
| 120 | default: "" |
| 121 | description: "Calico/ipam binary hash. Should be null if update rolling via reclass-system level" |
Aleksei Kasatkin | a6048e7 | 2018-11-07 12:03:41 +0100 | [diff] [blame] | 122 | KUBERNETES_CALICO_KUBE_CONTROLLERS_IMAGE: |
| 123 | type: string |
Victor Ryzhenkin | 72ebf33 | 2019-01-18 05:44:07 +0400 | [diff] [blame] | 124 | default: "" |
Aleksei Kasatkin | a6048e7 | 2018-11-07 12:03:41 +0100 | [diff] [blame] | 125 | description: "Versioned calico/kube-controllers image. Should be null if update rolling via reclass-system level" |
ashestakov | 87e7597 | 2019-01-11 11:42:59 +0200 | [diff] [blame] | 126 | KUBERNETES_ETCD_SOURCE: |
| 127 | type: string |
| 128 | default: "" |
| 129 | description: "Versioned binary for etcd server. Should be null if update rolling via reclass-system level" |
| 130 | KUBERNETES_ETCD_SOURCE_HASH: |
| 131 | type: string |
| 132 | default: "" |
| 133 | description: "Checksum of etcd binary. Should be null if update rolling via reclass-system level" |