Skip to content

Commit 641f093

Browse files
committed
cleanup: don't panic and return proper error
1 parent c1edd2f commit 641f093

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

libvirt/network_def.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,16 @@ func getXMLNetworkDefFromLibvirt(virConn *libvirt.Libvirt, network libvirt.Netwo
4747
}
4848

4949
// Creates a network definition with the defaults the provider uses.
50-
func newNetworkDef() libvirtxml.Network {
51-
const defNetworkXML = `
50+
func newNetworkDef() (libvirtxml.Network, error) {
51+
return newDefNetworkFromXML(`
5252
<network>
5353
<name>default</name>
5454
<forward mode='nat'>
5555
<nat>
5656
<port start='1024' end='65535'/>
5757
</nat>
5858
</forward>
59-
</network>`
60-
if d, err := newDefNetworkFromXML(defNetworkXML); err != nil {
61-
panic(fmt.Sprintf("Unexpected error while parsing default network definition: %s", err))
62-
} else {
63-
return d
64-
}
59+
</network>`)
6560
}
6661

6762
func getHostXMLDesc(ip, mac, name string) string {

libvirt/network_def_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"testing"
77

88
"github.com/davecgh/go-spew/spew"
9+
"github.com/stretchr/testify/require"
910
"libvirt.org/go/libvirtxml"
1011
)
1112

@@ -14,7 +15,9 @@ func init() {
1415
}
1516

1617
func TestDefaultNetworkMarshall(t *testing.T) {
17-
b := newNetworkDef()
18+
b, err := newNetworkDef()
19+
require.NoError(t, err)
20+
1821
buf := new(bytes.Buffer)
1922
enc := xml.NewEncoder(buf)
2023
enc.Indent(" ", " ")

libvirt/resource_libvirt_network.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,11 @@ func resourceLibvirtNetworkCreate(ctx context.Context, d *schema.ResourceData, m
342342
// see https://libvirt.org/formatnetwork.html
343343
virConn := meta.(*Client).libvirt
344344

345-
networkDef := newNetworkDef()
345+
networkDef, err := newNetworkDef()
346+
if err != nil {
347+
return diag.FromErr(err)
348+
}
349+
346350
networkDef.Name = d.Get("name").(string)
347351
networkDef.Domain = getDomainFromResource(d)
348352

0 commit comments

Comments
 (0)