Page MenuHomePhabricator
Feed Advanced Search

Apr 20 2022

epriestley closed T13630: Move Phacility provisioning to Piledriver as Resolved.

Almost every host currently in production was provisioned with Piledriver and things have been stable for quite a while, so I'm calling this resolved. See elsewhere for issues with Ubuntu20, mail, etc.

Apr 20 2022, 7:10 PM · Almanac, Infrastructure, Phacility
epriestley closed T13641: Support "Disabled" devices in Almanac as Resolved.

Calling this resolved, since it has been in production in the Phacility cluster for some time and worked correctly through relevant hardware changes.

Apr 20 2022, 6:39 PM · Almanac
epriestley closed T13641: Support "Disabled" devices in Almanac, a subtask of T13630: Move Phacility provisioning to Piledriver, as Resolved.
Apr 20 2022, 6:39 PM · Almanac, Infrastructure, Phacility

Dec 11 2021

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

I put all the database migration stuff everywhere and it appears stable. I'm hooking up Postmark as an outbound pathway now. If I get that working, I'll let it sit for a while and start migrating databases.

Dec 11 2021, 5:43 PM · Almanac, Infrastructure, Phacility

Dec 10 2021

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

Finally, there are other some MySQL version issues which can be avoided with:

Dec 10 2021, 6:22 PM · Almanac, Infrastructure, Phacility

Dec 9 2021

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

The new core/ support for the API is partially deployed; the new services/ support isn't anywhere yet.

Dec 9 2021, 11:13 PM · Almanac, Infrastructure, 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 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: Restricted Differential Revision.
Dec 1 2021, 11:03 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Restricted Differential Revision.
Dec 1 2021, 10:44 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Restricted Differential Revision.
Dec 1 2021, 9:34 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Restricted Differential Revision.
Dec 1 2021, 9:25 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, 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 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: D21732: Allow "PhutilAWSException" to identify "EBS: Not Found" errors.
Nov 19 2021, 10:27 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Restricted 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: Restricted Differential Revision.
Nov 18 2021, 6:26 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Restricted Differential Revision.
Nov 18 2021, 6:21 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Restricted 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

Mar 29 2021

epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Restricted Differential Revision.
Mar 29 2021, 4:44 PM · Almanac, Infrastructure, Phacility

Mar 27 2021

epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21657: Correct issue with "bindings" conduit attachment.
Mar 27 2021, 4:25 PM · Almanac

Mar 26 2021

epriestley added a revision to T13641: Support "Disabled" devices in Almanac: Restricted Differential Revision.
Mar 26 2021, 5:15 PM · Almanac

Mar 16 2021

epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21636: Default the Almanac Devices query to "Active Devices".
Mar 16 2021, 10:50 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 10:47 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21635: Forbid disabled devices from authenticating via SSH or HTTP.
Mar 16 2021, 10:41 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 10:31 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21632: Modernize "mailKey" for Almanac Networks.
Mar 16 2021, 10:11 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21631: Modernize "mailKey" on Almanac Namespaces.
Mar 16 2021, 10:08 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21630: Modernize "mailKey" for Almanac Bindings.
Mar 16 2021, 10:05 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21629: Modernize "mailKey" on AlamnacService.
Mar 16 2021, 10:01 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21628: Make upstream callers respect "active bindings" when querying Almanac.
Mar 16 2021, 9:47 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 9:28 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 9:23 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 9:23 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 9:23 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21626: Make minor Almanac device modernization updates.
Mar 16 2021, 9:23 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 9:22 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21627: Add a "status" property to Almanac devices.
Mar 16 2021, 8:41 PM · Almanac
epriestley updated the task description for T13641: Support "Disabled" devices in Almanac.
Mar 16 2021, 8:28 PM · Almanac
epriestley added a revision to T13641: Support "Disabled" devices in Almanac: D21625: Migrate Almanac Device "mailKey" to modern storage.
Mar 16 2021, 6:17 PM · Almanac
epriestley renamed T13641: Support "Disabled" devices in Almanac from Support "Archived" devices in Almanac to Support "Disabled" devices in Almanac.
Mar 16 2021, 6:03 PM · Almanac
epriestley triaged T13641: Support "Disabled" devices in Almanac as Normal priority.
Mar 16 2021, 6:02 PM · Almanac
epriestley added a project to T13630: Move Phacility provisioning to Piledriver: Almanac.
Mar 16 2021, 5:45 PM · Almanac, Infrastructure, Phacility
epriestley moved T13287: Build general healthcheck infrastructure for monitoring services from Backlog to Health / Statistics on the Almanac board.
Mar 16 2021, 5:44 PM · Clusters, Almanac
epriestley moved T7338: Build more status tools for monitoring Phacility cluster health from Backlog to Health / Statistics on the Almanac board.
Mar 16 2021, 5:44 PM · Almanac, Phacility

