Closed Bug 1771805 Opened 2 years ago Closed 2 years ago

Update VM / AWS images to Ubuntu 22.04 LTS "jammy" from 20.04 LTS "focal"

Categories

(Webtools :: Searchfox, enhancement)

enhancement

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: asuth, Assigned: asuth)

References

Details

For bug 1771804 in order to build with make instead of ninja we need cmake 3.20, but 20.04 only has 3.16, whereas 22.04 has 3.22. I'm honestly not sure that we actually need to use make instead of ninja, but make is what https://github.com/dpino/webkit-index-config/blob/master/webkit/build is using and I have several orders more experience with using and debugging make than I do with ninja, so it seems like a reasonable choice to make.

In general it also seems like it could be nice to stay on the more recent side of ubuntu releases for general ergonomics in the VM and on the servers.

Thus far:

  • I locally needed to update my Ubuntu install; I was on 20.04 LTS myself on my desktop and the version of vagrant and vagrant-libvirt (installed via system) had trouble connecting to the SSH server. Once I updated to 22.04 and thereby vagrant-libvirt 0.7.0, things started working immediately.
  • livegrep/codesearch is failing to build because https://phoenixnap.dl.sourceforge.net/project/boost/boost/1.67.0/boost_1_67_0.tar.gz is timing out. There's been a bunch of livegrep build-related updates since our current branch of mozsearch-version5 which has commits from Oct 10, 2020. I'm thinking we might as well update our version of livegrep in the hopes of getting build deps that don't depend on sourceforge. We will need to upgrade the version of bazel we install to version 4 as well.

Bizarrely, when upgrading livegrep and using bazelisk (like nvm for bazel) which nets us bazel v5, the bazel build says the boost download still timed out, but it's no longer fatal and the build still somehow completed?

Other changes:

  • I've upgraded us to clang-14 to match what mozilla-central is currently using. Because the Makefile doesn't understand the libc dep, it is likely necessary to manually make clean in clang-plugin since otherwise there likely will be a stale binary (because the already built object and lib exist outside the VM's filesystem in the user's actual checkout).
    • macro symbol identifiers change in the insta-check test expectations because they are hashes and the hash algorithm changed or something.
  • /home/vagrant by default now is not o+rx so the provisioning script sets these bits in order to enable the nginx web-server in the VM.
  • Okay, and now, after having not submitted all of the above, it turns out the o+rx issue was not just in the vagrant VM, but also in the provisioned VMs! https://github.com/mozsearch/mozsearch-mozilla/pull/170 fixes that.

This iteratively landed in a few PR's in a journey of discovery:

Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.