1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 17:52:43 +01:00
phorge-phorge/src/applications
epriestley ccff47682f Provide more useful guidance if a repository is clusterized into an existing multi-device cluster
Summary:
Fixes T12087. When transitioning into a clustered configuration for the first time, the documentation recommends using a one-device cluster as a transitional step.

However, installs may not do this for whatever reason, and we aren't as clear as we could be in warning about clusterizing directly into a multi-device cluster.

Roughly, when you do this, we end up believing that working copies exist on several different devices, but have no information about which copy or copies are up to date. //Usually// they all were already synchronized and are all up to date, but we can't make this assumption safely without risking data.

Instead, we err on the side of caution, and require a human to tell us which copy we should consider to be up-to-date, using `bin/repository thaw --promote`.

Test Plan:
```
$ ./bin/repository clusterize rLOCKS --service repos001.phacility.net
Service "repos001.phacility.net" is actively bound to more than one device
(local002.local, local001.phacility.net).

If you clusterize a repository onto this service it will be unclear which
devices have up-to-date copies of the repository. This leader/follower
ambiguity will freeze the repository. You may need to manually promote a
device to unfreeze it. See "Ambiguous Leaders" in the documentation for
discussion.

    Continue anyway? [y/N]
```

Read other changes.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12087

Differential Revision: https://secure.phabricator.com/D17169
2017-01-10 12:45:55 -08:00
..
almanac Cache Almanac URIs for repositories 2016-12-06 09:14:45 -08:00
aphlict Discard stdout/stderr from the aphlict subprocess when running in daemon (normal) mode 2016-11-13 16:43:42 -08:00
arcanist/conduit Remove remaining arcanist project code 2015-07-08 19:37:28 +10:00
audit Fix a Herald issue where testing commits against rules with revision-related conditions would fail 2016-09-08 17:16:40 -07:00
auth When rendering the "you were invited" header, query the inviting user with the omnipotent viewer 2016-12-09 08:35:34 -08:00
badges Remove some no-op "canUninstall()" Application methods 2016-12-05 11:02:25 -08:00
base Apply application visibility checks during normal object filtering 2017-01-02 10:00:00 -08:00
cache Introduce a serializing key-value cache proxy 2016-12-06 09:11:32 -08:00
calendar Fix an issue where setting a recurrence end date on a Calendar event without one could fatal 2017-01-06 16:36:09 -08:00
celerity Don't combine automatic output compression with "Content-Length" 2016-12-13 14:25:49 -08:00
chatlog Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
conduit Mark "v3" API methods as stable; mark obsoleted methods as "Frozen" 2017-01-09 07:16:27 -08:00
config In the "Version Information" panel, try to include branchpoints 2016-12-23 11:42:20 -08:00
conpherence Use PhutilQueryCompiler in Phabricator fulltext search 2016-11-25 14:46:10 -08:00
console Remove "mysql.implementation" configuration 2016-11-22 04:15:34 -08:00
countdown Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
daemon Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
dashboard Add a Dashboard MenuItem 2016-12-16 13:33:03 -08:00
differential Provide tailored strings for revision creation 2017-01-10 12:45:36 -08:00
diffusion Provide more useful guidance if a repository is clusterized into an existing multi-device cluster 2017-01-10 12:45:55 -08:00
diviner Remove unusual explicit calls to policy capability descriptions from Diviner 2016-12-14 11:23:05 -08:00
doorkeeper Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
draft/storage Clean up some log spam caused by races in VersionedDraft 2016-09-05 13:01:53 -07:00
drydock Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
fact Update Facts for newPage 2016-04-03 15:07:52 -07:00
favorites Basic Favorites application 2017-01-10 11:20:44 -08:00
feed Prevent media from autoplaying when rendered as a feed story 2016-11-22 14:19:56 -08:00
files Add download link to embedded files 2017-01-03 10:50:26 -08:00
flag Move FontIcon calls to Icon 2016-01-28 08:48:45 -08:00
fund Consistently refer to 'Projects' as 'Tags' 2016-04-19 16:48:21 +00:00
guides Add a bunch of Phacility-specific code to the upstream, thinly veiled as generic code 2016-11-15 09:11:22 -08:00
harbormaster Allow Harbormaster builds to publish to a different object 2017-01-04 13:46:39 -08:00
help Use "book" instead of "life ring" icon for global help menu 2016-10-28 14:33:18 -07:00
herald In Remarkup, render archived Herald rules with strikethrough for consistency 2016-12-08 12:37:54 -08:00
home Revert "Clean up more Quicksand" 2016-10-01 12:58:30 -07:00
legalpad Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
lipsum Modularize content sources 2016-03-26 11:59:45 -07:00
macro Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
maniphest Mark "v3" API methods as stable; mark obsoleted methods as "Frozen" 2017-01-09 07:16:27 -08:00
meta Reorganize phui-object-item CSS, add drag ui 2016-12-14 11:53:17 -08:00
metamta Make Herald test workflow modular and more clear 2016-08-03 16:12:33 -07:00
multimeter Add a cluster.read-only option 2016-04-09 13:40:47 -07:00
notification Add an icon to aphlict connection status 2016-10-02 08:17:21 -07:00
nuance Remove some no-op "canUninstall()" Application methods 2016-12-05 11:02:25 -08:00
oauthserver Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
owners Allow "O42" to find packages by monogram in Owners typeaheads 2017-01-04 15:08:37 -08:00
packages Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
passphrase Make Passphrase "token" credentials accessible via the API 2016-11-15 09:12:35 -08:00
paste Mark "v3" API methods as stable; mark obsoleted methods as "Frozen" 2017-01-09 07:16:27 -08:00
people Mark "v3" API methods as stable; mark obsoleted methods as "Frozen" 2017-01-09 07:16:27 -08:00
phame Allow custom Sites to have custom 404 controllers 2016-11-30 15:25:09 -08:00
phid Remove extra container tag on HandleListViews rendering from ModularTransactions in text mode 2017-01-09 08:41:59 -08:00
phlux Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
pholio Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
phortune When a Phortune subscription has a removed payment method, be more explicit about it 2016-11-23 14:07:40 -08:00
phpast Update phpast for new UI 2016-04-05 13:52:59 -07:00
phragment Remove some no-op "canUninstall()" Application methods 2016-12-05 11:02:25 -08:00
phrequent Redesign Config Application 2016-08-29 15:49:49 -07:00
phriction Fix Phriction document move on to existing document placeholder 2016-10-18 11:58:24 +00:00
phurl Don't send Phurl mail to the URL object itself 2016-11-15 09:12:15 -08:00
policy Fix excessively strict "Can Use Application" policy filtering 2017-01-08 11:01:36 -08:00
ponder Make "Core Applications" more reasonable 2016-08-12 07:57:59 -07:00
project Use some more human-readable Conduit keys in updated API methods 2017-01-09 08:42:23 -08:00
releeph Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
remarkup/conduit phtize all the things 2015-05-22 21:16:39 +10:00
repository Provide more useful guidance if a repository is clusterized into an existing multi-device cluster 2017-01-10 12:45:55 -08:00
search Basic Favorites application 2017-01-10 11:20:44 -08:00
settings Correct "Manage Password" link in Quickling in Diffusion 2017-01-08 08:20:23 -08:00
slowvote Prepare for event imports in Calendar 2016-10-12 10:45:31 -07:00
spaces Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
subscriptions Drive CLI-based revision edits through "differential.revision.edit" API + EditEngine 2016-12-16 10:08:49 -08:00
support/application
system Cache Almanac URIs for repositories 2016-12-06 09:14:45 -08:00
tokens Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
transactions Mark "v3" API methods as stable; mark obsoleted methods as "Frozen" 2017-01-09 07:16:27 -08:00
typeahead Drive CLI-based revision edits through "differential.revision.edit" API + EditEngine 2016-12-16 10:08:49 -08:00
uiexample Add setBackground to PHUIIconView 2016-08-19 13:19:53 -07:00
xhprof Removing deprecated method calls 2016-08-23 03:26:34 -05:00