Mar 13 2021

epriestley closed T11013: "Unknown Object" when attempting to create a new Almanac network as Resolved.

This is very old and I can't reproduce it, and haven't seen any other reports.

Mar 13 2021, 6:31 PM · Almanac, Bug Report

May 26 2020

epriestley closed T12801: Simplify Almanac services in the Phacility production cluster as Resolved.

The major offender here (services per instance) was fixed by updating caching, and I destroyed all the old services. This is perhaps spiritually continued in T13542.

May 26 2020, 8:11 PM · Almanac, Ops, Phacility

May 10 2019

epriestley triaged T13287: Build general healthcheck infrastructure for monitoring services as Low priority.
May 10 2019, 5:45 PM · Clusters, Almanac
epriestley added parent tasks for T13287: Build general healthcheck infrastructure for monitoring services: T13286: When nodes in a cluster repository fail, reads are still routed with the same weight and failed reads do not recover, T13285: Service failures in JIRA can cascade into service failures in Phabricator.
May 10 2019, 5:45 PM · Clusters, Almanac
epriestley created T13287: Build general healthcheck infrastructure for monitoring services.
May 10 2019, 5:45 PM · Clusters, Almanac

Jan 23 2019

epriestley closed T920: Provide SMS Support, a subtask of T7338: Build more status tools for monitoring Phacility cluster health, as Resolved.
Jan 23 2019, 11:07 PM · Almanac, Phacility

Aug 13 2018

epriestley closed T13184: "Add Interface" > "Cancel" in Almanac takes you nowhere, instead of back to the device as Resolved by committing rPfb3ae72e367f: When cancelling addition of an Almanac interface, return to the Device page.
Aug 13 2018, 6:39 PM · Almanac
epriestley added a revision to T13184: "Add Interface" > "Cancel" in Almanac takes you nowhere, instead of back to the device: D19573: When cancelling addition of an Almanac interface, return to the Device page.
Aug 13 2018, 4:32 PM · Almanac
epriestley triaged T13184: "Add Interface" > "Cancel" in Almanac takes you nowhere, instead of back to the device as Low priority.
Aug 13 2018, 4:18 PM · Almanac

Jun 5 2018

joshuaspence added a member for Almanac: joshuaspence.
Jun 5 2018, 10:40 PM

Apr 11 2018

epriestley closed T12414: Implement Almanac edit endpoints in Conduit as Resolved.

I think that's pretty much everything. There will be a little followup work in T10883 and maybe T13076 / T13120.

Apr 11 2018, 5:54 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19343: Allow Almanac properties to be set and deleted via Conduit.
Apr 11 2018, 4:28 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19342: Make various small quality-of-life improvements for Almanac properties.
Apr 11 2018, 3:41 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19341: Allow Almanac Bindings to be enabled/disabled via API and support the "properties" attachment.
Apr 11 2018, 2:17 PM · Conduit, Almanac, Ops, Phacility
epriestley added a comment to T12414: Implement Almanac edit endpoints in Conduit.

Everything here should pretty much work except:

Apr 11 2018, 2:08 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19340: Provide "almanac.binding.search" and "almanac.binding.edit".
Apr 11 2018, 1:40 PM · Conduit, Almanac, Ops, Phacility

Apr 10 2018

