Page MenuHomePhabricator
Feed All Stories

Dec 9 2021

epriestley added a revision to T13588: PHP 8 Compatibility: Restricted Differential Revision.
Dec 9 2021, 8:46 PM · Infrastructure

Dec 8 2021

epriestley edited the content of Migrating Repository Shards.
Dec 8 2021, 9:39 PM · Phacility

Dec 4 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

The latest version of Phabricator itself is everywhere.

Dec 4 2021, 11:46 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

I'm going to hold it until the weekend and try deploying then if things look calm on my end.

Dec 4 2021, 9:23 PM · Almanac, Infrastructure, Phacility

Dec 2 2021

cspeckmim updated the task description for T13669: Discourage use of Mailgun as a mail provider.
Dec 2 2021, 11:18 PM · Guides, Mail
epriestley added a revision to T13669: Discourage use of Mailgun as a mail provider: Unknown Object (Differential Revision).
Dec 2 2021, 10:48 PM · Guides, Mail
epriestley updated the task description for T13669: Discourage use of Mailgun as a mail provider.
Dec 2 2021, 10:42 PM · Guides, Mail
epriestley updated the task description for T13669: Discourage use of Mailgun as a mail provider.
Dec 2 2021, 10:39 PM · Guides, Mail
epriestley added a comment to T13037: An attacker gained staff access to Mailgun and was able to read customer API keys.

I'm satisfied that we aren't violating our commitment to our customers by continuing to use Mailgun as a service provider...

Dec 2 2021, 10:39 PM · Phacility, Security, Mail
epriestley created U49 Mailgun Discouraged.
Dec 2 2021, 10:34 PM
epriestley added a comment to T13669: Discourage use of Mailgun as a mail provider.

Purely venting, but the advanced version of "click here to schedule a mysterious meeting" is to outright lie -- pretending that you deeply respect the recipient's achievements -- before asking them to schedule a mysterious meeting.

Dec 2 2021, 10:30 PM · Guides, Mail
epriestley triaged T13669: Discourage use of Mailgun as a mail provider as Normal priority.
Dec 2 2021, 10:12 PM · Guides, Mail
cspeckmim edited the content of 2021 Week 49 (Early December).
Dec 2 2021, 1:36 AM

Dec 1 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

While waiting to deploy db stuff, I was planning to look at pruning dead data out of S3 -- but, on closer examination, the total S3 bill is something like $1/day, so no priority on that whatsoever.

Dec 1 2021, 11:57 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Piledriver also needs to be able to provision database hosts, but these are more-or-less a trivial subset of repository hosts.

Dec 1 2021, 11:47 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.
  • Make InstancesStateQuery use a dictionary when building the database ref information internally.
Dec 1 2021, 11:06 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Dec 1 2021, 11:03 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Dec 1 2021, 10:44 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Dec 1 2021, 9:34 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Dec 1 2021, 9:25 PM · Almanac, Infrastructure, Phacility
epriestley edited the content of Changelog.
Dec 1 2021, 9:23 PM
epriestley created an object: 2021 Week 49 (Early December).
Dec 1 2021, 9:21 PM
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Piledriver also needs to be able to provision database hosts, but these are more-or-less a trivial subset of repository hosts.

Dec 1 2021, 8:44 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

I completed all the repository migrations over the weekend and seemingly haven't run into any issues.

Dec 1 2021, 8:41 PM · Almanac, Infrastructure, Phacility

Nov 22 2021

epriestley closed T13653: After an AWS event, Phacility hosts may come up with swap only partially configured as Resolved.

This appears resolved: the workflow now tests that /proc/meminfo reports an appropriate value for TotalSwap.

Nov 22 2021, 2:02 PM · Phacility
epriestley added a revision to T13653: After an AWS event, Phacility hosts may come up with swap only partially configured: Unknown Object (Differential Revision).
Nov 22 2021, 1:30 PM · Phacility

