fix(developer-rust): install a C compiler before the first cargo install - #93
Merged
Merged
Conversation
Proving the governor on a clean Fedora VM, the first cargo install -- cargo-binstall -- died at `linker cc not found`. The build-deps task brought openssl-devel and pkg-config and no compiler, which a cloud image does not ship. Ubuntu gets build-essential for the same reason, a no-op where it is already present. The proxmox harness plays wrote their local files as root, because ansible.cfg turns become on for every play: reset.yml's generated inventory_proxmox.yml came out root-owned 0600, and the converge that reads it matched no hosts and reported success. The local plays now set become: false.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two bugs the #91 verification ran into on the devex test VMs. Neither is governor code -- they are what stopped a clean VM converging at all.
A clean Fedora has no C compiler. The first thing the role compiles is cargo-binstall, and it died at
linker cc not found. The build-deps task was bringing openssl-devel and pkg-config and no compiler, which works on any box that has been used for something else first and never on a fresh cloud image.gccfor Fedora,build-essentialfor Ubuntu (a no-op where it is already there).The proxmox harness wrote its own files as root.
ansible.cfgsetsbecome = Truefor every play, and the local plays never opted out, soreset.ymlgeneratedinventory_proxmox.ymlowned by root at 0600. The next converge could not read it, matched no hosts, and exited 0 -- a green run that did nothing, which is the worst shape a test harness can fail in.become: falseon the three local plays.With both in,
--tags developer-rustconverges clean from thecleansnapshot on Ubuntu 8101 (164 ok / 42 changed) and Fedora 8100 (157 ok / 32 changed), and the governor verifies identically on each: CPUWeight 30, memory percentages resolved against the VM, a governed command at nice 19 insideuser@UID.service/rustbuild.slice, bypass at nice 0 in the session scope.Separately filed while in there: #92, the role converging twice under its own tag.