zebra icon indicating copy to clipboard operation
zebra copied to clipboard

ci(disk): use an official GCP image on CI VMs for disk auto-resizing, make CI & CD disks 300GB

Open gustavovalverde opened this issue 1 year ago • 6 comments

Previous behavior

We've presented issues in the past with resizing as the device is busy, for example:

e2fsck: Cannot continue, aborting.
/dev/sdb is in use.

Depends-On: #5370 Fixes #5085

Expected behavior

We've been manually resizing the disk as this task was not being done automatically, but having an official Public Image from GCP would make this easier (automatic) and it also integrates better with other GCP services

Configuration differences: https://cloud.google.com/compute/docs/images/os-details#notable-difference-debian

Solution

  • Use debian-11 from the official public images https://cloud.google.com/compute/docs/images/os-details#debian
  • Remove the manual disk resizing from the pipeline

Why is this best solution to the problem?

  • We've been using a custom image for VMs, which requires us to create tooling already implemented in official public images by GCP
  • Resizing is one of the examples why we may want to change our custom image to an official GCP public image

How are we going to test this?

  • Resizing the disks and validating CI is working

What manual testing has been done?

  • The disk have been resized in this PR

Review

Anyone from DevOps, but @teor2345 has interacted with this changes before

Reviewer Checklist

  • [x] Will the PR name make sense to users?
    • [ ] Does it need extra CHANGELOG info? (new features, breaking changes, large changes)
  • [x] Are the PR labels correct?
  • [x] Does the code do what the ticket and PR says?
  • [x] How do you know it works? Does it have tests?

gustavovalverde avatar Oct 10 '22 22:10 gustavovalverde

I'm going to ask the new CI change questions from the retro:

  • how are we sure that this change is the best solution to the problem?
  • how are we going to test this?
  • what manual testing has been done?

Let's see if they help us make these changes work.

teor2345 avatar Oct 10 '22 22:10 teor2345

Personal note: Consider the changes done here while testing -> https://github.com/ZcashFoundation/zebra/pull/5367#discussion_r991701989

gustavovalverde avatar Oct 10 '22 23:10 gustavovalverde

  • how are we sure that this change is the best solution to the problem?
  • how are we going to test this?
  • what manual testing has been done?

Added to the PR description

gustavovalverde avatar Oct 11 '22 13:10 gustavovalverde

Configuration differences: https://cloud.google.com/compute/docs/images/os-details#notable-difference-debian

Some things to note, no blockers:

IPv6 is enabled.

This might change sync speeds, it could be faster.

The Unattended-upgrades package is installed and configured to download and install Debian security updates daily. This can be configured or disabled by changing the values in /etc/apt/apt.conf.d/50unattended-upgrades and /etc/apt/apt.conf.d/02periodic.

This is probably unnecessary, if it causes problems, it will mainly impact the full sync.

The SSH server configuration is set up as follows: Root login is disabled.

This change should be fine if CI passes.

teor2345 avatar Oct 12 '22 00:10 teor2345

@Mergifyio refresh

gustavovalverde avatar Oct 13 '22 16:10 gustavovalverde

refresh

✅ Pull request refreshed

mergify[bot] avatar Oct 13 '22 16:10 mergify[bot]

Merging manually as this has been stalled for a while

gustavovalverde avatar Oct 16 '22 12:10 gustavovalverde