virtualbox: virtualbox-hostonly-no-dhcp flag to avoid creation of the dhcp server
Signed-off-by: Alessandro Siragusa <alessandro.siragusa@gmail.com>
This commit is contained in:
@@ -286,7 +286,7 @@ func addHostOnlyDHCPServer(ifname string, d dhcpServer, vbox VBoxManager) error
|
||||
command := "add"
|
||||
if dhcp, ok := dhcps[name]; ok {
|
||||
command = "modify"
|
||||
if (dhcp.IPv4.IP.Equal(d.IPv4.IP)) && (dhcp.IPv4.Mask.String() == d.IPv4.Mask.String()) && (dhcp.LowerIP.Equal(d.LowerIP)) && (dhcp.UpperIP.Equal(d.UpperIP)) && dhcp.Enabled {
|
||||
if (dhcp.IPv4.IP.Equal(d.IPv4.IP)) && (dhcp.IPv4.Mask.String() == d.IPv4.Mask.String()) && (dhcp.LowerIP.Equal(d.LowerIP)) && (dhcp.UpperIP.Equal(d.UpperIP)) && (dhcp.Enabled == d.Enabled) {
|
||||
// dhcp is up to date
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ const (
|
||||
defaultHostOnlyNictype = "82540EM"
|
||||
defaultHostOnlyPromiscMode = "deny"
|
||||
defaultUIType = "headless"
|
||||
defaultHostOnlyNoDHCP = false
|
||||
defaultDiskSize = 20000
|
||||
defaultDNSProxy = true
|
||||
defaultDNSResolver = false
|
||||
@@ -64,6 +65,7 @@ type Driver struct {
|
||||
HostOnlyNicType string
|
||||
HostOnlyPromiscMode string
|
||||
UIType string
|
||||
HostOnlyNoDHCP bool
|
||||
NoShare bool
|
||||
DNSProxy bool
|
||||
NoVTXCheck bool
|
||||
@@ -89,6 +91,7 @@ func NewDriver(hostName, storePath string) *Driver {
|
||||
HostOnlyNicType: defaultHostOnlyNictype,
|
||||
HostOnlyPromiscMode: defaultHostOnlyPromiscMode,
|
||||
UIType: defaultUIType,
|
||||
HostOnlyNoDHCP: defaultHostOnlyNoDHCP,
|
||||
DNSProxy: defaultDNSProxy,
|
||||
HostDNSResolver: defaultDNSResolver,
|
||||
BaseDriver: &drivers.BaseDriver{
|
||||
@@ -167,6 +170,11 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
|
||||
Value: defaultUIType,
|
||||
EnvVar: "VIRTUALBOX_UI_TYPE",
|
||||
},
|
||||
mcnflag.BoolFlag{
|
||||
Name: "virtualbox-hostonly-no-dhcp",
|
||||
Usage: "Disable the Host Only DHCP Server",
|
||||
EnvVar: "VIRTUALBOX_HOSTONLY_NO_DHCP",
|
||||
},
|
||||
mcnflag.BoolFlag{
|
||||
Name: "virtualbox-no-share",
|
||||
Usage: "Disable the mount of your home directory",
|
||||
@@ -230,6 +238,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
|
||||
d.HostOnlyNicType = flags.String("virtualbox-hostonly-nictype")
|
||||
d.HostOnlyPromiscMode = flags.String("virtualbox-hostonly-nicpromisc")
|
||||
d.UIType = flags.String("virtualbox-ui-type")
|
||||
d.HostOnlyNoDHCP = flags.Bool("virtualbox-hostonly-no-dhcp")
|
||||
d.NoShare = flags.Bool("virtualbox-no-share")
|
||||
d.DNSProxy = !flags.Bool("virtualbox-no-dns-proxy")
|
||||
d.NoVTXCheck = flags.Bool("virtualbox-no-vtx-check")
|
||||
@@ -832,7 +841,7 @@ func (d *Driver) setupHostOnlyNetwork(machineName string) (*hostOnlyNetwork, err
|
||||
dhcp.IPv4.Mask = network.Mask
|
||||
dhcp.LowerIP = net.IPv4(nAddr[0], nAddr[1], nAddr[2], byte(100))
|
||||
dhcp.UpperIP = net.IPv4(nAddr[0], nAddr[1], nAddr[2], byte(254))
|
||||
dhcp.Enabled = true
|
||||
dhcp.Enabled = !d.HostOnlyNoDHCP
|
||||
if err := addHostOnlyDHCPServer(hostOnlyAdapter.Name, dhcp, d.VBoxManager); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user