Skip to content

Commit

Permalink
Merge pull request #43 from pivotal-cf/single-job-pks-backup
Browse files Browse the repository at this point in the history
Unify PKS backup tasks into a single job
  • Loading branch information
ChunyiLyu committed Jan 8, 2019
2 parents bca84d8 + 41d23b5 commit e6d59fc
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 128 deletions.
198 changes: 70 additions & 128 deletions examples/pks-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,45 @@ s3_credentials: &s3_credentials
secret_access_key: ((storage-secret-access-key))
endpoint: ((storage-endpoint))

resource_types:
- name: pivnet
type: docker-image
source:
repository: pivotalcf/pivnet-resource
tag: latest-final

resources:
- name: bbr-pipeline-tasks-repo
type: git
source:
uri: [email protected]:pivotal-cf/bbr-pcf-pipeline-tasks.git
private_key: ((git-private-key))
branch: master

- name: bbr-release
type: pivnet
source:
api_token: ((pivnet-api-token))
product_slug: p-bosh-backup-and-restore

- name: om-backup-bucket
type: s3
source:
<<: *s3_credentials
versioned_file: installation.zip

- name: director-backup-bucket
type: s3
source:
<<: *s3_credentials
versioned_file: director-backup.tar

- name: pks-backup-bucket
type: s3
source:
<<: *s3_credentials
versioned_file: pks-backup.tar

jobs:
- name: export-om-installation
serial: true
Expand All @@ -31,7 +70,7 @@ jobs:
params:
file: om-installation/installation.zip

- name: lock-pks
- name: bbr-backup-pks-foundation
serial: true
plan:
- aggregate:
Expand All @@ -41,145 +80,48 @@ jobs:
file: bbr-pipeline-tasks-repo/tasks/lock-pks/task.yml
params:
<<: *opsman_credentials

- name: bbr-backup-director
serial: true
plan:
- aggregate:
- get: bbr-release
passed: [lock-pks]
- get: bbr-pipeline-tasks-repo
passed: [lock-pks]
- task: extract-binary
file: bbr-pipeline-tasks-repo/tasks/extract-bbr-binary/task.yml
- task: bbr-backup-director
privileged: true
file: bbr-pipeline-tasks-repo/tasks/bbr-backup-director/task.yml
params:
<<: *opsman_credentials
on_failure:
aggregate:
- task: bbr-cleanup-director
- aggregate:
- task: bbr-backup-director
file: bbr-pipeline-tasks-repo/tasks/bbr-backup-director/task.yml
params:
<<: *opsman_credentials
on_failure:
task: bbr-cleanup-director
file: bbr-pipeline-tasks-repo/tasks/bbr-cleanup-director/task.yml
params:
<<: *opsman_credentials
- task: unlock-pks
file: bbr-pipeline-tasks-repo/tasks/unlock-pks/task.yml
params:
<<: *opsman_credentials
- put: director-backup-bucket
params:
file: director-backup-artifact/director-backup.tar

- name: bbr-backup-pks
serial: true
plan:
- aggregate:
- get: bbr-release
passed: [lock-pks]
- get: bbr-pipeline-tasks-repo
passed: [lock-pks]
- task: extract-binary
file: bbr-pipeline-tasks-repo/tasks/extract-bbr-binary/task.yml
- task: bbr-backup-pks
file: bbr-pipeline-tasks-repo/tasks/bbr-backup-pks/task.yml
params:
<<: *opsman_credentials
on_failure:
aggregate:
- task: bbr-cleanup-pks
- task: bbr-backup-pks
file: bbr-pipeline-tasks-repo/tasks/bbr-backup-pks/task.yml
params:
<<: *opsman_credentials
on_failure:
task: bbr-cleanup-pks
file: bbr-pipeline-tasks-repo/tasks/bbr-cleanup-pks/task.yml
params:
<<: *opsman_credentials
- task: unlock-pks
file: bbr-pipeline-tasks-repo/tasks/unlock-pks/task.yml
params:
<<: *opsman_credentials
- put: pks-backup-bucket
params:
file: pks-backup-artifact/pks-backup.tar

- name: bbr-backup-pks-clusters
serial: true
plan:
- aggregate:
- get: bbr-release
passed: [lock-pks]
- get: bbr-pipeline-tasks-repo
passed: [lock-pks]
- task: extract-binary
file: bbr-pipeline-tasks-repo/tasks/extract-bbr-binary/task.yml
- task: bbr-backup-pks-clusters
file: bbr-pipeline-tasks-repo/tasks/bbr-backup-pks-clusters/task.yml
params:
<<: *opsman_credentials
on_failure:
aggregate:
- task: unlock-pks
file: bbr-pipeline-tasks-repo/tasks/unlock-pks/task.yml
params:
<<: *opsman_credentials
- task: bbr-cleanup-pks-clusters
- task: bbr-backup-pks-clusters
file: bbr-pipeline-tasks-repo/tasks/bbr-backup-pks-clusters/task.yml
params:
<<: *opsman_credentials
on_failure:
task: bbr-cleanup-pks-clusters
file: bbr-pipeline-tasks-repo/tasks/bbr-cleanup-pks-clusters/task.yml
params:
<<: *opsman_credentials
- put: pks-backup-bucket
params:
file: pks-clusters-backup-artifact/pks-clusters-backup.tar

- name: unlock-pks
serial: true
plan:
- aggregate:
- get: bbr-release
passed:
- bbr-backup-director
- bbr-backup-pks
- bbr-backup-pks-clusters
- get: bbr-pipeline-tasks-repo
passed:
- bbr-backup-director
- bbr-backup-pks
- bbr-backup-pks-clusters
- task: unlock-pks
- put: director-backup-bucket
params:
file: director-backup-artifact/director-backup.tar
- put: pks-backup-bucket
params:
file: pks-backup-artifact/pks-backup.tar
- put: pks-backup-bucket
params:
file: pks-clusters-backup-artifact/pks-clusters-backup.tar
ensure:
task: unlock-pks
file: bbr-pipeline-tasks-repo/tasks/unlock-pks/task.yml
params:
<<: *opsman_credentials

resource_types:
- name: pivnet
type: docker-image
source:
repository: pivotalcf/pivnet-resource
tag: latest-final

resources:
- name: bbr-pipeline-tasks-repo
type: git
source:
uri: https://github.com/pivotal-cf/bbr-pcf-pipeline-tasks.git
branch: master

- name: bbr-release
type: pivnet
source:
api_token: ((pivnet-api-token))
product_slug: p-bosh-backup-and-restore

- name: om-backup-bucket
type: s3
source:
<<: *s3_credentials
versioned_file: installation.zip

- name: director-backup-bucket
type: s3
source:
<<: *s3_credentials
versioned_file: director-backup.tar

- name: pks-backup-bucket
type: s3
source:
<<: *s3_credentials
versioned_file: pks-backup.tar
4 changes: 4 additions & 0 deletions examples/pks-secrets.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
---
git-private-key: | # GitHub user private key to pull bbr-pcf-pipeline-tasks repo
-----BEGIN EXAMPLE PRIVATE KEY-----
...
-----END EXAMPLE PRIVATE KEY-----
pivnet-api-token: example-pivnet-token

# Ops Manager credentials
Expand Down

0 comments on commit e6d59fc

Please sign in to comment.