Merge pull request #3688 from asiragusa/master
virtualbox: virtualbox-hostonly-no-dhcp flag to avoid creation of the…
This commit is contained in:
@@ -38,6 +38,7 @@ Options:
|
||||
- `--virtualbox-hostonly-cidr`: The CIDR of the host only adapter.
|
||||
- `--virtualbox-hostonly-nictype`: Host Only Network Adapter Type. Possible values are are '82540EM' (Intel PRO/1000), 'Am79C973' (PCnet-FAST III) and 'virtio' Paravirtualized network adapter.
|
||||
- `--virtualbox-hostonly-nicpromisc`: Host Only Network Adapter Promiscuous Mode. Possible options are deny , allow-vms, allow-all
|
||||
- `--virtualbox-hostonly-no-dhcp`: Disable the Host Only DHCP Server
|
||||
- `--virtualbox-no-share`: Disable the mount of your home directory
|
||||
- `--virtualbox-no-dns-proxy`: Disable proxying all DNS requests to the host (Boolean value, default to false)
|
||||
- `--virtualbox-no-vtx-check`: Disable checking for the availability of hardware virtualization before the vm is started
|
||||
@@ -81,6 +82,7 @@ Environment variables and default values:
|
||||
| `--virtualbox-hostonly-cidr` | `VIRTUALBOX_HOSTONLY_CIDR` | `192.168.99.1/24` |
|
||||
| `--virtualbox-hostonly-nictype` | `VIRTUALBOX_HOSTONLY_NIC_TYPE` | `82540EM` |
|
||||
| `--virtualbox-hostonly-nicpromisc` | `VIRTUALBOX_HOSTONLY_NIC_PROMISC` | `deny` |
|
||||
| `--virtualbox-hostonly-no-dhcp` | `VIRTUALBOX_HOSTONLY_NO_DHCP` | `false` |
|
||||
| `--virtualbox-no-share` | `VIRTUALBOX_NO_SHARE` | `false` |
|
||||
| `--virtualbox-no-dns-proxy` | `VIRTUALBOX_NO_DNS_PROXY` | `false` |
|
||||
| `--virtualbox-no-vtx-check` | `VIRTUALBOX_NO_VTX_CHECK` | `false` |
|
||||
|
||||
@@ -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