[libvirt] [PATCH 7/7] conf: do not generate machine names ending with a dash

Ján Tomko jtomko at redhat.com
Tue Jan 14 07:35:41 UTC 2020


As of systemd commit:

commit d65652f1f21a4b0c59711320f34266c635393c89
Author:     Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
CommitDate: 2018-12-10 09:56:56 +0100

    Partially unify hostname_is_valid() and dns_name_is_valid()

Dashes are no longer allowed at the end of machine names.

Trim the trailing dashes from the generated name before passing
it to machined.

https://bugzilla.redhat.com/show_bug.cgi?id=1790409

Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 src/conf/domain_conf.c | 3 +++
 tests/virsystemdtest.c | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 1290241923..512b7c49d2 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -30467,6 +30467,9 @@ virDomainMachineNameAppendValid(virBufferPtr buf,
 
         virBufferAddChar(buf, *name);
     }
+
+    /* trailing dashes are not allowed */
+    virBufferTrimChars(buf, "-");
 }
 
 #undef HOSTNAME_CHARS
diff --git a/tests/virsystemdtest.c b/tests/virsystemdtest.c
index 9b95ca6789..26876850b8 100644
--- a/tests/virsystemdtest.c
+++ b/tests/virsystemdtest.c
@@ -740,6 +740,10 @@ mymain(void)
                  "qemu-7-123456789012345678901234567890123456789012345678901234567");
     TEST_MACHINE("123456789012345678901234567890123456789012345678901234567890", 8,
                  "qemu-8-123456789012345678901234567890123456789012345678901234567");
+    TEST_MACHINE("kstest-network-device-default-httpks_(c9eed63e-981e-48ec-acdc-56b3f8c5f678)", 100,
+                 "qemu-100-kstest-network-device-default-httpksc9eed63e-981e-48ec");
+    TEST_MACHINE("kstest-network-device-default-httpks_(c9eed63e-981e-48ec--cdc-56b3f8c5f678)", 10,
+                 "qemu-10-kstest-network-device-default-httpksc9eed63e-981e-48ec");
 
 # define TESTS_PM_SUPPORT_HELPER(name, function) \
     do { \
-- 
2.21.0




More information about the libvir-list mailing list