uCore countme thread

uCore countme thread
99 Replies
j0rge
j0rgeOPβ€’2w ago
@antheas @bsherman @M2 Hey so there's a lot of coreos in this upstream chart:
j0rge
j0rgeOPβ€’2w ago
No description
j0rge
j0rgeOPβ€’2w ago
that's the pink line, it's more than fedora server and us. I think we should get ucore sorted out on countme if we can.
bsherman
bshermanβ€’2w ago
GitHub
Monitor usage in Fedora's CountMe metrics Β· Issue #202 Β· ublue-os...
Our machines are pushing metrics to Fedora's servers. Bluefin, Aurora and Bazzite are being recorded as separate distros, however I believe UCore is counted under CoreOS. It would be awesome to...
j0rge
j0rgeOPβ€’2w ago
@Lorbus your skillset would be useful here. πŸ˜„
bsherman
bshermanβ€’2w ago
i think we have examples in bluefin/bazzite... per the issue... i just never dove into it
j0rge
j0rgeOPβ€’2w ago
who was the other person doing charts, 4 digit number as a nick
4730
4730β€’2w ago
Maybe me? I really do have a talent for bad and/or non memorable nicknames
James
Jamesβ€’2w ago
@Niko
j0rge
j0rgeOPβ€’2w ago
haha yes! we just need to figure out what os-release changes to make, but we have to account for announcing because apparently people use sysexts?
bsherman
bshermanβ€’2w ago
yeah, i have added announcements to the repo README but that's usually not until something is actually done, not ahead of time and i can probably pick it up this weekend... i just haven't spent the time to follow what bluefin/bazzite do
j0rge
j0rgeOPβ€’2w ago
I think we'll just be setting the os-release, wait a few weeks for it to start showing up in the stats
Lorbus
Lorbusβ€’2w ago
yeah that seems like the right path forward. Not sure about the sysext stuff, haven't used any of that yet. If they are id-specific, they'll likely break. Maybe they can be changed to allow for multiple IDs?
M2
M2β€’2w ago
Travier used to have them be any. But he changed it to be fedora.
Lorbus
Lorbusβ€’2w ago
Yeah I think that's to distinguish between sysexts for servers and desktops, maybe it can just be CoreOS || uCore for the server ones?
M2
M2β€’2w ago
It's the ID that we need to change for countme and that's coded to fedora for travier. Actually could probably just change variant or something else
bsherman
bshermanβ€’2w ago
I think we have an β€œID_LIKE” key in os-release on universal blue desktops, we could suggest support for that in travier’s repo, or does that need to be upstream change?
M2
M2β€’2w ago
Actually, I'm thinking we may be able to do this without changing ID. Keeping compat with sysexts
bsherman
bshermanβ€’2w ago
Ok? But it would still allow uCore to differentiate in countme? Things get even trickier if we start thinking about a CentOS based uCore too LOL
M2
M2β€’2w ago
so I believe fedora normally differentiates with variant_id since everything uses ID=fedora
bsherman
bshermanβ€’2w ago
so... are aurora/bluefin/bazzite changing countme incorrectly?
I thought it was intentional to avoid using their trademark perhaps?
M2
M2β€’2w ago
that might be....
Lorbus
Lorbusβ€’2w ago
I don't think shipping ID=fedora infringes on their TM tbh fedora references are literally everywhere in Bluefin because that's where most of the packages come from but IANAL so far, neither Red Hat nor Fedora have sued anyone for fair use of their stuff
M2
M2β€’2w ago
yeah there is a ton of stuff that is fundamentally fedora that we would never be able to move away from if using fedora as a base
antheas
antheasβ€’2w ago
It was intentional to get other counting services to differentiate us
bsherman
bshermanβ€’2w ago
I was correct it was intentional, incorrect about why πŸ™‚
Lorbus
Lorbusβ€’2w ago
makes sense πŸ™‚ so we need to figure out how to have our own ID and still be able to use @TimothΓ©e Ravier 's sysexts with uBlue OSes
Niko
Nikoβ€’2w ago
if the only goal is to be able to count in countme, variant would be fine we get both columns -
week_start,week_end,hits,os_name,os_version,os_variant
week_start,week_end,hits,os_name,os_version,os_variant
so it's
2025-04-28,2025-05-04,223,Bazzite,42,bazzite-gnome
2025-04-28,2025-05-04,223,Bazzite,42,bazzite-gnome
and more columns that i left out for brevity hmm so if we were to switch coreOS to uCore it'd be from:
2025-04-28,2025-05-04,1986,Fedora Linux,39,coreos
2025-04-28,2025-05-04,1986,Fedora Linux,39,coreos
to
2025-04-28,2025-05-04,1986,Fedora Linux,39,ucore
2025-04-28,2025-05-04,1986,Fedora Linux,39,ucore
ah so travier must have linked it to the os_variant, because core os's os_name is Fedora Linux still FYI we could switch it to:
2025-04-28,2025-05-04,1986,uCore,39,coreos
2025-04-28,2025-05-04,1986,uCore,39,coreos
so as to not break anything, but we're kinda getting into hack territory here. (keep the os_variant: coreos, which sysexts are looking for, but change the os_name from Fedora Linux to uCore...)
Niko
Nikoβ€’2w ago
Suggested here for prosperity https://github.com/ublue-os/ucore/issues/261
GitHub
Suggestion: change os_name to uCore Β· Issue #261 Β· ublue-os/ucore
Hi! Goal is to know how many ucore nodes are running with countme. The first few columns of countme data look like this: week_start,week_end,hits,os_name,os_version,os_variant so for bazzite: 2025-...
Niko
Nikoβ€’2w ago
i can probably figure out how to do that if we're down. it's a bit of a workaround though.
Niko
Nikoβ€’2w ago
sick! travier says sysexts don't check the variant! https://github.com/ublue-os/ucore/issues/261
GitHub
Suggestion: change os_name to uCore Β· Issue #261 Β· ublue-os/ucore
Hi! Goal is to know how many ucore nodes are running with countme. The first few columns of countme data look like this: week_start,week_end,hits,os_name,os_version,os_variant so for bazzite: 2025-...
Niko
Nikoβ€’6d ago
implements the learnings from above ticket thread
Lorbus
Lorbusβ€’6d ago
LGTM
bsherman
bshermanβ€’6d ago
i left a review requesting a few small changes, but I very much appreciate your PR and everyone chiming in to help make a good change here I think this approach may be really good for uCore, because we could use the same exact change on a CentOS based uCore in the future... it would still be centos but variant is ucore
Niko
Nikoβ€’6d ago
of course! hopping in here for a quicker discussion than in PR I can't find any prior art in bazzite or bluefin for editing "variant" - I thought variant_id was variant? i'm of course happy to add a string change to variant, but not sure it exists? the other re-ordering change is done!
Lorbus
Lorbusβ€’6d ago
VARIANT is the pretty name (e.g. "Silverblue" vs id silverblue)
Niko
Nikoβ€’6d ago
Lorbus
Lorbusβ€’6d ago
probably an oversight I imagine should be fine to change, nothing really depends on that afaik Bluefin still has "Silverbue"
cat /usr/lib/os-release
NAME="Bluefin"
VERSION="latest-42.20250525.1 (Silverblue)"
RELEASE_TYPE=stable
ID=bluefin
ID_LIKE="fedora"
VERSION_ID=42
VERSION_CODENAME="Archaeopteryx"
PLATFORM_ID="platform:f42"
PRETTY_NAME="Bluefin (Version: latest-42.20250525.1 / FROM Fedora Silverblue 42)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:universal-blue:bluefin:42"
DEFAULT_HOSTNAME="bluefin"
HOME_URL="https://projectbluefin.io"
DOCUMENTATION_URL="https://docs.projectbluefin.io"
SUPPORT_URL="https://github.com/ublue-os/bluefin/issues/"
BUG_REPORT_URL="https://github.com/ublue-os/bluefin/issues/"
SUPPORT_END=2026-05-13
VARIANT="Silverblue"
VARIANT_ID=bluefin-dx-hwe
OSTREE_VERSION='latest-42.20250525.1'
BUILD_ID="56701b0"
IMAGE_ID="bluefin-dx-hwe"
IMAGE_VERSION="latest-42.20250525.1"
cat /usr/lib/os-release
NAME="Bluefin"
VERSION="latest-42.20250525.1 (Silverblue)"
RELEASE_TYPE=stable
ID=bluefin
ID_LIKE="fedora"
VERSION_ID=42
VERSION_CODENAME="Archaeopteryx"
PLATFORM_ID="platform:f42"
PRETTY_NAME="Bluefin (Version: latest-42.20250525.1 / FROM Fedora Silverblue 42)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:universal-blue:bluefin:42"
DEFAULT_HOSTNAME="bluefin"
HOME_URL="https://projectbluefin.io"
DOCUMENTATION_URL="https://docs.projectbluefin.io"
SUPPORT_URL="https://github.com/ublue-os/bluefin/issues/"
BUG_REPORT_URL="https://github.com/ublue-os/bluefin/issues/"
SUPPORT_END=2026-05-13
VARIANT="Silverblue"
VARIANT_ID=bluefin-dx-hwe
OSTREE_VERSION='latest-42.20250525.1'
BUILD_ID="56701b0"
IMAGE_ID="bluefin-dx-hwe"
IMAGE_VERSION="latest-42.20250525.1"
j0rge
j0rgeOPβ€’6d ago
mind PRing in CODE_NAME = "Deinonychus" that needs an update @Kyle Gospo let's use archeopteryx for something else, I need the dino names to match achillobator
Lorbus
Lorbusβ€’6d ago
VERSION_CODENAME="Deinonychus" for Bluefin? will do
j0rge
j0rgeOPβ€’6d ago
I'll move to bluefin-dev it's just CODE_NAME afaict?
Lorbus
Lorbusβ€’6d ago
not on my sys
bsherman
bshermanβ€’5d ago
I agree that the desktops (bluefin, bazzite, aurora) don't modify VARIANT but they are also modifying ID which we are actively avoiding with the uCore countme effort. arguably, the ucore situation is cleaner right now
Lorbus
Lorbusβ€’5d ago
shouldn't the VARIANT also be changed for Bluefin/Aurora though? I'd also use ID=fedora for Blueifn/Aurora, so sysexts can work
bsherman
bshermanβ€’5d ago
probably? but it would take some looking at the various setups to see how these values are used... because they ARE used. i understand this, but also, the ship has sailed somewhat... when the "desktops" above made the change, sysext was NOT so restrictive... and those countme metrics are already flowing, etc... so any changes to them are more impactful and should be evaluated separately from the uCore discussion
Niko
Nikoβ€’5d ago
IMO we should make these two work steps. - change the variant_id for now so we can count. - change the variant ublue-wide once we have a unified plan and we're sure things won't break?
bsherman
bshermanβ€’5d ago
for the sysext goal specifically, personally, i think we'd be better served by a patch to sysext to respect ID_LIKE
Lorbus
Lorbusβ€’5d ago
I think the cleanest way would be to change systemd to allow for matching ID against ID_LIKE yea exactly I can get on that but not today
Niko
Nikoβ€’5d ago
is it ok to merge this with the re-ordering then @bsherman , or prefer we figure out how to edit the variant on this same PR? https://github.com/ublue-os/ucore/pull/262/files
Lorbus
Lorbusβ€’5d ago
any change in sd will take time to percolate anyway, I'd merge
bsherman
bshermanβ€’5d ago
uCore has never modified anything in os-release save for the PRETTY_NAME other than being based on ostree Fedora, it has little in common with the desktop projects. and as I've mentioned, I think VARIANT and VARIANT_ID fit uCore well... sure maybe they could have been used for the desktops if this was discussed way back when, but now...? I'm not eager to try to shove uCore into the same constraints the desktops have
Niko
Nikoβ€’5d ago
happy to add sed -i "s|^VARIANT=.*|VARIANT=$IMAGE_NAME|" /usr/lib/os-release?
bsherman
bshermanβ€’5d ago
yes, I'd prefer to add the VARIANT="uCore" to the PR... but then I think it's merge wworthy VARIANT is like the "pretty" VARIANT_ID πŸ™‚
Niko
Nikoβ€’5d ago
got it πŸ™‚
bsherman
bshermanβ€’5d ago
that would be awesome... thank you! I think @M2 and I had definitely discussed that sysext respecting ID_LIKE would be the right thing, but we have not dove into it
bsherman
bshermanβ€’5d ago
i'm being picky here, but i really want uCore not ucore which is in $IMAGE_NAME the script is a bit janky... it only exports IMAGE_NAME=ucore for use by packages.sh which will likely be going away soon. So, ideally, I'd suggest this:
sed -i '|^PRETTY_NAME|s|(uCore.*$|(uCore)"|' /usr/lib/os-release
sed -i 's|^VARIANT_ID=.*|VARIANT_ID=ucore' /usr/lib/os-release
sed -i 's|^VARIANT=.*|VARIANT="uCore"|' /usr/lib/os-release
sed -i '|^PRETTY_NAME|s|(uCore.*$|(uCore)"|' /usr/lib/os-release
sed -i 's|^VARIANT_ID=.*|VARIANT_ID=ucore' /usr/lib/os-release
sed -i 's|^VARIANT=.*|VARIANT="uCore"|' /usr/lib/os-release
oh! and I just realized I missed something big this won't apply to ucore Minimal... re-reading code for a moment
Niko
Nikoβ€’5d ago
ya there seem to be 2 other duplicate files?
bsherman
bshermanβ€’5d ago
they aren't duplicate, they build on each other... install-ucore-minimal.sh runs for all 3 images (minimal, ucore, and hci) then install-ucore.sh runs building FROM ucore-minimal finally install-ucore-hci.sh runs building FROM ucore sorry, this is what I get for switching back and forth from my day job
Niko
Nikoβ€’5d ago
oh no way! i didn't see they built on each other sorry so maybe i should only do it in ucore-minimal.sh?
bsherman
bshermanβ€’5d ago
well, now i'm thinking about it... trying to decide if it's valuable to know each type of ucore or if we just want to know ucore in general...
Niko
Nikoβ€’5d ago
i wouldn't break it up too much. IMO even LTS vs. non-LTS is too much in countme data
bsherman
bshermanβ€’5d ago
yeah, that's what I'm concered about
Niko
Nikoβ€’5d ago
well, actually that may make sense as they're separate build processes but DX vs non-DX idk it's up to you. but i'd count it all as ucore until you have 10,000+ nodes on it. at that i'd split it up more πŸ™‚
bsherman
bshermanβ€’5d ago
yeah, i think that's probably the right way... until that kind of need arises, we can infer relative popularity by looking at ghcr image pulls so the new changes would be
sed -i 's|^VARIANT_ID=.*|VARIANT_ID=ucore|' /usr/lib/os-release
sed -i 's|^VARIANT=.*|VARIANT="uCore"|' /usr/lib/os-release
sed -i 's|^VARIANT_ID=.*|VARIANT_ID=ucore|' /usr/lib/os-release
sed -i 's|^VARIANT=.*|VARIANT="uCore"|' /usr/lib/os-release
removed from install-ucore.sh but added to install-ucore-minimal.sh and don't touch the PRETTY_NAME line in any of the install scripts (edit: added terminating | on VARIANT_ID line)
Niko
Nikoβ€’5d ago
thanks so much guys
Lorbus
Lorbusβ€’5d ago
draft for now, not feeling like writing a test rn πŸ˜‚ reviews are welcome already though
Niko
Nikoβ€’5d ago
sorry my dayjob pulled me back in oh damn! you already did a systemd pull!! super cool @Lorbus πŸ™‚ moved to ucore-minimal @bsherman https://github.com/ublue-os/ucore/pull/262/files
Lorbus
Lorbusβ€’5d ago
it should be in both, otherwise all ucore images will get VARIANT_ID=ucore-minimal
bsherman
bshermanβ€’5d ago
right, i commented on github
Lorbus
Lorbusβ€’5d ago
this should be good to go now. I'll wait to see if maintainers want a test for this.
bsherman
bshermanβ€’5d ago
thank you very much! that's great! and will benefit more than just the Universal Blue project
Niko
Nikoβ€’5d ago
like this? https://github.com/ublue-os/ucore/pull/262/files bug whackamole going on over here lol not sure if i need doublequotes on that or not
Lorbus
Lorbusβ€’5d ago
@Niko I added another comment on the PR, it's the wrong way around now
Niko
Nikoβ€’5d ago
@bsherman implemented exactly as you had it
bsherman
bshermanβ€’5d ago
πŸ˜‚ i'm so sorry, but I had a typo above I'll reply
Niko
Nikoβ€’5d ago
feel free to edit the PR lol or i can
j0rge
j0rgeOPβ€’5d ago
github pairing badge opportunity
Lorbus
Lorbusβ€’5d ago
good catch @bsherman I had ack'd it already πŸ™ˆ I should go to bed but now I'm too excited about my sd PR πŸ˜‚
Niko
Nikoβ€’5d ago
sorry i also missed - i was distracted by the dayjob
bsherman
bshermanβ€’5d ago
I feel bad because I typo'd in this chat which created the confusion
Lorbus
Lorbusβ€’5d ago
the more reviewers, the merrier πŸ™‚
bsherman
bshermanβ€’5d ago
yeah, it's the way it goes... for future, the way I catch things like this, especially with regex (even simple regex) just copy/paste and run it, it's always so easy to miss something with regex
bsherman
bshermanβ€’5d ago
@M2 @jmac need an additional "approver" review: https://github.com/ublue-os/ucore/pull/262
Lorbus
Lorbusβ€’5d ago
btw @Niko if you put Closes: #261 #202 in the PR description those issues will be auto-closed upon merge. actually, it'd have to be Closes: #261, Closes: #202
Niko
Nikoβ€’5d ago
thank you both! done! and @Lorbus , I added closes 261, but i'll quickly add a ucore counter to /countme before i close #202
Lorbus
Lorbusβ€’5d ago
LGTM
bsherman
bshermanβ€’5d ago
once a system starts reporting, do you know how long it takes to see something in the report?
Niko
Nikoβ€’5d ago
I think basically a week. the data is weekly. if a single system reports this week, it'll show up in next week's countme data.

Did you find this page helpful?