From nobody Fri Oct 23 06:21:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4j9tFQ21D6z6wKs5 for ; Fri, 23 Oct 2026 06:21:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4j9tFQ18lKz4Bb8 for ; Fri, 23 Oct 2026 06:21:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792736474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+f1Cq5hK1uskmrqEn8XKDd1nTK2uJHo0cG8rEYTaV4s=; b=YqMSK17egVwUcvM3LYRNvh3vm+T5RL/99jG4lkcmrNtsnMIkGmrePpTQ7YlVPg75FaguYF VCZUC6NAQyCCHFJ/TWr8tZsVYCHHdckwLKkf0CA9Ak8YSwOlPnl6DGhMa+UIpsZO+1L4Fa TPO76O3uY+ygY9/kiuWQ7zXM7Vif0yqPwjGUjNzr5VHMa2C2K15/3SI5c4g4qAdSlE1Jj0 S5d4VenaGUZmYxQ8EgTSNgommfFL9baos9H8C3zLPbhU6uHb5C/ztUVIo/YCTMCtetDe2U CzZkJQnhwrSeppfWms8JItG74Fq8jb03+IoGcPqiSwZEWnTmQgxfOh1NBIjvTQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792736474; b=tivPK4zUacWCzFRJRmBtwiLTKl5smRTLRHm7iAjzcc6AJC+VlUpTvvJBBenaH+Jym4X5Wi 4wAnsIINVEbsnfa41DwppaixvlslxR1hpppklFlfu8qQLnvFkir1/Kup8hAkU8+m808ydV U8XSGY98bdwBe4SXQfaIYyCX50HicUt+zjKWnkIz/TnAXdoMNLaoIyjoWPq8zcndnC3bZw Cew1/XTJ3jN5+zBcGuPvmSlSsjnhvKXdbDALtzn+PLAxUcryxRF0nzCxmpGhSwjotSW6La et87XL4qviV5GLMbclyksZUjWdSAyudGKMitjBgl+XZ8dp2xWF73MbNdJ1ef5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792736474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+f1Cq5hK1uskmrqEn8XKDd1nTK2uJHo0cG8rEYTaV4s=; b=vW8UCGGvjCEMdw7jpN83hBO6JkhqQmLhc/xF6Oc9YtmhXrWesNIlRicEzRGPHY/wsjBwAG BxJugCN/wk5ncWFx3ip7Snmo21mAJEuAu8Vbhtftr4a4pJ6hcvXygCppVvyQmBYR/twE5S TzC1UZONFjZH5luN17t+8uG4m8Eb4s/TP27oFVTEhvAdzx4EZkqsFK4IzuWIW+bb7sJ0xx QFLmJ25XVBm6E8tlm4SH0t5Z5HfedUVcwZCfsbqWF75GYhY/pk6joT84EkQ1/q2gG5R/na j+JQGpp6HCXzkSUKrJkzyHMkxdoaKUwia0mm2/zERgSmyat6PKnAcmw/JpXu/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j9tFQ0mjCzHLB for ; Fri, 23 Oct 2026 06:21:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46776 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 23 Oct 2026 06:21:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Adam Mizerski From: Baptiste Daroussin Subject: git: 4e699cfcd809 - stable/15 - nuageinit: apply meta-data if user-data is a script List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4e699cfcd8092eab9684c03908044a770e481dd6 Auto-Submitted: auto-generated Date: Fri, 23 Oct 2026 06:21:14 +0000 Message-Id: <6adafcda.46776.4e034ac4@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4e699cfcd8092eab9684c03908044a770e481dd6 commit 4e699cfcd8092eab9684c03908044a770e481dd6 Author: Adam Mizerski AuthorDate: 2026-09-25 08:54:48 +0000 Commit: Baptiste Daroussin CommitDate: 2026-10-23 06:20:57 +0000 nuageinit: apply meta-data if user-data is a script Tested by: adam.mizerski@ovhcloud.com Sponsored by: OVHcloud Pull Request: https://github.com/freebsd/freebsd-src/pull/2446 (cherry picked from commit de0a279c8b6967ffd1cb0c9f76d3cc4658a0f1aa) --- libexec/nuageinit/nuageinit | 26 ++++++++++++++------------ libexec/nuageinit/tests/nuageinit.sh | 19 ++++++++++++++++--- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 712a516c5195..758a7f20b305 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -1173,18 +1173,8 @@ end local metadata = load_metadata(citype) local line, obj = load_userdata() --- No user-data -if line == nil then - local calls_table = { - sethostname, - create_default_user, - } - - for i = 1, #calls_table do - calls_table[i](obj, metadata) - end -- YAML user-data -elseif line == "#cloud-config" then +if line == "#cloud-config" then local pre_network_calls = { ca_certs, mounts, @@ -1231,7 +1221,19 @@ elseif line == "#cloud-config" then calls_table[i](obj, metadata) end end -elseif line:sub(1, 2) == "#!" then +-- No YAML user-data +else + local calls_table = { + sethostname, + create_default_user, + } + + for i = 1, #calls_table do + calls_table[i](obj, metadata) + end +end + +if line ~= nil and line:sub(1, 2) == "#!" then -- delay for execution at rc.local time -- nuage.chmod(root .. "/var/cache/nuageinit/user_data", "0755") end diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index bfc7e9f13c88..9d443940e92b 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -92,23 +92,36 @@ EOF nocloud_userdata_script_body() { mkdir -p media/nuageinit - printf "instance-id: iid-local01\n" > "${PWD}"/media/nuageinit/meta-data + setup_test_adduser + cat > media/nuageinit/meta-data << EOF +instance-id: iid-local01 +hostname: myhost +EOF # ensure this is an invalid when parsed with the yaml parser printf "#!/bin/sh\n: ${test:-yes}\necho $test\n" > "${PWD}"/media/nuageinit/user-data chmod 644 "${PWD}"/media/nuageinit/user-data atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud atf_check test -x var/cache/nuageinit/user_data atf_check -o inline:"#!/bin/sh\n: ${test:-yes}\necho $test\n" cat var/cache/nuageinit/user_data + # ensure meta-data is applied, regardless of what is in user-data + atf_check -o inline:"hostname='myhost'\n" cat etc/rc.conf.d/hostname } nocloud_user_data_script_body() { mkdir -p media/nuageinit - printf "instance-id: iid-local01\n" > "${PWD}"/media/nuageinit/meta-data + setup_test_adduser + cat > media/nuageinit/meta-data << EOF +instance-id: iid-local01 +hostname: myhost +EOF printf "#!/bin/sh\necho yeah\n" > "${PWD}"/media/nuageinit/user_data - chmod 755 "${PWD}"/media/nuageinit/user_data + chmod 644 "${PWD}"/media/nuageinit/user_data atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud + atf_check test -x var/cache/nuageinit/user_data atf_check -o inline:"#!/bin/sh\necho yeah\n" cat var/cache/nuageinit/user_data + # ensure meta-data is applied, regardless of what is in user-data + atf_check -o inline:"hostname='myhost'\n" cat etc/rc.conf.d/hostname } nocloud_userdata_cloudconfig_users_head()