Upgrade zerotier cookbook: Ruby 3.4 incompatibility, no released fix #701
Open
opened 2026-11-09 18:47:58 +00:00 by raucao
·
0 comments
No Branch/Tag Specified
master
monitoring/filesystem_out_of_space
chore/upgrade_gitea_to_1.27.1
bugfix/substr_url_matching
notes/ejabberd_ldap_photo
feature/akaunting
chore/ejabberd_service_avatar
feature/237-gitea_gpg
No results found.
Labels
Clear labels
monitoring
bug
design
dev environment
docs
duplicate
enhancement
feature
good first issue
idea
invalid
kredits-1
kredits-2
kredits-3
on hold
ops
question
security
ui/ux
wontfix
Infrastructure metrics, alerts, notifications, etc.
service
discourse
Kosmos Community Forums
service
accounts
Kosmos Accounts
service
drone-ci
Kosmos Drone CI
service
email
mail.kosmos.org
service
garage
S3-compatible object storage
service
gitea
Kosmos Gitea
service
ipfs
Kosmos IPFS
service
lightning
Lightning address, lndhub, etc.
service
mastodon
kosmos.social
service
nostr
Relays, Blossom server, etc.
service
postgres
Database cluster
service
remotestorage
Portable data storage for the Web
service
wiki
Kosmos Wiki
service
xmpp
Kosmos Chat
Something is not working
Graphic/visual design
Config, builds, CI, deployment, etc.
Documentation
This issue or pull request already exists
Improving existing functionality
New functionality
Dive in, and start contributing
Something to consider
Not a bug
Small contribution
Medium contribution
Large contribution
Currently not actionable
Manual IT ops activities
Looking for an answer
All your base are belong to us
User interface, process design, etc.
This won't be fixed
release
major
release
minor
release
patch
No labels
dev environment
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: kosmos/chef#701
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
The vendored
zerotiercookbook (1.0.7, from Supermarket) uses::File.exists?, which was removed in Ruby 3.4. This breaks on the Cinc Client 19 (Ruby 3.4) migration:templates/default/zerotier_ohai.rb— the Ohai plugin fails to collect, so thezerotierattribute disappears from the node. This is live:roles/base.rbincludeskosmos_zerotier::ohai_plugin, so every migrated node loses the attribute.libraries/zerotier_network.rb— thezerotier_networkresource also usesFile.exists?. Not currently exercised by any node (no node runskosmos_zerotier::defaultorzerotier::join_networks), but it would fail on the next node that uses it.We already work around this in
site-cookbooks/kosmos_zerotier(local template override +File.exist?), but the workaround is not the upstream fix.Upstream status
There is no released version that supports modern Ruby:
The upstream
mainbranch (zerotier/chef-zerotier, HEAD671d3b9, 2021-02-18) does have the fix, from PR #6 "Modernize the cookbook and resolve failures on Chef Infra Client >= 16":::File.exists?with::File.exist?in both the Ohai template and thezerotier_networkresource.But it was never released or tagged:
metadata.rbstill says1.0.7, soberks install/berks updatecannot get it.Options
zerotier_network, we'd need to override that resource too.mainin the Berksfile (cookbook 'zerotier', git: 'https://github.com/zerotier/chef-zerotier.git', ref: 'main'). Gets the full fix, but it is an unreleased branch. Note: the new resource has nodefault_action(defaults to:nothing), while the old 1.0.7 HWRP haddefault_action :join;kosmos_zerotier/recipes/default.rbwould needaction :join.chef-zerotierand pin a release/tag, likeopenresty.Recommendation
Option 2 or 3, so the upstream fix is tracked rather than relying on a local override. Option 1 is acceptable until the
zerotier_networkresource is used.