Page MenuHomePhabricator
Feed Advanced Search

Jun 15 2017

epriestley created T12847: A Pathway Towards Private Clusters.
Jun 15 2017, 9:02 PM · Plans, Ops, Phacility

Jun 12 2017

epriestley added projects to T12830: Disentangle "repoXYZ = dbXYZ" in the Phacility cluster: Phacility, Ops.
Jun 12 2017, 6:44 PM · Ops, Phacility
epriestley lowered the priority of T12798: Decommission cluster host `repo012` from High to Low.

I moved everything except one test instance off in T12817, and we appear to be ready for this host to die.

Jun 12 2017, 6:34 PM · Ops, Phacility
epriestley closed T12817: Move instances from repo012 to repo025 as Resolved.

No one has complained that all their data is gone so I'm going to assume the best here.

Jun 12 2017, 6:23 PM · Phacility, Ops

Jun 10 2017

chad added a comment to T12817: Move instances from repo012 to repo025.

nice!

Jun 10 2017, 2:02 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

The move completed without errors.

Jun 10 2017, 10:40 AM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

Instances are moving now.

Jun 10 2017, 10:08 AM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

Deploying, then picking this up again.

Jun 10 2017, 9:31 AM · Phacility, Ops

Jun 9 2017

epriestley closed T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster as Resolved.

I'm going to call this "resolved" since I migrated instances in T12817 successfully. There's followup work, but T12798 is probably a better point of consolidation for future work now than this task is.

Jun 9 2017, 11:51 PM · Ops, Phacility
epriestley closed T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster, a subtask of T11665: repo002.phacility.net is heavily loaded, as Resolved.
Jun 9 2017, 11:51 PM · Ops, Phacility
chad added a comment to T12817: Move instances from repo012 to repo025.

itsawesome

Jun 9 2017, 8:25 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

The disabled/suspended instances finished up with no apparent issues, so I expect to move the live instances tomorrow.

Jun 9 2017, 8:21 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

