From nobody Sat Oct 03 22:46:01 2026 X-Original-To: dev-commits-src-main@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 4hy1331Ng5z6vP73 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 4hy1326zxVz3LLQ 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=1791067567; 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=TT0ku0MZgUX8PxBIsCRV42Ji0tzcWl2s0hHRC39l7XG/L9a8LnCKGnQdOuAT2LbczzPZnu GGgFBCDwsJzSPXKXMYR5eaq371OsFoX4gjyU1w7tKlfi6rG1G6Khv4RBtrrxGxqnUlKlih XEreuxboTCPS7fw5rJHZ13GsqKNvuLxKIcRTEJ081DNnkp3vL6QPIo3RJ0WzEfVUJsf/P5 LjKLX5gQzZH6Jx5YOVukd9lFxCDnZ0Hu9fDQNCKxxwf5dq55gEpFCWoACSsOcjbYruqXYV oEmPl+vq7JdOMv1sZBy8gpxdbAUCw66wkkCBu2vrmXe9gTKaZ4mPeAzUwbH6XA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791067567; b=pjnjl8dbc7xYcs91f2FpoOC35eSXw7PjOwfcqM7AnpU2CFbyPcV6BxlQM/6lmRsIwVJBeB hQE9H/SqFz6ihl0CBPB/EXF5lzby8Q5nSlWWiTx3Rz0t3qV0y/obpQffN1f1WFixgjxmG/ VbSrGJbYyF5wPY4z8eqYjlBBIJIUYrz6YJHk6zAyzmGvOSe9ACVpnWbcpGJ6r6xPpmqdj4 R9L8zTyOvuGT5F+HOSXKPDQouxWnBAFT1Z5SQvFEwsvti+cbQc+NoKTzcgjaH8KbIMJCW2 FTWeULzfpOn/prJvOdIBG4GZIKyoW4tqhYhHsCkOIA7Nxnf+O5CyuUE17daIhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791067567; 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=ikL3l7ul9YaURaxbHLdPGlkoHSLM/AKxLYWu1/3ggRRMyR+FRkjU5Wfzw5fK00Nm6hyIbO p4tvU9jozf5xPazidqbp0okUTawaOYDD78LIgKDG/j1QtS69jQKQ99wZYp8l2nGmGQQIiT JbwdOag+nwDDLhV7feSR239mOwa7dVfEh/scaYhECQEJJg0V8TyZo5jezZ6TQEvz2NhGtN 00YDoIv5sKeDOf8bVbreqcHa9MMPpsIxyUJkteDK6ygNW1gtmOslOODgDzrZn8wtcN3D7j QHna954FGQvuaRnXQ0Rdlcj0fKiD294klLxu20LY+3UEDfm7JWVOsLNSzDphUw== 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 4hy1325lJGz1LkD 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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()