Skip to content

Commit 0cd50c0

Browse files
committed
Rework cf-deployment pipeline for 3.0 changes
[#159758276]
1 parent ca324c0 commit 0cd50c0

File tree

31 files changed

+324
-194
lines changed

31 files changed

+324
-194
lines changed

ci/pipelines/acceptance-tests.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,16 @@ jobs:
1818
input_mapping: {dev-release: postgres-release}
1919
output_mapping: {dev-release-tarball: postgres-tarball}
2020
params: &bosh1_params
21-
BOSH_DIRECTOR: {{bosh1_director}}
21+
BOSH_DIRECTOR_IP: {{bosh1_director}}
22+
BOSH_DIRECTOR_NAME: {{bosh1_director}}
2223
BOSH_CLIENT: {{bosh1_user}}
2324
BOSH_CLIENT_SECRET: {{bosh1_password}}
2425
BOSH_CA_CERT: {{bosh1_ca_cert}}
2526
REL_NAME: postgres
2627
REL_VERSION: v99+dev.1
2728
BBR_VERSION: 1.2.2
2829
STEMCELL_VERSION: {{stemcell_version}}
30+
STEMCELL_TYPE: bosh-softlayer-xen-ubuntu-trusty
2931
- task: upload-postgres-dev-release
3032
file: postgres-release/ci/scripts/upload-dev-release-tarball/task.yml
3133
input_mapping: {dev-release-tarball: postgres-tarball}

ci/pipelines/cf-deployment.yml

Lines changed: 75 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
resources:
2+
- name: bosh-deployment
3+
type: git
4+
source:
5+
uri: https://github.com/cloudfoundry/bosh-deployment.git
6+
branch: master
7+
28
- name: cf-deployment-rc
39
type: git
410
source:
@@ -23,76 +29,58 @@ resources:
2329
uri: https://github.com/cloudfoundry/cf-acceptance-tests.git
2430
branch: master
2531

26-
- name: postgres-ci-env
32+
- name: cf-deployment-concourse-tasks
2733
type: git
2834
source:
29-
uri: [email protected]:cloudfoundry/postgres-ci-env
3035
branch: master
31-
private_key: {{postgres_ci_env_private_key}}
32-
33-
- name: cats-concourse-task
34-
type: git
35-
source:
36-
branch: master
37-
uri: https://github.com/cloudfoundry/cats-concourse-task.git
36+
uri: https://github.com/cloudfoundry/cf-deployment-concourse-tasks.git
3837

3938
jobs:
4039
- name: upload-stemcells-releases
41-
serial_groups: [cf-fresh,cf-old]
40+
serial_groups: [cf]
4241
plan:
4342
- aggregate:
4443
- get: postgres-release
4544
resource: postgres-release-develop
46-
- task: upload-stemcell-fresh
47-
file: postgres-release/ci/scripts/upload-stemcell/task.yml
48-
params: &fresh_params
49-
BOSH_DIRECTOR: {{fresh_bosh_director}}
50-
BOSH_CLIENT: {{fresh_bosh_user}}
51-
BOSH_CLIENT_SECRET: {{fresh_bosh_password}}
52-
BOSH_CA_CERT: {{fresh_ca_cert}}
53-
BOSH_PUBLIC_IP: {{fresh_bosh_public_ip}}
54-
STEMCELL_VERSION: {{stemcell_version}}
55-
CF_DEPLOYMENT: {{fresh_cf_deployment}}
56-
API_PASSWORD: {{cf_api_password}}
57-
S3_ACCESS_KEY: {{s3_access_key}}
58-
S3_SECRET_KEY: {{s3_secret_key}}
59-
S3_HOST: {{s3_host}}
60-
- task: upload-stemcell-old
45+
- get: cf-deployment
46+
resource: cf-deployment-rc
47+
- get: bosh-deployment
48+
resource: bosh-deployment
49+
- task: upload-stemcell-lite
6150
file: postgres-release/ci/scripts/upload-stemcell/task.yml
62-
params: &old_params
63-
BOSH_DIRECTOR: {{old_bosh_director}}
64-
BOSH_CLIENT: {{old_bosh_user}}
65-
BOSH_CLIENT_SECRET: {{old_bosh_password}}
66-
BOSH_CA_CERT: {{old_ca_cert}}
67-
BOSH_PUBLIC_IP: {{old_bosh_public_ip}}
51+
params: &lite_params
52+
BOSH_DIRECTOR_IP: {{lite_bosh_director}}
53+
BOSH_DIRECTOR_NAME: {{lite_bosh_director_name}}
54+
BOSH_CLIENT: {{lite_bosh_user}}
55+
BOSH_CLIENT_SECRET: {{lite_bosh_password}}
56+
BOSH_CA_CERT: {{lite_bosh_ca_cert}}
6857
STEMCELL_VERSION: {{stemcell_version}}
69-
CF_DEPLOYMENT: {{old_cf_deployment}}
70-
API_USER: {{cf_api_user}}
58+
API_USER: admin
7159
API_PASSWORD: {{cf_api_password}}
72-
S3_ACCESS_KEY: {{s3_access_key}}
73-
S3_SECRET_KEY: {{s3_secret_key}}
74-
S3_HOST: {{s3_host}}
7560
- task: create-postgres-dev-release-tarball
7661
file: postgres-release/ci/scripts/create-dev-release-tarball/task.yml
7762
input_mapping: {dev-release: postgres-release}
7863
output_mapping: {dev-release-tarball: postgres-tarball}
7964
params:
80-
<<: *fresh_params
65+
<<: *lite_params
8166
REL_NAME: postgres
8267
REL_VERSION: v999+dev.1
83-
- task: upload-postgres-dev-release-fresh
68+
- task: upload-postgres-dev-release-lite
8469
file: postgres-release/ci/scripts/upload-dev-release-tarball/task.yml
8570
input_mapping: {dev-release-tarball: postgres-tarball}
8671
params:
87-
<<: *fresh_params
88-
- task: upload-postgres-dev-release-old
89-
file: postgres-release/ci/scripts/upload-dev-release-tarball/task.yml
90-
input_mapping: {dev-release-tarball: postgres-tarball}
72+
<<: *lite_params
73+
- task: update-cloud-config
74+
file: postgres-release/ci/scripts/update-cloud-config/task.yml
75+
params:
76+
<<: *lite_params
77+
- task: update-runtime-config
78+
file: postgres-release/ci/scripts/update-runtime-config/task.yml
9179
params:
92-
<<: *old_params
80+
<<: *lite_params
9381

94-
- name: test-fresh-deployment
95-
serial_groups: [cf-fresh]
82+
- name: deploy-fresh-cf
83+
serial_groups: [cf]
9684
plan:
9785
- aggregate:
9886
- get: cf-deployment
@@ -104,74 +92,80 @@ jobs:
10492
- task: deploy-cf
10593
file: postgres-release/ci/scripts/deploy-cf/task.yml
10694
params:
107-
<<: *fresh_params
95+
<<: *lite_params
10896
USE_LATEST_PGREL: true
10997

11098
- name: test-fresh-run-cats
111-
serial_groups: [cf-fresh]
99+
serial_groups: [cf]
112100
plan:
113101
- aggregate:
114-
- get: postgres-ci-env
115102
- get: cf-acceptance-tests
116-
- get: cats-concourse-task
103+
- get: cf-deployment-concourse-tasks
117104
- get: postgres-release
118105
resource: postgres-release-develop
119-
passed: [test-fresh-deployment]
106+
passed: [deploy-fresh-cf]
120107
trigger: true
108+
- task: prepare-cats-config
109+
file: postgres-release/ci/scripts/prepare-cats-config/task.yml
110+
output_mapping: {cats-config: integration-config}
111+
params:
112+
<<: *lite_params
113+
CONFIG_FILE_NAME: cats_config.json
121114
- task: run-cats
122-
file: cats-concourse-task/task.yml
123-
input_mapping: {integration-config: postgres-ci-env}
115+
file: cf-deployment-concourse-tasks/run-cats/task.yml
116+
input_mapping: {integration-config: integration-config}
124117
params:
125-
CONFIG_FILE_PATH: deployments/cf/cats_config.json
118+
CONFIG_FILE_PATH: cats_config.json
126119
NODES: 4
127120
CAPTURE_LOGS: true
128121

122+
- name: delete-deployment-fresh
123+
serial_groups: [cf]
124+
plan:
125+
- aggregate:
126+
- get: postgres-release
127+
resource: postgres-release-develop
128+
passed: [test-fresh-run-cats]
129+
trigger: true
130+
- task: delete-cf-deployment
131+
file: postgres-release/ci/scripts/run-bosh-delete/task.yml
132+
params:
133+
<<: *lite_params
134+
129135
- name: test-old-deployment
130-
serial_groups: [cf-old]
136+
serial_groups: [cf]
131137
plan:
132138
- aggregate:
133139
- get: cf-deployment-old
134140
- get: cf-deployment-rc
135141
- get: postgres-release
136142
resource: postgres-release-develop
137-
passed: [upload-stemcells-releases]
143+
passed: [delete-deployment-fresh]
138144
trigger: true
139145
- get: cf-acceptance-tests
140146
- task: deploy-cf-old
141147
input_mapping: {cf-deployment: cf-deployment-old}
142148
file: postgres-release/ci/scripts/deploy-cf/task.yml
143149
params:
144-
<<: *old_params
150+
<<: *lite_params
151+
USE_LATEST_PGREL: false
145152
- task: populate-db
146153
file: postgres-release/ci/scripts/populate-db/task.yml
147154
params:
148-
<<: *old_params
155+
<<: *lite_params
149156
- task: deploy-cf
150-
file: postgres-release/ci/scripts/deploy-cf/task_upg.yml
157+
file: postgres-release/ci/scripts/deploy-cf/task.yml
151158
input_mapping: {cf-deployment: cf-deployment-rc}
152159
params:
153-
<<: *old_params
160+
<<: *lite_params
161+
USE_LATEST_PGREL: true
154162
- task: check-db
155163
file: postgres-release/ci/scripts/check-db/task.yml
156164
params:
157-
<<: *old_params
165+
<<: *lite_params
158166

159-
- name: delete-deployments-fresh
160-
serial_groups: [cf-fresh]
161-
plan:
162-
- aggregate:
163-
- get: postgres-release
164-
resource: postgres-release-develop
165-
passed: [test-fresh-run-cats]
166-
trigger: true
167-
- task: delete-cf-deployment
168-
file: postgres-release/ci/scripts/run-bosh-delete/task.yml
169-
params:
170-
<<: *fresh_params
171-
DEPLOYMENT_NAME: {{fresh_cf_deployment}}
172-
173-
- name: delete-deployments-old
174-
serial_groups: [cf-old]
167+
- name: delete-deployment-old
168+
serial_groups: [cf]
175169
plan:
176170
- aggregate:
177171
- get: postgres-release
@@ -181,22 +175,17 @@ jobs:
181175
- task: delete-cf-deployment
182176
file: postgres-release/ci/scripts/run-bosh-delete/task.yml
183177
params:
184-
<<: *old_params
185-
DEPLOYMENT_NAME: {{old_cf_deployment}}
178+
<<: *lite_params
186179

187180
- name: cleanup-releases
188-
serial_groups: [cf-fresh,cf-old]
181+
serial_groups: [cf]
189182
plan:
190183
- aggregate:
191184
- get: postgres-release
192185
resource: postgres-release-develop
193-
passed: [delete-deployments-fresh, delete-deployments-old]
186+
passed: [delete-deployment-old]
194187
trigger: true
195-
- task: cleanup-releases-fresh
196-
file: postgres-release/ci/scripts/run-bosh-cleanup/task.yml
197-
params:
198-
<<: *fresh_params
199-
- task: cleanup-releases-old
188+
- task: cleanup-releases
200189
file: postgres-release/ci/scripts/run-bosh-cleanup/task.yml
201190
params:
202-
<<: *old_params
191+
<<: *lite_params

ci/pipelines/cleanup.yml

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,42 +6,30 @@ resources:
66
branch: develop
77

88
jobs:
9-
- name: delete-cf-deployments
9+
- name: delete-cf-deployment
1010
serial_groups: [cleanup]
1111
plan:
1212
- aggregate:
1313
- get: postgres-release
1414
resource: postgres-release
15-
- task: delete-cf-fresh-deployment
15+
- task: delete-cf-deployment
1616
file: postgres-release/ci/scripts/run-bosh-delete/task.yml
17-
params: &base_params_fresh
18-
BOSH_DIRECTOR: {{fresh_bosh_director}}
19-
BOSH_CLIENT: {{fresh_bosh_user}}
20-
BOSH_CLIENT_SECRET: {{fresh_bosh_password}}
21-
BOSH_CA_CERT: {{fresh_ca_cert}}
22-
DEPLOYMENT_NAME: {{fresh_cf_deployment}}
23-
- task: delete-cf-old-deployment
24-
file: postgres-release/ci/scripts/run-bosh-delete/task.yml
25-
params: &base_params_old
26-
BOSH_DIRECTOR: {{old_bosh_director}}
27-
BOSH_CLIENT: {{old_bosh_user}}
28-
BOSH_CLIENT_SECRET: {{old_bosh_password}}
29-
BOSH_CA_CERT: {{old_ca_cert}}
30-
DEPLOYMENT_NAME: {{old_cf_deployment}}
17+
params: &lite_params
18+
BOSH_DIRECTOR_IP: {{lite_bosh_director}}
19+
BOSH_DIRECTOR_NAME: {{lite_bosh_director_name}}
20+
BOSH_CLIENT: {{lite_bosh_user}}
21+
BOSH_CLIENT_SECRET: {{lite_bosh_password}}
22+
BOSH_CA_CERT: {{lite_bosh_ca_cert}}
3123

3224
- name: cleanup-resources
3325
serial_groups: [cleanup]
3426
plan:
3527
- aggregate:
3628
- get: postgres-release
3729
resource: postgres-release
38-
passed: [delete-cf-deployments]
30+
passed: [delete-cf-deployment]
3931
trigger: true
40-
- task: cleanup-releases-fresh
41-
file: postgres-release/ci/scripts/run-bosh-cleanup/task.yml
42-
params:
43-
<<: *base_params_fresh
44-
- task: cleanup-releases-old
32+
- task: cleanup-releases
4533
file: postgres-release/ci/scripts/run-bosh-cleanup/task.yml
4634
params:
47-
<<: *base_params_old
35+
<<: *lite_params

ci/scripts/check-db/task.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash -exu
22
preflight_check() {
33
set +x
4+
test -n "${BOSH_DIRECTOR_IP}"
45
test -n "${CF_DEPLOYMENT}"
56
test -n "${API_USER}"
67
test -n "${API_PASSWORD}"
@@ -11,7 +12,7 @@ function main() {
1112

1213
local root="${1}"
1314
preflight_check
14-
local api_endpoint="api.apps.${CF_DEPLOYMENT}.microbosh"
15+
local api_endpoint="api.${BOSH_DIRECTOR_IP}.nip.io"
1516

1617
cf api ${api_endpoint} --skip-ssl-validation
1718
set +x
@@ -20,7 +21,7 @@ function main() {
2021
cf target -o ${CF_DEPLOYMENT} -s ${CF_DEPLOYMENT}
2122

2223
cf apps
23-
curl --fail dora.apps.${CF_DEPLOYMENT}.microbosh
24+
curl --fail dora.${BOSH_DIRECTOR_IP}.nip.io
2425

2526
}
2627

ci/scripts/check-db/task.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ run:
1313
path: postgres-release/ci/scripts/check-db/task.sh
1414

1515
params:
16-
CF_DEPLOYMENT:
17-
API_USER:
16+
BOSH_DIRECTOR_IP:
17+
CF_DEPLOYMENT: cf
18+
API_USER: admin
1819
API_PASSWORD:

ci/scripts/configure_for_bosh.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
set +x
4+
test -n "${BOSH_DIRECTOR_IP}"
5+
test -n "${BOSH_DIRECTOR_NAME}"
6+
set -x
7+
8+
echo "${BOSH_DIRECTOR_IP} ${BOSH_DIRECTOR_NAME}" >> /etc/hosts
9+
export BOSH_ENVIRONMENT="https://${BOSH_DIRECTOR_NAME}:25555"

ci/scripts/create-dev-release-tarball/task.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
preflight_check() {
44
set +x
5-
test -n "${BOSH_DIRECTOR}"
5+
test -n "${BOSH_DIRECTOR_IP}"
6+
test -n "${BOSH_DIRECTOR_NAME}"
67
test -n "${BOSH_CLIENT}"
78
test -n "${BOSH_CLIENT_SECRET}"
89
test -n "${BOSH_CA_CERT}"
@@ -14,7 +15,7 @@ preflight_check() {
1415
function main(){
1516
local root="${1}"
1617
preflight_check
17-
export BOSH_ENVIRONMENT="https://${BOSH_DIRECTOR}:25555"
18+
source ${root}/postgres-release/ci/scripts/configure_for_bosh.sh
1819

1920
pushd ${root}/dev-release
2021
bosh create-release --force --tarball=${root}/dev-release-tarball/${REL_NAME}-${REL_VERSION}.tgz --version "${REL_VERSION}" --name "${REL_NAME}"

0 commit comments

Comments
 (0)