Nov 21 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Just for completeness, vault used to be an HAProxy host serving as an SSH load balancer, but this responsibility moved to lb001 once ELBs became able to listen on inbound port 22 and TCP forward, so there is no longer a vault class of machines.

Nov 21 2021, 3:55 PM · Almanac, Infrastructure, Phacility

Nov 20 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

The new provisioning process for repository shards is:

Nov 20 2021, 9:02 PM · Almanac, Infrastructure, Phacility

Nov 19 2021

epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 19 2021, 10:27 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 19 2021, 10:24 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Piledriver was built before the FutureGraph stuff settled in T11968; it runs into the same general set of sequencing problems and yield would likely be a good approach.

Nov 19 2021, 10:22 PM · Almanac, Infrastructure, Phacility

Nov 18 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

I can't figure out how to delete...

Nov 18 2021, 7:24 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

I got rid of everything I could, and nothing appears to be affected.

Nov 18 2021, 7:20 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

We have a lot of leftover VPC cruft that I'm going to nuke, notably meta and admin VPCs that (as far as I can tell) have nothing in them, and then a bunch of subnets (meta.private-a, meta.private-b, block-public-222, admin.public-a, admin.public-b, meta.public-a, meta.public-b, block-private-3) and some NGWs etc. I'm like 99% sure this stuff is all leftover from testing years ago and nothing depends on it, but I guess we'll see what happens when I delete all of it.

Nov 18 2021, 6:55 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Here's the last known state of the world from T12816:

Nov 18 2021, 6:49 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 18 2021, 6:26 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 18 2021, 6:21 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 18 2021, 5:15 PM · Almanac, Infrastructure, Phacility

Nov 17 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

See also NAT carryover from T12816, via T13542.

Nov 17 2021, 8:02 PM · Almanac, Infrastructure, Phacility
epriestley closed T13542: Rebalance Phacility instances into a private subnet as Resolved.

Closing this in favor of T13630, which covers the same ground.

Nov 17 2021, 8:02 PM · Phacility

Nov 15 2021

epriestley added a comment to T13654: Wind Down Phacility Operations.

I'm planning to simply delete the Discourse forum without preserving any content.

Nov 15 2021, 4:22 PM · Phacility

Oct 23 2021

emiraga added a comment to T2794: Implement Phage (like Hypershell).

Thank you for the answer, appreciate it, and your effort that goes into arcanist.

Oct 23 2021, 11:06 AM · Phage, Infrastructure

Oct 21 2021

epriestley added a comment to T2794: Implement Phage (like Hypershell).

The non-public parts of Phage are currently very specific to Phacility's cluster and probably not generally useful. The current version of PhageRemoteWorkflow is similar to P2107 and depends on particular Phacility services and hosts to enumerate valid remotes and negotiate a connection to them through a bastion pool. These service-listing and bastion-host components are not generalized and not trivially generalizable.

Oct 21 2021, 8:00 PM · Phage, Infrastructure
emiraga added a comment to T2794: Implement Phage (like Hypershell).

It seem to me like certain parts of phage are not published in a public repo. Are there plans to open up missing pieces?

Oct 21 2021, 6:37 PM · Phage, Infrastructure

Oct 19 2021

epriestley added a comment to T13628: Provide "Foist Upon", an inverse operation to "Commandeer".
  1. As Alice, commandeer a revision authored by Baliey and reviewed by Claire. Edit it locally to do arbitrary bad things, then git push it.
  2. Make a commit, edit the commit message to say Differential Revision: D1234, where D1234 is a current, valid, accepted revision authored by anyone, then git push it.
Oct 19 2021, 6:25 PM · Differential
epriestley added a comment to T13628: Provide "Foist Upon", an inverse operation to "Commandeer".

I believe it is extremely difficult to configure Phabricator to provide the assurance you describe, particularly if arc land does anything. If you are actually providing this guarantee ("an attacker needs two machines"), you can likely add a clause to the large amount of custom code you've written to prevent self-foisting while still supporting other foisting use cases. If you haven't written a large amount of custom code, I suspect an attacker can fairly easily deploy with one machine without using "Foist Upon".

