Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • S Swift Ring Management
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Custom issue tracker
    • Custom issue tracker
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • repos
  • data_persistence
  • Swift Ring Management
  • Merge requests
  • !2

Deployment via tarball

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged MVernon requested to merge deploy into main Feb 16, 2022
  • Overview 1
  • Commits 3
  • Pipelines 0
  • Changes 1

The deployment approach is that a puppetmaster will periodically rsync new_rings.tar.bz2 from each swift_ring_manager host, and then deploy it to swift servers as rings.tar.bz2 (with suitable handling to untar this file into /etc/swift when it changes). The aim is to avoid any race conditions where e.g. .ring.bz and .builder files are deployed out of sync with each other.

So deploy_rings() now tars up the .builder and .ring.gz files from tmpdir, and then renames the tarball into swiftdir (ensuring any readers will either get entirely the old rings or entirely the new ones).

This MR includes a couple of other supporting changes - to be pickier about allowed return codes of swift-ring-builder, and to copy all rings into our tmpdir, not just modified ones.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: deploy