The branch main has been updated by bapt:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=f1dd507b2c44f16c94395e67f82125c491ebddf2

commit f1dd507b2c44f16c94395e67f82125c491ebddf2
Author:     Baptiste Daroussin <b...@freebsd.org>
AuthorDate: 2025-06-14 18:49:44 +0000
Commit:     Baptiste Daroussin <b...@freebsd.org>
CommitDate: 2025-06-14 18:56:59 +0000

    nuageinit: support "fqdn" and "hostname"
---
 libexec/nuageinit/nuageinit          |  6 ++++++
 libexec/nuageinit/tests/nuageinit.sh | 22 ++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit
index c874f40b38a8..c1026aa2afee 100755
--- a/libexec/nuageinit/nuageinit
+++ b/libexec/nuageinit/nuageinit
@@ -249,6 +249,12 @@ if line == "#cloud-config" then
        if not obj then
                nuage.err("error parsing cloud-config file: " .. ud)
        end
+       -- always prefer fqdn is specified over hostname
+       if obj.fqdn then
+               nuage.sethostname(obj.fqdn)
+       elseif obj.hostname then
+               nuage.sethostname(obj.hostname)
+       end
        if obj.groups then
                for n, g in pairs(obj.groups) do
                        if (type(g) == "string") then
diff --git a/libexec/nuageinit/tests/nuageinit.sh 
b/libexec/nuageinit/tests/nuageinit.sh
index 3d0033a648de..edcc80346b5d 100644
--- a/libexec/nuageinit/tests/nuageinit.sh
+++ b/libexec/nuageinit/tests/nuageinit.sh
@@ -28,6 +28,7 @@ atf_test_case config2_userdata_packages
 atf_test_case config2_userdata_update_packages
 atf_test_case config2_userdata_upgrade_packages
 atf_test_case config2_userdata_shebang
+atf_test_case config2_userdata_fqdn_and_hostname
 
 setup_test_adduser()
 {
@@ -837,6 +838,26 @@ EOF
        fi
 }
 
+config2_userdata_fqdn_and_hostname_body()
+{
+       mkdir -p media/nuageinit
+       setup_test_adduser
+       printf "{}" > media/nuageinit/meta_data.json
+       cat > media/nuageinit/user_data <<EOF
+#cloud-config
+fqdn: host.domain.tld
+hostname: host
+EOF
+       atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit 
config-2
+       atf_check -o inline:"hostname=\"host.domain.tld\"\n" cat 
${PWD}/etc/rc.conf.d/hostname
+       cat > media/nuageinit/user_data <<EOF
+#cloud-config
+hostname: host
+EOF
+       atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit 
config-2
+       atf_check -o inline:"hostname=\"host\"\n" cat 
${PWD}/etc/rc.conf.d/hostname
+}
+
 atf_init_test_cases()
 {
        atf_add_test_case args
@@ -861,4 +882,5 @@ atf_init_test_cases()
        atf_add_test_case config2_userdata_update_packages
        atf_add_test_case config2_userdata_upgrade_packages
        atf_add_test_case config2_userdata_shebang
+       atf_add_test_case config2_userdata_fqdn_and_hostname
 }

Reply via email to