Oct 19 2021, 6:18 PM · Differential
ptarjan added a comment to T13628: Provide "Foist Upon", an inverse operation to "Commandeer".

Is there a way to disable this feature? Our security team has noticed that with this feature we can land code with just a single person's machine being compromised (we rely on an attacker needing two machines to deploy code as a safety mechanism). I.e. You make a revision, Foist it on someone, Approve it, then arc land it as the other person (saying y to the prompt).

Oct 19 2021, 5:48 PM · Differential

Sep 28 2021

epriestley added a comment to T13588: PHP 8 Compatibility.

See also T12404#256288 for a note on each removal.

Sep 28 2021, 2:41 PM · Infrastructure
epriestley added a comment to T12404: Implement a first-party SMTP client.

each is usually easy to replace and I'm happy to accept a change to replace it if someone wants to reproduce/test it. I believe this (totally ridiculous) construction:

Sep 28 2021, 2:40 PM · Infrastructure, Mail
avivey added a comment to T13588: PHP 8 Compatibility.

From https://discourse.phabricator-community.org/t/sending-emails-causes-an-exception/4966, looks like the PHPMailer uses each which is removed in php 8.

Sep 28 2021, 7:57 AM · Infrastructure
avivey added a comment to T12404: Implement a first-party SMTP client.

From https://discourse.phabricator-community.org/t/sending-emails-causes-an-exception/4966, it appears that both class.smtp.php and class.phpmailer-lite.php have calls to each which is removed in PHP 8.

Sep 28 2021, 7:55 AM · Infrastructure, Mail

Sep 23 2021

cspeckmim added a revision to T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits: Unknown Object (Differential Revision).
Sep 23 2021, 3:09 AM · Mercurial, Arcanist

Sep 22 2021

cspeckmim updated the task description for T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits.
Sep 22 2021, 2:10 AM · Mercurial, Arcanist
cspeckmim created T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits.
Sep 22 2021, 2:06 AM · Mercurial, Arcanist

Sep 16 2021

cspeckmim added a revision to T13665: The "arc amend" workflow does not work on Mercurial repositories: Unknown Object (Differential Revision).
Sep 16 2021, 6:54 PM · Mercurial, Arcanist

Sep 14 2021

cspeckmim updated the task description for T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:59 PM · Arcanist, Mercurial
cspeckmim updated the task description for T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:55 PM · Arcanist, Mercurial
cspeckmim created T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:49 PM · Arcanist, Mercurial

Sep 5 2021

cspeckmim closed T13665: The "arc amend" workflow does not work on Mercurial repositories as Resolved by committing Restricted Diffusion Commit.
Sep 5 2021, 7:25 PM · Mercurial, Arcanist
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

So that part is correct, but swapping the commit and branch was incidental, and I overlooked it because we usually get the same result: in common cases, this is moot because ancestors(<branch name>) is equivalent to ancestors(<heads of that branch>), and branch(<commit hash>) is equivalent to branch(<branch of that commit>). The latter is always equivalent; the former is equivalent when commit is the single head of branch, which it almost always is in regular use.

But this behavior (on this install) is unambiguously wrong:

Screen Shot 2021-09-04 at 5.28.41 PM.png (1×2 px, 407 KB)

...since b7be5c961297 (the parameter) is an ancestor of 162a9c1e8e44 (the first commit in the result set). I'll send you a diff.

Sep 5 2021, 1:21 AM · Diffusion
epriestley added a revision to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations: Unknown Object (Differential Revision).
Sep 5 2021, 12:47 AM · Diffusion
epriestley added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

Good catch!

Sep 5 2021, 12:30 AM · Diffusion

Sep 4 2021

