Ensure required LockingMode parameter is set on VIF and fail the packer build if vif is failed to be created
This commit is contained in:
parent
ee25c7b42b
commit
04120e891a
@ -609,22 +609,17 @@ func (self *VM) SetPlatform(params map[string]string) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ConnectNetwork(c *Connection, networkRef xenapi.NetworkRef, vmRef xenapi.VMRef, device string) (*xenapi.VIFRef, error) {
|
func ConnectNetwork(c *Connection, networkRef xenapi.NetworkRef, vmRef xenapi.VMRef, device string) (*xenapi.VIFRef, error) {
|
||||||
// Create the VIF
|
|
||||||
// vif_rec["other_config"] = make(xmlrpc.Struct)
|
|
||||||
// vif_rec["qos_algorithm_params"] = make(xmlrpc.Struct)
|
|
||||||
|
|
||||||
vif, err := c.client.VIF.Create(c.session, xenapi.VIFRecord{
|
vif, err := c.client.VIF.Create(c.session, xenapi.VIFRecord{
|
||||||
Network: networkRef,
|
Network: networkRef,
|
||||||
VM: vmRef,
|
VM: vmRef,
|
||||||
MAC: "",
|
Device: device,
|
||||||
Device: device,
|
LockingMode: xenapi.VifLockingModeNetworkDefault,
|
||||||
MTU: 1504,
|
|
||||||
QosAlgorithmType: "",
|
|
||||||
})
|
})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
log.Printf("Created the following VIF: %s", vif)
|
||||||
|
|
||||||
return &vif, nil
|
return &vif, nil
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,8 @@ func (self *stepCreateInstance) Run(state multistep.StateBag) multistep.StepActi
|
|||||||
_, err = xscommon.ConnectNetwork(c, network, instance, "0")
|
_, err = xscommon.ConnectNetwork(c, network, instance, "0")
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ui.Say(err.Error())
|
ui.Error(fmt.Sprintf("Failed to create VIF with error: %v", err))
|
||||||
|
return multistep.ActionHalt
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user