mirror of
https://github.com/ubicloud/ubicloud.git
synced 2025-10-05 22:31:57 +08:00
The Upgrade prog is responsible for matching the current Postgres version to the desired version. If there is a mismatch (current < desired), the Upgrade prog is launched and takes precedence over Convergence. Roughly, the Upgrade prog does the following: 1. Create a new "candidate standby" with the same version as the current one and wait for it to catch up. 2. Fence the current primary. 3. Upgrade the candidate standby to the desired version. 4. Switch the candidate to use a new timeline. 5. Take over from the current primary. 6. Prune any older version servers and exit. The convergence prog will take care of starting any new standbys needed. In case anything fails, we delete the candidate standby and unfence the primary to bring the database back. During the Upgrade health checking is effectively disabled as the auto-recovery causes conflicts with the several restarts of various versions on the candidate. |
||
---|---|---|
.. | ||
clec | ||
lib | ||
model | ||
prog | ||
routes | ||
scheduling | ||
serializers | ||
cli_config.ru | ||
cli_spec.rb | ||
config_spec.rb | ||
coverage_helper.rb | ||
db_spec.rb | ||
monitor_smoke_test.rb | ||
resource_methods_spec.rb | ||
respirate_smoke_test.rb | ||
ruby_sdk_spec.rb | ||
spec_helper.rb | ||
thawed_mock.rb | ||
ubid_spec.rb |