amckinley reassigned T12414: Implement Almanac edit endpoints in Conduit from amckinley to epriestley.
Apr 10 2018, 7:32 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19338: Implement "almanac.interface.search" and "almanac.interface.edit".
Apr 10 2018, 7:22 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19337: Add "almanac.namespace.edit" and "almanac.namespace.search" API methods.
Apr 10 2018, 6:41 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19336: Use a more conventional spelling of "Almanac" for "almanac.service.edit" class.
Apr 10 2018, 6:22 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19335: Add "almanac.network.edit" and "almanac.network.search" API methods.
Apr 10 2018, 6:19 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19334: Modularize Almanac property transactions.
Apr 10 2018, 6:03 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: Restricted Differential Revision.
Apr 10 2018, 5:10 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: Restricted Differential Revision.
Apr 10 2018, 5:08 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19329: Modularize transactions for Almanac Device.
Apr 10 2018, 3:43 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19328: Remove TYPE_INTERFACE transaction from Almanac Device.
Apr 10 2018, 3:27 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: Restricted Differential Revision.
Apr 10 2018, 2:24 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: Restricted Differential Revision.
Apr 10 2018, 1:38 PM · Conduit, Almanac, Ops, Phacility
epriestley added a comment to T12414: Implement Almanac edit endpoints in Conduit.

Before I can get rid of AlmanacDeviceTransaction::TYPE_INTERFACE, we have two meaningful callsites in rSERVICES and one unit test in rSAAS to clean up.

Apr 10 2018, 1:30 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19325: Use Interface transactions, not Device transactions, to destroy Interfaces.
Apr 10 2018, 1:28 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19324: Edit Interfaces in Almanac with EditEngine.
Apr 10 2018, 1:17 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19323: Add skeleton code for Almanac Interfaces to have real transactions.
Apr 10 2018, 12:57 PM · Conduit, Almanac, Ops, Phacility
epriestley added a comment to T12414: Implement Almanac edit endpoints in Conduit.

There's a bit of a mess with AlmanacInterface and AlmanacDevice. Currently, AlmanacInterface does not use transactions, and is edited purely as a side effect of INTERFACE transactions applying to AlmanacDevice. I'm going to change how this works so that AlmanacInterface is a normal transactional object and can use the same rules and infrastructure as everything else.

Apr 10 2018, 12:34 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19322: Modularize Almanac Network transactions.
Apr 10 2018, 12:21 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19321: Modularize Almanac Binding transactions.
Apr 10 2018, 12:15 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19320: Modularize Almanac Namespace transactions.
Apr 10 2018, 11:51 AM · Conduit, Almanac, Ops, Phacility

Apr 9 2018

epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19318: Allow "almanac.service.edit" to create services.
Apr 9 2018, 9:20 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19317: Partially modularize AlmanacService transactions.
Apr 9 2018, 9:10 PM · Conduit, Almanac, Ops, Phacility
epriestley added a revision to T12414: Implement Almanac edit endpoints in Conduit: D19316: Remove dead "Service Lock" code from Almanac.
Apr 9 2018, 5:11 PM · Conduit, Almanac, Ops, Phacility

Nov 28 2017

epriestley added a revision to T12801: Simplify Almanac services in the Phacility production cluster: Restricted Differential Revision.
Nov 28 2017, 3:51 PM · Almanac, Ops, Phacility

Sep 14 2017

epriestley added a comment to T12414: Implement Almanac edit endpoints in Conduit.

It's also possible to write a custom instances.do-exactly-what-we-need sort of endpoint and generalize later if that seems like a more promising approach.

Sep 14 2017, 10:09 PM · Conduit, Almanac, Ops, Phacility
epriestley added a comment to T12414: Implement Almanac edit endpoints in Conduit.

The other shadow lurking in the water here -- which I think we can mostly avoid -- is that Almanac is mostly a-bit-bare-bones-but-overall-pretty-functional, except that the way properties on Bindings and Services are specified and edited is complete garbage. You more or less just have to magically know which properties are valid, and there's no real support for defaults or nice UI controls or hints about what you can set or suggestions that you're making stuff up and probably typo'd something.

Sep 14 2017, 9:55 PM · Conduit, Almanac, Ops, Phacility
epriestley added a comment to T12414: Implement Almanac edit endpoints in Conduit.

The "most right" way in terms of consistency is to fully convert Binding to EditEngine, then implement almanac.binding.edit which can create/edit bindings. When creating a binding, it would require transactions specifying the service and interface. PhamePostBlogTransaction is sort of an example of this: when you create a new post with phame.post.edit, you must specify a blog transaction.

Sep 14 2017, 9:49 PM · Conduit, Almanac, Ops, Phacility
amckinley added a comment to T12414: Implement Almanac edit endpoints in Conduit.

What's the best way to add API endpoints for resources like bindings? Call it almanac.create_binding and have it take a service and an interface as arguments?

Sep 14 2017, 8:23 PM · Conduit, Almanac, Ops, Phacility