From nobody Sat Oct 03 22:46:01 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 4hy1330C1sz6vP2K for ; Sat, 03 Oct 2026 22:46:07 +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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hy1326gbNz3LP3 for ; Sat, 03 Oct 2026 22:46:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791067566; 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=2vnQe50QT/b0W5vizcW2L6dijs0Zt5owUqPGT8lOJ5w=; b=ezIBsup02ksLQnWBbo8CKiB22D/rkhcn2PAAZFB8EOffoy7xQqjq1q1emcorXYQoWXD/H/ LIlo/0s2WegRk6Kg09mGn1jeVbBktMRH1nIy94DvBh+tRKe7ENEiyb0eOSkJ+hbznQGrRI f9dncssZv7aChAAe4xPumcjUz9vhK1y47JGz5YsyG7kzi4AndxE9TDAirLDyR/tRkkpfW1 O6eHEi7JN6NkBJ3+U54SDERS6e0TjBjidHv7k7Q7l+3QWS9H9iF3JzfrHxGro3kiUgcRuc IMEO8+oYK+nf3BzAAcGbM6gzjU0c2CpctSRNHueOz7yJFxvxjFlXRW+DKE7bNw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791067566; b=ozOlbMf22JcOOgadHu2wo4/goVSFgVukTSWz5Z/UwnY6vaGzyptLGWp18w75ZNMARSbceh AbBvjI/9E6yqm2ouQjLfYrpbLNL+e/eDsb2XyAyIXyknyzGJzCbdGawj13GMgMZ/F1ITIe 3DSaIYe/hfbbNqy8ONcAnvwB958ziSJfJh8TVIAADPjIu70kZIoGr80mBHoK2C3poxh1rz vPNIw/6SL7TAdz4EXvHlD+eu3hnMFOCIbo6nziSZ73c2KodfPKXOWlKXxmaPpUR0/T0xmF WVkrGUIG4uV1b4FlidMUEA+WCHl18Hs/X9x9DByxfx2FInLDQhgqBGw69jy+rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791067566; 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=2vnQe50QT/b0W5vizcW2L6dijs0Zt5owUqPGT8lOJ5w=; b=wM4GfYdJSvdqKWYAu3RjvMiHz9zFQntsRyYCmUhIrHf/xeSMk7nsKRPANWa4JQgx9MY62a mepE6st2d5MQUOZCFQ9vc3FgjuK7ucfLB4ShG1khANDNmMmd5qQ4Cs1XfLuaLDVPsFOQdE 7iK2XZ7GCKOfUWxduWEtos18wxrjLMt17B1GfOdSYiqLhGfgdtDrbq92dzSoD1MW6ZX/QZ 1+YDxZR8xIVDYBmWkxMTBLaOxLmk+qdvynHsjX47sPFpT6xtYNRfib85sg2YmN7NrV5pKM OuoqnL5NL1gnU8fg2Fa73b+mmhAZovxN+2fV0M4T26fRqBKWoLCdcJUeBOFLAw== 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 4hy1325k9Pz1LfZ for ; Sat, 03 Oct 2026 22:46:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2071d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 03 Oct 2026 22:46:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Adam Mizerski From: Baptiste Daroussin Subject: git: de0a279c8b69 - main - nuageinit: apply meta-data if user-data is a script List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: 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/main X-Git-Reftype: branch X-Git-Commit: de0a279c8b6967ffd1cb0c9f76d3cc4658a0f1aa Auto-Submitted: auto-generated Date: Sat, 03 Oct 2026 22:46:01 +0000 Message-Id: <6ac185a9.2071d.796d0c3f@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=de0a279c8b6967ffd1cb0c9f76d3cc4658a0f1aa commit de0a279c8b6967ffd1cb0c9f76d3cc4658a0f1aa Author: Adam Mizerski AuthorDate: 2026-09-25 08:54:48 +0000 Commit: Baptiste Daroussin CommitDate: 2026-10-03 22:45:22 +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 --- 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()