cspeckmim closed T13634: Support marking commits as UNREACHABLE in Mercurial as Resolved.
Sep 4 2021, 11:55 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

One tangential thing I noticed from the error messages in these cases, in DiffusionHistoryQueryConduitAPIMethod the getMercurialResult() function executes this hg command

$path_args = array();
if (strlen($path)) {
  $path_args[] = $path;
  $revset_arg = hgsprintf(
    'reverse(ancestors(%s))',
    $commit_hash);
} else {
  $revset_arg = hgsprintf(
    'reverse(ancestors(%s)) and branch(%s)',
    $drequest->getBranch(),
    $commit_hash);
}
Sep 4 2021, 11:03 PM · Diffusion
cspeckmim closed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations as Resolved.
Sep 4 2021, 10:51 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

With just the updates to the future handling this is now the landing page I see with missing commits:

Screen Shot 2021-09-04 at 6.33.54 PM.png (948×3 px, 180 KB)

Sep 4 2021, 10:50 PM · Diffusion
cspeckmim renamed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations from Improve error-handling behavior of Diffusion repository landing page to Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 4 2021, 9:29 PM · Diffusion
epriestley added a revision to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations: Unknown Object (Differential Revision).
Sep 4 2021, 9:13 PM · Diffusion
epriestley added a revision to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations: Unknown Object (Differential Revision).
Sep 4 2021, 8:40 PM · Diffusion
epriestley added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

Ah, that's helpful. I found a repro, it's specific to the behavior of the ImmediateFuture pathway for non-clustered resolution of Conduit "calls". This should force it from any configuration/state, I think:

Sep 4 2021, 7:46 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

I'm able to reproduce this but I'll investigate further

Sep 4 2021, 7:40 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

I think I did conflate this partially - namely that this isn't directly caused by the issue discussed in T13365. Where this issue came up for me is while testing out D21715, I removed the head commit from the on-disk repo which caused the landing page to not render properly:

Sep 4 2021, 7:20 PM · Diffusion
epriestley added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

I'll have some more detail in D21717 in a minute, but I can't immediately reproduce this, I think? If I intentionally break diffusion.historyquery like this:

Sep 4 2021, 7:06 PM · Diffusion
cspeckmim added a revision to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations: Unknown Object (Differential Revision).
Sep 4 2021, 6:07 AM · Diffusion
cspeckmim updated the task description for T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 4 2021, 5:49 AM · Diffusion
cspeckmim added a revision to T13665: The "arc amend" workflow does not work on Mercurial repositories: Unknown Object (Differential Revision).
Sep 4 2021, 4:56 AM · Mercurial, Arcanist

Sep 3 2021

cspeckmim claimed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 3 2021, 10:26 PM · Diffusion
cspeckmim updated the task description for T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 3 2021, 10:26 PM · Diffusion
cspeckmim renamed T13365: Conduit API method "diffusion.historyquery" fatals under Git/Mercurial if passed a bad "commit" from Conduit API method "diffusion.historyquery" fatals if passed a bad "commit" to Conduit API method "diffusion.historyquery" fatals under Git/Mercurial if passed a bad "commit".
Sep 3 2021, 10:24 PM · Diffusion
cspeckmim renamed T13365: Conduit API method "diffusion.historyquery" fatals under Git/Mercurial if passed a bad "commit" from Conduit API method "diffusion.historyquery" fatals under Git if passed a bad "commit" to Conduit API method "diffusion.historyquery" fatals if passed a bad "commit".
Sep 3 2021, 10:24 PM · Diffusion
cspeckmim triaged T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations as Low priority.
Sep 3 2021, 10:23 PM · Diffusion
cspeckmim updated the task description for T13665: The "arc amend" workflow does not work on Mercurial repositories.
Sep 3 2021, 9:47 PM · Mercurial, Arcanist
cspeckmim added a project to T13665: The "arc amend" workflow does not work on Mercurial repositories: Mercurial.
Sep 3 2021, 2:25 PM · Mercurial, Arcanist
cspeckmim added a project to T13665: The "arc amend" workflow does not work on Mercurial repositories: Arcanist.
Sep 3 2021, 2:25 PM · Mercurial, Arcanist
cspeckmim triaged T13665: The "arc amend" workflow does not work on Mercurial repositories as Wishlist priority.
Sep 3 2021, 2:24 PM · Mercurial, Arcanist
cspeckmim added a comment to T13634: Support marking commits as UNREACHABLE in Mercurial.