A verrrry minor thing is that because we always transfer a repository backup (even if it's empty), a migration always generates a repository directory on the far end. We could maaaybe have restore remove the directory if it's empty after the restore finishes to tidy this up just a touch.

Jun 9 2017, 7:46 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

I'm moving all the disabled/suspended instances now.

Jun 9 2017, 7:30 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

With those changes, bin/instances move completed successfully.

Jun 9 2017, 5:30 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

As a sort of aside, --global --instance X is really slow right now (about 10s), and will only get slower in the future: it loads every instance page by page over Conduit, then does the remaining filtering by name locally. But it gets the right result, so this is reasonable enough for the moment. I may try to tune this before moving a lot of instances.

Jun 9 2017, 5:23 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

I hit two more minor issues:

Jun 9 2017, 5:21 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

bin/host restore failed with this error:

Jun 9 2017, 5:04 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

I read and wrote the repository and verified that the data really ended up on db012 and repo025.

Jun 9 2017, 4:51 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

I launched yellow-underneathie.phacility.com with forced services dbx012 and repox025. My goal here is to check for any code I missed which makes the assumption that dbX = repoX. I believe we don't have any of this code, but if we do, this instance should point out whatever problems we have that still need to be cleaned up.

Jun 9 2017, 4:46 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.
  • Swap stuff finished up.
  • I merged master to stable for services/ to pick up bin/services sync --src ... --dst ....
  • I merged master to stable for instances/ to pick up bin/instances move ... and related changes.
  • core/ just runs master so nothing needed to merge.
  • I upgraded repo025, then repo012, then admin001. None of these seemed to hit any issues.
Jun 9 2017, 4:42 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.

While that's running, I closed dbx012 and repox012 to new allocations. The shard status panel correctly reflects repox025 with no paired DB service and the 012 shard as closed:

Jun 9 2017, 4:26 PM · Phacility, Ops
epriestley added a comment to T12817: Move instances from repo012 to repo025.
  • I launched repo025.phacility.net, like other hosts in the tier.
  • I added repo025.phacility.net to DNS in Route 53 (172.30.0.115).
  • I added a device record (repo025.phacility.net) to Almanac on admin.phacility.com.
  • I added a service record (repox025.phacility.net) to Almanac on admin.phacility.com, and bound it to the device.
  • I added a device record for the backup volume, rback025.phacility.net.
Jun 9 2017, 4:24 PM · Phacility, Ops
epriestley created T12817: Move instances from repo012 to repo025.
Jun 9 2017, 4:14 PM · Phacility, Ops
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 9 2017, 3:55 PM · Ops, Phacility
epriestley lowered the priority of T12816: Setup NAT for the primary Phacility cluster from Normal to Low.

I think the next steps are:

Jun 9 2017, 3:11 PM · Ops, Phacility
epriestley added a comment to T12816: Setup NAT for the primary Phacility cluster.

I cleaned up all that stuff and it doesn't look like I broke the world.

Jun 9 2017, 3:00 PM · Ops, Phacility
epriestley added a comment to T12816: Setup NAT for the primary Phacility cluster.

I think this means we don't need to migrate every host: the problem with swapping block001 over to be NAT'd was probably that the NAT gateway itself couldn't reach the public internet. When we changed the 0.0.0.0/0 rule to nat-..., that blocked the NAT gateway itself from getting out.

Jun 9 2017, 2:53 PM · Ops, Phacility
epriestley added a comment to T12816: Setup NAT for the primary Phacility cluster.
  • I launched a new NAT gateway into the public subnet (block001); nat-0d470fc54d846a993.
  • I reconfigured the private subnet route table to point at the new gateway instead of the old one.
  • I can now reach the public internet from the host on the private subnet:
Jun 9 2017, 2:38 PM · Ops, Phacility
epriestley added a comment to T12816: Setup NAT for the primary Phacility cluster.

I think the problem is that the NAT gateway is currently in the private001 subnet, but needs to be in the public subnet (the NAT gateway itself must have a route to the public internet).

Jun 9 2017, 2:34 PM · Ops, Phacility
epriestley added a comment to T12816: Setup NAT for the primary Phacility cluster.
  • I stopped the host, and got kicked off as expected.
  • I started the host.
  • Problem: This failed to magically fix anything, and I still can't connect to the public internet.
Jun 9 2017, 2:29 PM · Ops, Phacility
epriestley added a comment to T12816: Setup NAT for the primary Phacility cluster.
  • I built a new route table, following the main route table.
  • I replaced the target for the 0.0.0.0/0 rule with nat-... instead of igw-....
  • Under "Endpoints", I added the new route table to the S3 endpoint so the private subnet can access S3.
    • (This wasn't immediately reflected in the "Routes" UI, but it's not important for now so I'm going to assume it's a propagation issue until I need it.)
    • (It showed up about a minute later.)
  • I changed private001.phacility.net to use the new route table, with nat-... instead of igw-....
  • I can still connect to the test host from the bastion.
  • Problem: I still can't connect to the public internet from the test host.
Jun 9 2017, 2:24 PM · Ops, Phacility
epriestley added a comment to T12816: Setup NAT for the primary Phacility cluster.
  • We launched a new private subnet (private001.phacility.net) yesterday.
  • I launched a new instance (nat-test001.phacility.net) into this subnet, with no public IP.
  • I can connect to the instance from the bastion host (bastion005), which is good.
  • Problem: I can not connect to the public internet from the test host.
Jun 9 2017, 2:18 PM · Ops, Phacility
epriestley created T12816: Setup NAT for the primary Phacility cluster.
Jun 9 2017, 2:16 PM · Ops, Phacility

Jun 8 2017

epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 8 2017, 12:34 AM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 8 2017, 12:29 AM · Ops, Phacility

Jun 7 2017

epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 7 2017, 7:05 PM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 7 2017, 6:56 PM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 7 2017, 12:26 PM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 7 2017, 11:51 AM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 7 2017, 11:29 AM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 7 2017, 11:22 AM · Ops, Phacility
epriestley added a comment to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster.

Conveniently, bin/restore already exists and does much of the above, although it doesn't have a --download flag yet and its current behavior is to abort if data already exists.

Jun 7 2017, 11:18 AM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 7 2017, 11:16 AM · Ops, Phacility
epriestley added a comment to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster.

Actually, from the logs above I didn't even do it manually and just made it up for no reason.

Jun 7 2017, 11:08 AM · Ops, Phacility
epriestley added a comment to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster.

Thinking about this a little more, there's really no reason to do any of the rebinding stuff until after we move the data. I did that earlier when moving manually, largely for convenience -- but we don't need to sequence things like that when automating, particularly if we don't need bin/storage to work on the new database.

Jun 7 2017, 11:08 AM · Ops, Phacility
epriestley added a comment to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster.

I think we have a generally tricky situation on the database stuff here. The general algorithm this process is using so far is:

Jun 7 2017, 11:01 AM · Ops, Phacility

Jun 6 2017

epriestley added a comment to T12798: Decommission cluster host `repo012`.

(None of this impacts anything outside the ops realm in any way, except that some of the admin/ops-flavored UIs are changing a little.)

Jun 6 2017, 4:32 PM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

There will be a final written exam on June 19th.

Jun 6 2017, 4:29 PM · Ops, Phacility
chad added a comment to T12798: Decommission cluster host `repo012`.

Just to clarify, it's ok that I'm not following, nor understand any of this, correct?

Jun 6 2017, 4:22 PM · Ops, Phacility
amckinley added a comment to T12798: Decommission cluster host `repo012`.

Oh. My. God.

Jun 6 2017, 3:49 PM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

Jun 6 2017, 3:43 PM · Ops, Phacility
amckinley added a comment to T12798: Decommission cluster host `repo012`.

(Slightly related: I killed the test-nat instance this morning since it doesn't help actually test the NAT).

Jun 6 2017, 3:41 PM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 6 2017, 3:27 PM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 6 2017, 1:22 PM · Ops, Phacility
epriestley added a revision to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster: Restricted Differential Revision.
Jun 6 2017, 12:39 PM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

Er, that was rCORE085cd7e4 but I typed D instead of T.

Jun 6 2017, 11:20 AM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

I inched us forward on getting EC2 and Almanac to agree with one another, but need T12414 to make much more headway:

Jun 6 2017, 11:20 AM · Ops, Phacility
epriestley added a comment to T11670: Automate more of the migration process for moving instances across shards in the Phacility cluster.

Some of the syntax has changed slightly from the above, but I think the overall plan remains basically correct.

Jun 6 2017, 1:19 AM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

phage remote status --pools db,repo and such work now, using Conduit credentials from the bastion to query admin. We can swap that stuff later if we want to switch to EC2.

Jun 6 2017, 1:03 AM · Ops, Phacility
amckinley added a comment to T12798: Decommission cluster host `repo012`.

As far as pulling this state from EC2, it's really easy to fetch the list of hosts that have a given tag: http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html

Jun 6 2017, 12:09 AM · Ops, Phacility

Jun 5 2017

epriestley added a comment to T12798: Decommission cluster host `repo012`.

Come up with a plan for where phage --pool repo is going to get the host list from.

Jun 5 2017, 11:53 PM · Ops, Phacility
epriestley added a revision to T12798: Decommission cluster host `repo012`: Restricted Differential Revision.
Jun 5 2017, 11:15 PM · Ops, Phacility
epriestley created T12801: Simplify Almanac services in the Phacility production cluster.
Jun 5 2017, 11:07 PM · Almanac, Ops, Phacility
epriestley added a revision to T12798: Decommission cluster host `repo012`: Restricted Differential Revision.
Jun 5 2017, 9:05 PM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

Another adjacent piece of work here is automating provisioning (e.g., through autoscale groups or bin/provision) but I think we should mostly leave that for the future too since we're theoretically bringing up only one new host (or maybe two, natXXX + repoXXX). Many of the other changes here give us tools toward that anyway, and it would probably be better to pursue that as part of a future change that involves launching a larger number of new hosts (e.g., chassis swap on the whole tier).

Jun 5 2017, 6:57 PM · Ops, Phacility
epriestley added a project to T12798: Decommission cluster host `repo012`: Ops.
Jun 5 2017, 6:51 PM · Ops, Phacility

May 4 2017

epriestley closed T12546: "bin/remote deploy" picks up deployment keys locally instead of on the bastion as Resolved by committing Restricted Diffusion Commit.
May 4 2017, 10:29 PM · Ops, Infrastructure, Phacility

May 1 2017

epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

One broad issue is that admin.phacility.com sees a generally high, sustained request rate of almanac.service.search calls (up to dozens per second). I think the uneven performance I've sometimes observed is just load-related, and that this load is sometimes high enough to max out the Apache workers and cause queue stalls.

May 1 2017, 2:19 PM · Phacility, Ops

Apr 28 2017

epriestley closed T12652: Prevent circular dependency between "admin" and rCORGI from interrupting `admin` deployment as Resolved by committing Restricted Diffusion Commit.
Apr 28 2017, 3:33 PM · Ops, Phacility
epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

Attempt to improve the performance of the almanac.service.search call

Apr 28 2017, 3:31 PM · Phacility, Ops
epriestley added a revision to T12646: Reduce the impact of "admin" backups on instances: Restricted Differential Revision.
Apr 28 2017, 3:07 PM · Phacility, Ops
epriestley closed T12651: Update `bin/host download` to use the newer API as Resolved by committing Restricted Diffusion Commit.
Apr 28 2017, 1:03 AM · Ops, Files, Phacility
epriestley added a revision to T12652: Prevent circular dependency between "admin" and rCORGI from interrupting `admin` deployment: Restricted Differential Revision.
Apr 28 2017, 12:52 AM · Ops, Phacility
epriestley added a revision to T12651: Update `bin/host download` to use the newer API: Restricted Differential Revision.
Apr 28 2017, 12:22 AM · Ops, Files, Phacility

Apr 27 2017

epriestley added a revision to T12651: Update `bin/host download` to use the newer API: Restricted Differential Revision.
Apr 27 2017, 11:17 PM · Ops, Files, Phacility
epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

The next actions I plan to take here are:

Apr 27 2017, 5:00 PM · Phacility, Ops
epriestley added a project to T12651: Update `bin/host download` to use the newer API: Ops.
Apr 27 2017, 4:47 PM · Ops, Files, Phacility
epriestley created T12652: Prevent circular dependency between "admin" and rCORGI from interrupting `admin` deployment.
Apr 27 2017, 4:47 PM · Ops, Phacility

Apr 26 2017

epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

GC has caught up to Conduit and the conduit_methodcalllog table is down to 160MB from ~1GB.

Apr 26 2017, 11:19 PM · Phacility, Ops
epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

I think the Leylines change didn't actually work because we make the call via the LB so the request appears to coming from outside the cluster.

Apr 26 2017, 9:25 PM · Phacility, Ops
epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

Deploying Leylines + GC changes to admin now.

Apr 26 2017, 9:07 PM · Phacility, Ops
epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

I used bin/files migrate to move some old files which were stored in MySQL before S3 was configured to S3. The file blob table is now down to 160MB from 477MB.

Apr 26 2017, 8:04 PM · Phacility, Ops
epriestley added a revision to T12646: Reduce the impact of "admin" backups on instances: Restricted Differential Revision.
Apr 26 2017, 7:49 PM · Phacility, Ops
epriestley added a comment to T12646: Reduce the impact of "admin" backups on instances.

A big part of this appears to be that dumping the huge Leylines table locks it, so requests can't record their own Leylines data:

Apr 26 2017, 7:27 PM · Phacility, Ops
epriestley added a revision to T12646: Reduce the impact of "admin" backups on instances: Restricted Differential Revision.
Apr 26 2017, 7:20 PM · Phacility, Ops
epriestley added a revision to T12646: Reduce the impact of "admin" backups on instances: Restricted Differential Revision.
Apr 26 2017, 6:57 PM · Phacility, Ops
epriestley added a comment to T12611: Write Phabricator HTTP and SSH logs in the production cluster.

Specifically, I'd like to make these changes:

Apr 26 2017, 3:08 PM · Phacility, Ops
epriestley created T12646: Reduce the impact of "admin" backups on instances.
Apr 26 2017, 12:24 PM · Phacility, Ops

Apr 23 2017

epriestley added a comment to T12611: Write Phabricator HTTP and SSH logs in the production cluster.

The Aphlict logs should probably get consolidated here too, they're set up a little weird and don't currently rotate during normal deployments.

Apr 23 2017, 7:18 PM · Phacility, Ops
epriestley added a revision to T12611: Write Phabricator HTTP and SSH logs in the production cluster: Restricted Differential Revision.
Apr 23 2017, 2:57 PM · Phacility, Ops
epriestley added a revision to T12611: Write Phabricator HTTP and SSH logs in the production cluster: Restricted Differential Revision.
Apr 23 2017, 2:47 PM · Phacility, Ops
epriestley added a revision to T12611: Write Phabricator HTTP and SSH logs in the production cluster: Restricted Differential Revision.
Apr 23 2017, 2:37 PM · Phacility, Ops
epriestley added a revision to T12611: Write Phabricator HTTP and SSH logs in the production cluster: Restricted Differential Revision.
Apr 23 2017, 2:35 PM · Phacility, Ops

Apr 21 2017

epriestley added a revision to T12612: Design (and possibly implement) production rate limiting controls: Restricted Differential Revision.
Apr 21 2017, 9:24 PM · Phacility, Ops
epriestley added a revision to T12612: Design (and possibly implement) production rate limiting controls: Restricted Differential Revision.
Apr 21 2017, 9:20 PM · Phacility, Ops
epriestley added a revision to T12612: Design (and possibly implement) production rate limiting controls: Restricted Differential Revision.
Apr 21 2017, 8:59 PM · Phacility, Ops
epriestley shifted T12611: Write Phabricator HTTP and SSH logs in the production cluster from the Restricted Space space to the S1 Core space.
Apr 21 2017, 7:21 PM · Phacility, Ops
epriestley added a comment to T12611: Write Phabricator HTTP and SSH logs in the production cluster.

I'm going to declassify this too since there's nothing private.

Apr 21 2017, 7:21 PM · Phacility, Ops
epriestley added a comment to T12610: Audit behavior of LB healthchecks against *.phacility.com and secure.phabricator.com.

Also javelinjs.com currently has bogus DNS, and there's probably no value in continuing to support it for the moment. I'll keep the bills paid on the domain in case we eventually revive Javelin as a standalone framework, but we could safely drop it from config.

Apr 21 2017, 2:39 PM · Ops, Phacility