Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kubevirt for openSUSE:Factory 
checked in at 2022-12-20 20:21:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kubevirt (Old)
 and      /work/SRC/openSUSE:Factory/.kubevirt.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kubevirt"

Tue Dec 20 20:21:11 2022 rev:52 rq:1043919 version:0.58.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kubevirt/kubevirt.changes        2022-12-08 
16:52:30.743890930 +0100
+++ /work/SRC/openSUSE:Factory/.kubevirt.new.1835/kubevirt.changes      
2022-12-20 20:21:53.638340851 +0100
@@ -1,0 +2,6 @@
+Tue Dec 20 10:26:46 UTC 2022 - Vasily Ulyanov <vasily.ulya...@suse.com>
+
+- Use JSON syntax for slirp device
+  0002-network-Use-JSON-syntax-for-slirp-device.patch
+
+-------------------------------------------------------------------

New:
----
  0002-network-Use-JSON-syntax-for-slirp-device.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kubevirt.spec ++++++
--- /var/tmp/diff_new_pack.1IzsF4/_old  2022-12-20 20:21:54.178343810 +0100
+++ /var/tmp/diff_new_pack.1IzsF4/_new  2022-12-20 20:21:54.186343854 +0100
@@ -29,6 +29,7 @@
 Source3:        %{url}/releases/download/v%{version}/disks-images-provider.yaml
 Source100:      %{name}-rpmlintrc
 Patch0:         0001-guestfs-flag-to-set-uid-and-gid.patch
+Patch1:         0002-network-Use-JSON-syntax-for-slirp-device.patch
 BuildRequires:  glibc-devel-static
 BuildRequires:  golang-packaging
 BuildRequires:  pkgconfig

++++++ 0002-network-Use-JSON-syntax-for-slirp-device.patch ++++++
>From 8c4fa60175c11257b955553a0328b44e86a044d4 Mon Sep 17 00:00:00 2001
From: Andrea Bolognani <abolo...@redhat.com>
Date: Wed, 19 Oct 2022 19:32:45 +0200
Subject: [PATCH] network: Use JSON syntax for slirp device

Mixing the key=value syntax with the JSON syntax, which libvirt
now uses, leads to unpredictable results.

Signed-off-by: Andrea Bolognani <abolo...@redhat.com>
---
 pkg/network/domainspec/generators.go      |  5 +++--
 pkg/network/domainspec/generators_test.go | 12 ++++++++----
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/pkg/network/domainspec/generators.go 
b/pkg/network/domainspec/generators.go
index bf51be780..367d74fdd 100644
--- a/pkg/network/domainspec/generators.go
+++ b/pkg/network/domainspec/generators.go
@@ -230,11 +230,12 @@ func (b *SlirpLibvirtSpecGenerator) Generate() error {
                return fmt.Errorf("failed to find interface %s in vmi spec", 
b.vmiSpecIface.Name)
        }
 
-       qemuArg := fmt.Sprintf("%s,netdev=%s,id=%s", foundIfaceModelType, 
b.vmiSpecIface.Name, b.vmiSpecIface.Name)
+       qemuArg := fmt.Sprintf(`{"driver":%q,"netdev":%q,"id":%q`, 
foundIfaceModelType, b.vmiSpecIface.Name, b.vmiSpecIface.Name)
        if b.vmiSpecIface.MacAddress != "" {
                // We assume address was already validated in API layer so just 
pass it to libvirt as-is.
-               qemuArg += fmt.Sprintf(",mac=%s", b.vmiSpecIface.MacAddress)
+               qemuArg += fmt.Sprintf(`,"mac":%q`, b.vmiSpecIface.MacAddress)
        }
+       qemuArg += "}"
        // Add interface configuration to qemuArgs
        b.domain.Spec.QEMUCmd.QEMUArg = append(
                b.domain.Spec.QEMUCmd.QEMUArg,
diff --git a/pkg/network/domainspec/generators_test.go 
b/pkg/network/domainspec/generators_test.go
index 7867b7e25..4d2305d30 100644
--- a/pkg/network/domainspec/generators_test.go
+++ b/pkg/network/domainspec/generators_test.go
@@ -20,6 +20,7 @@
 package domainspec
 
 import (
+       "fmt"
        "io/ioutil"
        "net"
        "os"
@@ -84,18 +85,21 @@ var _ = Describe("Pod Network", func() {
                                
Expect(domain.Spec.Devices.Interfaces).To(BeEmpty())
                                
Expect(domain.Spec.QEMUCmd.QEMUArg).To(HaveLen(2))
                                
Expect(domain.Spec.QEMUCmd.QEMUArg[0]).To(Equal(api.Arg{Value: "-device"}))
-                               
Expect(domain.Spec.QEMUCmd.QEMUArg[1]).To(Equal(api.Arg{Value: 
"e1000,netdev=default,id=default"}))
+                               
Expect(domain.Spec.QEMUCmd.QEMUArg[1]).To(Equal(api.Arg{Value: 
`{"driver":"e1000","netdev":"default","id":"default"}`}))
                        })
 
                        It("Should append MAC address to qemu arguments if 
set", func() {
-                               
vmi.Spec.Domain.Devices.Interfaces[0].MacAddress = "de-ad-00-00-be-af"
+                               mac := "de-ad-00-00-be-af"
+                               device := 
fmt.Sprintf(`{"driver":"e1000","netdev":"default","id":"default","mac":%q}`, 
mac)
+
+                               
vmi.Spec.Domain.Devices.Interfaces[0].MacAddress = mac
                                specGenerator := 
NewSlirpLibvirtSpecGenerator(&vmi.Spec.Domain.Devices.Interfaces[0], domain)
                                Expect(specGenerator.Generate()).To(Succeed())
 
                                
Expect(domain.Spec.Devices.Interfaces).To(BeEmpty())
                                
Expect(domain.Spec.QEMUCmd.QEMUArg).To(HaveLen(2))
                                
Expect(domain.Spec.QEMUCmd.QEMUArg[0]).To(Equal(api.Arg{Value: "-device"}))
-                               
Expect(domain.Spec.QEMUCmd.QEMUArg[1]).To(Equal(api.Arg{Value: 
"e1000,netdev=default,id=default,mac=de-ad-00-00-be-af"}))
+                               
Expect(domain.Spec.QEMUCmd.QEMUArg[1]).To(Equal(api.Arg{Value: device}))
                        })
                        It("Should create an interface in the qemu command 
line, remove it from the interfaces and leave the other interfaces inplace", 
func() {
                                domain.Spec.Devices.Interfaces = 
append(domain.Spec.Devices.Interfaces, api.Interface{
@@ -114,7 +118,7 @@ var _ = Describe("Pod Network", func() {
                                
Expect(domain.Spec.Devices.Interfaces).To(HaveLen(1))
                                
Expect(domain.Spec.QEMUCmd.QEMUArg).To(HaveLen(2))
                                
Expect(domain.Spec.QEMUCmd.QEMUArg[0]).To(Equal(api.Arg{Value: "-device"}))
-                               
Expect(domain.Spec.QEMUCmd.QEMUArg[1]).To(Equal(api.Arg{Value: 
"e1000,netdev=default,id=default"}))
+                               
Expect(domain.Spec.QEMUCmd.QEMUArg[1]).To(Equal(api.Arg{Value: 
`{"driver":"e1000","netdev":"default","id":"default"}`}))
                        })
                })
                Context("Macvtap plug", func() {
-- 
2.39.0

Reply via email to