In Mercurial, I'm not exactly sure how wide this window is. Since you normally can't strip commits in the remote by pushing (AFAIK?)

This is true, though it does change a bit if we enable evolve server-side. Then when commits/branches are pruned when pushing/pulling those obsolete markers will also be transferred, allowing similar disappearing commits (retrievable via —hidden). However I believe by default mercurial does not allow pruning public changesets (would require forcibly changing phases on client/server, or running a server/branch in non-publishing mode). Supporting evolve/topics server-side is probably large enough that it would be its own big project. So I think this assumption holds up well.

Sep 3 2021, 3:57 AM · Diffusion
epriestley added a comment to T13634: Support marking commits as UNREACHABLE in Mercurial.

(D21715 is still a draft, but I left a couple of more specific comments there.)

Sep 3 2021, 3:39 AM · Diffusion
epriestley added a comment to T13634: Support marking commits as UNREACHABLE in Mercurial.

Does this refer to when multiple dependent commits are pushed and then stripped from the on-disk state?

Sep 3 2021, 3:35 AM · Diffusion
cspeckmim added a comment to T13634: Support marking commits as UNREACHABLE in Mercurial.

Another caveat here is that if you destroy commits directly in Phabricator's working copy in certain states, it's possible it won't be able to trace ancestry to find all the commits you destroyed in order to mark them unreachable. However, this window is narrow. For Git, you can bin/repository mark-reachable to rebuild reachability if you know you've done a bunch of dangerous mutations to the on-disk state.

Sep 3 2021, 3:02 AM · Diffusion
cspeckmim updated the task description for T13634: Support marking commits as UNREACHABLE in Mercurial.
Sep 3 2021, 2:58 AM · Diffusion
cspeckmim added a revision to T13634: Support marking commits as UNREACHABLE in Mercurial: Unknown Object (Differential Revision).
Sep 3 2021, 2:55 AM · Diffusion

Aug 20 2021

0 closed T13663: TypeError when editing calendar import as Resolved by committing Restricted Diffusion Commit.
Aug 20 2021, 10:49 PM · Calendar
0 added a revision to T13663: TypeError when editing calendar import: Unknown Object (Differential Revision).
Aug 20 2021, 6:12 AM · Calendar

Aug 19 2021

epriestley updated the task description for T13664: SSRF and Phabricator.
Aug 19 2021, 5:07 PM · Security, Guides
epriestley triaged T13664: SSRF and Phabricator as Low priority.
Aug 19 2021, 4:41 PM · Security, Guides
epriestley added a comment to T13663: TypeError when editing calendar import.

I think this is probably the cleanest fix, but I only tested event imports (which now appear to work). If you want to test Maniphest with subtypes configured (to make sure it doesn't break) and send me a revision with this change, I'll review it. Otherwise, I'll do that testing when I get a chance and land this if nothing crops up.

Aug 19 2021, 4:07 PM · Calendar
0 updated subscribers of T13663: TypeError when editing calendar import.
Aug 19 2021, 2:31 AM · Calendar
0 created T13663: TypeError when editing calendar import.
Aug 19 2021, 2:27 AM · Calendar

Aug 18 2021

epriestley removed a member for Phacility High Command: amckinley.
Aug 18 2021, 7:31 PM

Aug 17 2021

cspeckmim awarded T13133: Phabricator Query Layer Overview a Mountain of Wealth token.
Aug 17 2021, 12:14 AM · Guides